Frågan#1
hej.
har en bok och försöker lära mig håller på med en liten lägga till/visa bok db övningsgrej. problemet är att jag vill styra det med sessioner så att valen förblir ikryssade (de aktiverade), men jag reder inte ut det. antagligen är sessionsbiten helt utspårad
från början (dvs då man först kommer in på siten) vill jag att den ska lista posterna efter författare ASC, detta gör den inte. sen när man trycker inställningar ska detta varit ikyrssat i radioknapparna redan. man ska då kunna ändra listningsordning och sen spara så ska listning uppdateras. men detta funkar ej. har föröskt spara valen i en session. men som sagt det vill sig inte..
tacksam för all hjälp till en rookie..
1:
2:
3: session_start();
4:
5: $dator = "***";
6: $id = "***";
7: $losen = "***";
8: $db = "***";
9:
10: mysql_connect($dator, $id, $losen) or die("<span class=\"red\"><b>Error. Ingen kontakt med server.</b></span>");
11: mysql_select_db($db) or die("<span class=\"red\"><b>Error. Ingen kontakt med db.</b></span>");
12:
13:
14: if(isset($_POST['form'])) {
15: form();
16: }
17:
18:
19:
20: if(isset($_POST['settings'])) {
21: settings();
22: }
23:
24:
25: if(isset($_POST['submit'])) {
26: check($_POST['titel'], $_POST['forf'], $_POST['pris'], $_POST['komm']);
27: }
28:
29: function form () {
30: global $errormsg;
31: print("
32: <table width=\"300\" border=\"0\" bgcolor=\"#999999\">
33: <form method=\"post\" action=\"\" name=\"skriv\">
34: <tr><td>
35: <table>
36: <tr><td colspan=\"2\" valign=top><b>Lägg till en ny bok i databasen</b><br>$errormsg</td></tr>
37: </table>
38: </td></tr>
39: <tr><td>
40: <table>
41: <tr><td valign=top><b>Boktitel</b></td>
42: <td><input type=\"text\" name=\"titel\"></td></tr>
43: <tr><td width=\"70\" valign=top><b>Författare</b></td>
44: <td><input type=\"text\" name=\"forf\"></td></tr>
45: <tr><td valign=top><b>Pris</b></td>
46: <td><input type=\"text\" name=\"pris\"></td></tr>
47: <tr><td valign=top><b>Kommentar</b></td>
48: <td><input type=\"text\" name=\"komm\"><br>
49: <input type=\"submit\" class=\"knapp\" name=\"submit\" value=\"Hit me!\"></td></tr>
50: </table>
51: </td></tr>
52: </table><p>");
53: }
54:
55: function check ($t, $f, $p, $k) {
56: if($t == "" OR $f == "" OR $p == "" OR $k == "") {
57: // variabeln görs global för att kunna användas inuti denna funktion
58: global $errormsg;
59: $errormsg = "<span class=\"red\"><b>Error. Du måste fylla i alla fält.</b></span>";
60: form();
61: } else {
62: $sql = "insert into boklager (författare, boktitel, pris, kommentar) values ('$_POST[forf]', '$_POST[titel]', '$_POST[pris]', '$_POST[komm]')";
63: mysql_query($sql) or die("<span class=\"red\"><b>Error. Uppgiften gick ej att skriva in.</b></span>");
64: }
65: }
66:
67: function settings () {
68:
69: GLOBAL $hur;
70: GLOBAL $ord;
71:
72: print("
73: <FORM METHOD=POST ACTION=\"\">
74: <table width=\"300\" border=\"0\" bgcolor=\"#999999\">
75: <tr><td>
76: <b>Inställningar</b><p>
77: I vilken ordning vill du sortera böckerna:<br>
78: <input type=\"radio\" name=\"ordning\" value=\"stigande\" checked=\"$_SESSION[stigande]\">Stigande
79: <input type=\"radio\" name=\"ordning\" value=\"fallande\" checked=\"$_SESSION[fallande]\">Fallande
80: <p>Efter vad vill du sortera böckerna:<br>
81: <input type=\"radio\" name=\"sortera\" value=\"forf\" checked=\"$_SESSION[forf]\">Författare
82: <input type=\"radio\" name=\"sortera\" value=\"titel\" checked=\"$_SESSION[titel]\">Boktitel
83: <p><INPUT TYPE=\"submit\" NAME=\"visa\" class=\"knapp\" VALUE=\"Spara!\">
84: </td></tr></table></form>");
85:
86: if($_POST['ordning']) {
87: switch($_POST['ordning']) {
88: case("stigande"):
89: $stigande = "true";
90: $ord = "DESC";
91: break;
92: case("fallande"):
93: $fallande = "true";
94: $ord = "ASC";
95: break;
96: }
97: } else {
98: $fallande = "true";
99: $ord = "ASC";
100: }
101:
102: if($_POST['sortera']) {
103: switch($_POST['sortera']) {
104: case("forf"):
105: $forf = "true";
106: $hur = "författare";
107: break;
108: case("titel"):
109: $titel = "true";
110: $hur = "boktitel";
111: break;
112: }
113: } else {
114: $forf = "true";
115: $hur = "författare";
116: }
117:
118: session_register("stigande", "fallande", "forf", "titel", "ord", "hur");
119:
120: $_SESSION['stigande'] = $stigande;
121: $_SESSION['fallande'] = $fallande;
122: $_SESSION['forf'] = $forf;
123: $_SESSION['titel'] = $titel;
124: $_SESSION['ord'] = $ord;
125: $_SESSION['hur'] = $hur;
126: }
127:
128:
129: function visa () {
130:
131: if($_GET['del']) {
132: $sql = "delete from boklager where id='$_GET[del]'";
133: mysql_query($sql) or die("<span class=\"red\"><b>Error. Det gick ej att radera.</b></span>");
134: }
135:
136: print("
137: <FORM METHOD=POST ACTION=\"\">
138: <p><INPUT TYPE=\"submit\" NAME=\"form\" class=\"knapp\" VALUE=\"Lägg till ny bok\">
139: <INPUT TYPE=\"submit\" NAME=\"settings\" class=\"knapp\" VALUE=\"Inställningar\">
140: </FORM><p>");
141:
142: GLOBAL $hur;
143: GLOBAL $ord;
144:
145: $sql = "SELECT * FROM boklager ORDER BY '" . $hur . "' '" . $ord . "'";
146: $result=mysql_query($sql) or die("<span class=\"red\"><b>Error. Kunde inte hämta uppgifter.</b></span>");
147:
148: while ($r = mysql_fetch_array($result)) {
149: $id = $r['id'];
150: $forf = $r['författare'];
151: $titel = $r['boktitel'];
152: $pris = $r['pris'];
153: $komm = $r['kommentar'];
154:
155: print("
156: <table width=\"300\" border=\"1\" bordercolor=\"#000000\">
157: <tr><td>
158: <table>
159: <tr><td valign=top><b>Titel</b></td>
160: <td><i>$titel</i></td></tr>
161: <tr><td width=\"70\" valign=top><b>Författare</b></td>
162: <td>$forf</td></tr>
163: <tr><td valign=top><b>Pris</b></td>
164: <td>$pris:-</td></tr>
165: <tr><td valign=top><b>Kommentar</b></td>
166: <td>$komm</td></tr>
167: </table></td></tr>
168: <tr><td>
169: <table>
170: <tr><td colspan=\"2\" valign=top><b><a href=\"hek.php?del=$id\" onClick='return checkDel();'\">Ta bort post</a></b></td>
171: </tr></table></td></tr>
172: </table><p>");
173: }
174: }
175:
176: visa();
177:
178: