webForumDet fria alternativet

spara och uppdatera vars i en session

PHP

0 svar · 185 visningar · startad av sub

Medlem sedan juli 200215 inlägg
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:
263 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)