Avatar billede kirsten Nybegynder
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
Avatar billede tipsen Nybegynder
13. juni 2003 - 12:32 #1
$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...
Avatar billede kirsten Nybegynder
13. juni 2003 - 12:36 #2
Jeps jeg vidste det...
Jeg får ikke overført variablen $HTTP_POST_VARS["navn"];

?
Avatar billede kirsten Nybegynder
13. juni 2003 - 12:38 #3
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);
}
Avatar billede detox Nybegynder
13. juni 2003 - 12:46 #4
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.
Avatar billede fri-hash Nybegynder
13. juni 2003 - 12:47 #5
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?)
Avatar billede eky Nybegynder
13. juni 2003 - 12:47 #6
Skal der ikke quotes om navn?
if($usergroup == "Admin"){
header("Location:admin.php?user=$_POST['navn']");
exit;
Avatar billede kirsten Nybegynder
13. juni 2003 - 12:48 #7
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!
Avatar billede detox Nybegynder
13. juni 2003 - 12:55 #8
Men i alle tilfælde er det $user vi får overført her:
header("Location:admin.php?user=$_POST['navn']");
ikke sandt?
Avatar billede kirsten Nybegynder
13. juni 2003 - 12:56 #9
NEEEJJJ jeg har dummet mig...
forkert tabel...

så er der dømt kvaje bajere..

sorry! :s
Avatar billede kirsten Nybegynder
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;
}
Avatar billede tipsen Nybegynder
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!
Avatar billede myplacedk Nybegynder
14. juni 2003 - 11:27 #12
Prøv med $_POST i stedet for $HTTP_POST_VARS.
Avatar billede detox Nybegynder
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;
Avatar billede micki Nybegynder
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.
Avatar billede detox Nybegynder
15. juni 2003 - 02:43 #15
eller rettere:
$navn = $HTTP_GET_VARS["user"];
jvf.: admin.php?user=etnavn
Avatar billede kirsten Nybegynder
26. oktober 2003 - 10:08 #16
Sorry for den MEEGGGEEETT lange svar tid!
Avatar billede detox Nybegynder
26. oktober 2003 - 10:18 #17
Hvad var så løsningen?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester