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
nog een php redirect vraagje, het wil maar niet lukken
moest je nu een zip of tar.gz posten bekeek ik het direct
Ik ben gene php expert, maar volgens mij zit de fout in de volgende regel:
Volgens mij moet het dit zijn:
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 . "'");
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
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) 46 keer gedownload
Probeer dit eens:
Code: Selecteer alles
if($login_check > 0){
header("Location: " . mysql_result($sql, 0, "redirect"));
} else {
...
}
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
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.
- meon
- 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:
( 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'];
}