13. juni 2003 - 12:23
Der er
14 kommentarer og 3 løsninger
problemer med overførelse af variabel!
Jeg har en form hvor der er en funktion: if($usergroup == "Admin"){ header("Location:admin.php?user=$_POST[navn]"); exit; den ryger videre til en ny side som kunne hedde: admin.php?user=etnavn på admin siden er der en function() med noget mysql som skal hive row user_group ud fra row navn, men jeg får fejl i scriptet.. function visgruppe() { $navn = $HTTP_POST_VARS["navn"]; $connection = mysql_connect("", "", ""); $db = ""; $result = mysql_db_query($db, "SELECT * FROM user_system WHERE navn='$navn'", $connection); while($row = mysql_fetch_array($result)) { echo $row["user_group"]; } mysql_free_result($result); } Er ikke helt sikker på om det er php eller mysql som laver fejl? Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/www/user_system/tjeklogin.php on line 38 Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /usr/local/www/user_system/tjeklogin.php on line 41
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
$result = mysql_db_query($db, "SELECT * FROM user_system WHERE navn='$navn'", $connection) or die(mysql_error()); -så kan du finde ud af hvor fejlen kommer fra...
Jeps jeg vidste det... Jeg får ikke overført variablen $HTTP_POST_VARS["navn"]; ?
Unknown column 'user' in 'where clause' function visgruppe() { $user = $HTTP_POST_VARS["navn"]; $connection = mysql_connect("", "", ""); $db = ""; $result = mysql_db_query($db, "SELECT * FROM user_system WHERE user='$navn'", $connection) or die(mysql_error()); while($row = mysql_fetch_array($result)) { echo $row["user_group"]; } mysql_free_result($result); }
Så vidt jeg kan se er det variablen $user du overfører i din header, så måske du skal prøve med: function visgruppe() { $navn = $HTTP_POST_VARS["user"]; $connection = mysql_connect("", "", ""); $db = ""; Du kan evt. tjekke output på $navn.
det er ikke variablen du ikke får overført - "Unknown column 'user' in 'where clause'" betyder at der ikke er nogen kolonne i user_system der hedder user (måske den hedder navn?)
Skal der ikke quotes om navn? if($usergroup == "Admin"){ header("Location:admin.php?user=$_POST['navn']"); exit;
Arrggghh jeg har rettet lidt, for user findes ikke i tabellen, men det gør navn og den gir samme fejl.. at den ikke findes!
Men i alle tilfælde er det $user vi får overført her: header("Location:admin.php?user=$_POST['navn']"); ikke sandt?
NEEEJJJ jeg har dummet mig... forkert tabel... så er der dømt kvaje bajere.. sorry! :s
13. juni 2003 - 12:58
#10
hmm nu skriver den intet i outputtet....? admin function visgruppe() { $connection = mysql_connect("", "", ""); $db = ""; $result = mysql_db_query($db, "SELECT * FROM brugere WHERE navn='$navn'", $connection) or die(mysql_error()); while($row = mysql_fetch_array($result)) { echo $row["user_group"]; } mysql_free_result($result); } login if($usergroup == "Admin"){ header("Location:admin.php?navn=$_POST[navn]"); exit; }
13. juni 2003 - 13:00
#11
Fra manualos: Note: This function has been deprecated since PHP 4.0.6. Do not use this function. Use mysql_select_db() and mysql_query() instead. Dvs. prøv: mysql_select_db($db, $connection) or die(mysql_error()); $sql = "SELECT * FROM user_system WHERE navn='$navn'"; mysql_query($sql, $connection) or die($sql . '<br>' . mysql_error()); -og husk at feltnavne, tabelnavne osv. er case-sensitive i MySQL!
14. juni 2003 - 11:27
#12
Prøv med $_POST i stedet for $HTTP_POST_VARS.
14. juni 2003 - 11:52
#13
Måske skal du holde den uden for Header funktionen, sådan her: if($usergroup == "Admin"){ $Url = "Location:admin.php?user=$_POST[navn]"; header($Url); exit;
15. juni 2003 - 02:34
#14
Prøv at rette: $navn = $HTTP_POST_VARS["navn"]; til $navn = $HTTP_GET_VARS["navn"]; - da de ikke bliver posted på den måde du sender brugeren videre.
15. juni 2003 - 02:43
#15
eller rettere: $navn = $HTTP_GET_VARS["user"]; jvf.: admin.php?user=etnavn
26. oktober 2003 - 10:08
#16
Sorry for den MEEGGGEEETT lange svar tid!
26. oktober 2003 - 10:18
#17
Hvad var så løsningen?
Vi tilbyder markedets bedste kurser inden for webudvikling