nog een php redirect vraagje, het wil maar niet lukken

Plaats reactie
verdickt
Premium Member
Premium Member
Berichten: 647
Lid geworden op: 12 maa 2004, 22:24

ik heb de 3 files in een rar bestandje gezet.

Ik heb problemen met het chechuser gedeelte

ik kan perfect inloggen maar de redirect wil maar niet lukken

Momenteel staat er een vaste waarde in

( onlineshop\catalog\index ?? )

In mijn database heb ik een tabel aanmelden ( voorzien van )
userid, username,password en redirect

De redirect is verschillend per user

en het is deze waarde die in het veld redirect staat, gebruikt zou moeten worden en de header location maar ik krijg het maar niet voor elkaar.

Volgens mij is het maar een klein foutje maar ik heb er mij al suf op gezocht. ( ik ben dan ook een newbie )

Ik hoop dat er iemand raad weet
Bijlagen
redirect probleem.rar
(1.21 KiB) 62 keer gedownload
airzimmy
Erelid
Erelid
Berichten: 1047
Lid geworden op: 19 sep 2002, 14:01
Contacteer:

moest je nu een zip of tar.gz posten bekeek ik het direct
Lukse
Premium Member
Premium Member
Berichten: 662
Lid geworden op: 28 okt 2003, 20:51

Ik ben gene php expert, maar volgens mij zit de fout in de volgende regel:

Code: Selecteer alles

$sql = mysql_query("SELECT password,redirect FROM aanmelden WHERE username='$username' AND password='$password'");

Volgens mij moet het dit zijn:

Code: Selecteer alles

$sql = mysql_query("SELECT password,redirect FROM aanmelden WHERE username='" . $username . "' AND password='" . $password . "'");
verdickt
Premium Member
Premium Member
Berichten: 647
Lid geworden op: 12 maa 2004, 22:24

aan de select statement want inloggen werkt perfect.

het probleem is dat de redirect niet goed werkt

/ Nagaan of gebruiker en wachtwoord overeenkomt + ophalen van de redirect url
$sql = mysql_query("SELECT password,redirect FROM aanmelden WHERE username='$username' AND password='$password'");
$login_check = mysql_num_rows($sql);

if($login_check > 0){

header("Location: http://127.0.0.1/onlineshop/catalog/index.php?cPath=1");
}
else {
echo "U kan niet worden aangemeld! Controleer of uw gebruikersnaam en of wachtwoord wel correct is!<br />
Probeer nogmaals!<br />";
include 'index.htm';
}
?>

Zoals het hierboven staat kom ik met de juiste login en wachtwoord inderdaad terecht op:
http://127.0.0.1/onlineshop/catalog/index.php?cPath=1

Maar dan kom ik voor elke user op deze locatie en dit is niet de bedoeling:
de locatie waar ze moeten terecht komen zit in de redirect in de tabel aanmelden.

Ik dacht dat het iets moest worden in de trend van:

if($login_check > 0){

header("Location: ".$sqlredirect"]);
}
else {
.......

Maar als ik het zo doe kom ik terecht op de pagina:
http://127.0.0.1/onlineshop/

Dus dit ik ook niet goed
Bijlagen
redirect.zip
(1.29 KiB) 47 keer gedownload
Lukse
Premium Member
Premium Member
Berichten: 662
Lid geworden op: 28 okt 2003, 20:51

Probeer dit eens:

Code: Selecteer alles

if($login_check > 0){
  header("Location: " . mysql_result($sql, 0, "redirect"));
} else {
...
}
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

Ge vraagt nergens op welke redirect hij zou moeten gebruiken eh.

... en ik zie dat Lukse net geantwoord heeft.
verdickt
Premium Member
Premium Member
Berichten: 647
Lid geworden op: 12 maa 2004, 22:24

Lukse schreef:Probeer dit eens:

Code: Selecteer alles

if($login_check > 0){
  header("Location: " . mysql_result($sql, 0, "redirect"));
} else {
...
}


Ok dit werkt perfect

mysql_result($sql, 0, "redirect"));

die 0 , slaat die op het eerste resultaat in een array of vergis ik me hier

Ik leer liever iets bij dan gewoon maar over te typen

en nog eens bedankt
Lukse
Premium Member
Premium Member
Berichten: 662
Lid geworden op: 28 okt 2003, 20:51

verdickt schreef:mysql_result($sql, 0, "redirect"));

die 0 , slaat die op het eerste resultaat in een array of vergis ik me hier

Helemaal correct.
Als een query meerdere records teruggeeft, kunt ge daar zo doorheen loopen.
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

natuurlijk is mysql_fetch_array een heel stuk efficiënter dan dit.
( http://be2.php.net/mysql_fetch_array ).

Een voorbeeld van hoe je dat gebruikt:

Code: Selecteer alles

$sql_users = "SELECT * FROM users WHERE username = '".$_POST['username'] LIMIT 1";";
$result_users = mysql_query($sql_users) or die(mysql_error()."<br>".$sql_users);
while ($row_users = mysql_fetch_array($result_users)) {
  echo $row_users['voornaam'];
}
verdickt
Premium Member
Premium Member
Berichten: 647
Lid geworden op: 12 maa 2004, 22:24

moet ik wat vaker doen.

de uitleg is blijkbaar erg goed

pagina is toegevoegd aan mijn favorieten
Plaats reactie

Terug naar “Development”