28. november 2006 - 23:34
Der er
44 kommentarer og 2 løsninger
Lige et lille spørgsmål ?
<? include("head.php"); ?> <? if($_GET[id]) { mysql_query("UPDATE brugere SET layout='.$_GET[id].' WHERE userId='.$_SESSION[userId].'")or die(mysql_error()); } else if($_GET[reset]) { mysql_query("UPDATE brugere SET layout=0 WHERE userId='.$_SESSION[userId].'")or die(mysql_error()); } ?> <br /> <h3>Ændre Layout på blabla.dk:</h3> <br /><center> <table width="500" id="layout"> <tr> <td class=layout><a href="changelayout.php?reset"><img src="pix/layouts/standard.gif"></td> <td class=layout><a href="changelayout.php?id=1"><img src="pix/layouts/standard.gif"></td> <td class=layout>huhu</td> <td class=layout>huhu</td> <td class=layout>huhu</td> </tr> </table> </center> <? include("foot.php"); ?> Nogle der kan fortælle mig hvorfor den ikke updater i db ? :S
Annonceindlæg fra Deloitte
28. november 2006 - 23:35
#1
Den burde vel at ændre id i db til 1 hvis man changelayout.php?id=1 men den gør ingenting ved mysql
28. november 2006 - 23:39
#2
<a href="changelayout.php?id=1"><img src="pix/layouts/standard.gif"> altså hvis linket ser sådan her ud.
29. november 2006 - 01:19
#3
Husk først at afslutte dine links med </a>. Altså: <a href="changelayout.php?id=1"><img src="pix/layouts/standard.gif"></a> Er du sikker på at SESSION[userID] indeholder noget? Kan du evt. tjekke ved: echo $_SESSION['userID'];
29. november 2006 - 02:04
#4
Ja $_SESSION[userId]; inholder det userid som jeg har når jeg er logget ind :) Så den virker som den skal ? Og linksne er rettet :)
29. november 2006 - 02:04
#5
Har tjekket session med echo så det virker
29. november 2006 - 02:11
#6
Damn jeg er stavespasser når jeg er træt :P
29. november 2006 - 04:17
#7
Det er fra en form ikke også? Har du husket at skrive method="get" og ikke method="post" i din form? //mcardle
29. november 2006 - 04:24
#8
Prøv det her og husk at oprette forbindelse til din mysql-database: <? include("head.php"); if($_GET["id"]) { $id = mysql_escape_string($_GET["id"]); $userId = $_SESSION["userId"]; mysql_query("UPDATE brugere SET layout='$id' WHERE userId='$userId'")or die(mysql_error()); } else if($_GET["reset"]) { mysql_query("UPDATE brugere SET layout=0 WHERE userId='$userId'")or die(mysql_error()); } ?> <br /> <h3>Ændre Layout på blabla.dk:</h3> <br /><center> <table width="500" id="layout"> <tr> <td class=layout><a href="changelayout.php?reset"><img src="pix/layouts/standard.gif"></td> <td class=layout><a href="changelayout.php?id=1"><img src="pix/layouts/standard.gif"></td> <td class=layout>huhu</td> <td class=layout>huhu</td> <td class=layout>huhu</td> </tr> </table> </center> <? include("foot.php"); ?> //mcarlde
29. november 2006 - 04:26
#9
Det kan forøvrigt godt være det er nødtil at stå før din if: <? include("head.php"); $id = mysql_escape_string($_GET["id"]); $userId = $_SESSION["userId"]; if($_GET["id"]) { mysql_query("UPDATE brugere SET layout='$id' WHERE userId='$userId'")or die(mysql_error()); } else if($_GET["reset"]) { mysql_query("UPDATE brugere SET layout=0 WHERE userId='$userId'")or die(mysql_error()); } ?> <br /> <h3>Ændre Layout på blabla.dk:</h3> <br /><center> <table width="500" id="layout"> <tr> <td class=layout><a href="changelayout.php?reset"><img src="pix/layouts/standard.gif"></td> <td class=layout><a href="changelayout.php?id=1"><img src="pix/layouts/standard.gif"></td> <td class=layout>huhu</td> <td class=layout>huhu</td> <td class=layout>huhu</td> </tr> </table> </center> <? include("foot.php"); ?> Så skulle den være der.
29. november 2006 - 09:56
#10
I head.php bliver der oprettet forbindelse til mysql :)
29. november 2006 - 09:58
#11
Sådan der mcardle ? :) Så virkede det sQ. Men kan du fortælle mig hvorfor der lige skulle det der på ? :S
29. november 2006 - 10:00
#12
Oki reset virker ikke :S
29. november 2006 - 10:03
#13
det kunne muligvis også have virket hvis du havde brugt " i stedet for ' i din update-query: eks: mysql_query("UPDATE brugere SET layout=".$_GET[id]." WHERE userId=".$_SESSION[userId]."")or die(mysql_error()); Det skulle forresten være lige meget om $id = mysql_escape_string($_GET["id"]); $userId = $_SESSION["userId"]; står indenfor eller udenfor if'en
29. november 2006 - 10:04
#14
prøv at trække det sammen så der står elseif($_GET["reset"]) i stedet for else if($_GET["reset"])
29. november 2006 - 10:06
#15
Er prøvet. Gav intet resultat :(
29. november 2006 - 10:08
#16
lav dit link om så der står reset=1
29. november 2006 - 10:11
#17
burde det være nødvendig hvis jeg kalder reset i toppen hvor der står i mysql_query(UPDATE brugere SET layout=0 ? :S Ikke for at modsætte mig men bare for at hører ?
29. november 2006 - 10:11
#18
Så er det prøvet og det virker heller ikke
29. november 2006 - 10:14
#19
du kan også sætte den til 0, jeg mener bare at for at if($_GET["reset"]) skal blive true skal der stå noget i $_GET["reset"] og det gør der ikke nu
29. november 2006 - 10:14
#20
du kunne også prøve at lave det samme som mcardle har gjort med id
29. november 2006 - 10:16
#21
Som hvad foreksempel ? :S
29. november 2006 - 10:16
#22
Altså jeg kunne jo bare ændre linket til id=0 men kunne bare godt tænke mig at få reset til at virke :)
29. november 2006 - 10:20
#23
det jeg mente var at du prøve det her: $reset = mysql_escape_string($_GET["reset"]); men kan du ikke prøve det her: echo $_GET["reset"]; evt. sætte den ind lige før den update-query'en
29. november 2006 - 10:21
#24
det vil faktisk sige at ikke engang med ID kan jeg få den til at ændre sig til 0 som er standard :(
29. november 2006 - 10:23
#25
jojo det med at bruge id=0 kan sagtens lade sig gøre
29. november 2006 - 10:26
#26
Nu har jeg sat en echo ind foran mysql_query og når jeg trykker på den sender den ikke echoet :S
29. november 2006 - 10:27
#27
hmm okay den ændre ihvertfald bare ingenting hvis jeg laver linket så den hedder ?id=0 til sidst. i db bliver bare ved med at ha 1 som layout id
29. november 2006 - 10:27
#28
hvilken mysql_query har du sat den foran?
29. november 2006 - 10:29
#29
den med reset ?
29. november 2006 - 10:31
#30
Det mærkelige er at hvis jeg ændre id=2 så der står 2 i min layout i db og så ændre linket til 1 igen så går den ned på 1. men ændre jeg linket til id=0 sker der ikke en skid ? Har det nået at gøre med at 0 er en speciel værdi eller ? :S
29. november 2006 - 10:42
#31
hmm det kan være at den validere til false hvis der står 0...
29. november 2006 - 10:44
#32
Det gør den jo nok ? men kan man ikke gøre nået ved det ?
29. november 2006 - 10:58
#33
Burde den egentligtalt ikke komme ud med en mysql fejl om at det id man prøver at sætte den til er en fejl ? :S
29. november 2006 - 11:02
#34
det tror jeg ikke. problemet er at den ikke kan blive true i if'en hvis den er sat til 0 prøv at lave det om til if(isset($_GET["reset"]) && $_GET["reset"] != '') {
29. november 2006 - 11:04
#35
Ja og så imellem de 2 "" skal der vel stå 0 eller ?
29. november 2006 - 11:06
#36
SÅDAN DER :P Oki men kan du forklare mig hvorfor der i else if skulle bruges det som du lige har givet mig og hvorfor der i det som mcardle har brugt skulle sættes det på ? Før det virkede ? :S
29. november 2006 - 11:23
#37
øhh jeg kan forsøge.. men jeg er elendig til at forklare ting, så er du advaret ;o) if($_GET["reset"]) { kommer jo til at være if() { eller if(0) { og så bliver den jo false og derfor udføres koden mellem { } aldrig. rettelsen som mcardle laver er egentlig ikke nødvendig som jeg skrev 29/11-2006 10:03:04, men den er ret god da den beskytter mod SQL-injection Desuden kunne det måske også være at du skal ændre if($_GET["id"]) til if($id != '')
29. november 2006 - 11:30
#38
hmm okay ? :S Men hva så hvis den id som de prøver at finde ikke findes. Kan man så lave så de får en besked hvor der står den ikke findes ?? altså ud fra det jeg har lavet nu ? f.eks en else ? Er nemlig ikke så go til PHP endnu
29. november 2006 - 11:33
#39
jeg kan godt prøve at lave noget til dig, men jeg er nødt til at vide mere om hvordan du har lavet det med layout. Har du en tabel med layout-id'er eller hvordan vælger du de forskellige layouts ud fra det tal der står i tabellen brugere?
29. november 2006 - 11:33
#40
Nå jeg er desværre nødt til at smutte. Skal til Doktormand skrives senere og tak for hjælpen indtil videre mcardle og sw red 6
29. november 2006 - 14:05
#41
Så er jeg her igen sw. Jeg vil gerne selv lave det :P Skal jo lærer det, men skal bare vide hvordan :P
29. november 2006 - 18:22
#42
Men nu har jeg siddet og strikket nået sammen, men det giver sQ ikke rigtig resultat :S
29. november 2006 - 22:48
#43
hmm en af jer der vil ha nogle point :) Har fikset det med fejl også :)
30. november 2006 - 01:53
#44
Points er altid gode ;-)
30. november 2006 - 08:46
#45
du kan da også få et svar fra mig
30. november 2006 - 10:26
#46
Tak til jer begge :)
Vi tilbyder markedets bedste kurser inden for webudvikling