login che indirizza gli utenti verso pagine diverse in base alla password immessa

tanaka

Nuovo Utente
13 Feb 2009
28
0
0
Ciao a tutti . Sono un neofita assoluto di programmazione in generale e mi stò dilettando con PHP .

Ho un problema che non riesco a capire e mi servirebbe il vostro aiuto .

Vi spiego : dovrei realizzare un login in PHP utilizzando Mysql . Il login deve essere reindirizzato verso pagine differenti in base all’ utente . Ho pensato di creare una tabella molto semplice di nome “login” dove ho come colonne : id , username , password , redirect .
Nella colonna redirect contavo di scrivere gli url ai quali vorrei reindirizzare gli utenti che si loggano ( una volta verificata l’ identita con user e password , ovviamente ) .

Già qui il primo dubbio : devo scrivere gli url nella classica forma http://www.sitodalinkare.com , oppure come ?

Ho trovato qualcosa in rete e l’ ho adattato alle mie esigenze , ma purtroppo non funziona in quanto non si sposta mai dalla pagina di login e non capisco il perché . Nemmeno se sbaglio volutamente il login visiono la pagina di errore presente nello script e nel contempo , se metto i dati corretti , resta ugualmente ferma lì … come mai ? Ve lo posto :


<?
$dbh=mysql_connect ("localhost", "miouserdatabase", "miapassworddatabase") or die ('Non posso connettermi al database perchè : ' . mysql_error());
mysql_select_db ("nomedelmiodatabase");
if(!isset($username) ||!isset($password)) {

// esce dal php e mostra la pagina di login

?>
<html>
<head>
<title>Login</title>
<head>
<body>
<form action="<?=$php_SELF?><?if($QUERY_STRING){ echo"?". $QUERY_STRING;}?>" method="POST">
<p align="center">L' ingresso è riservato . Si prega di inserire i propri dati.</p>
<table align="center" border="0">
<tr>
<th>
Username:
</th>
<th>
<input type="text" name="username">
</th>
</tr>
<tr>
<th>
password:
</th>
<th>
<input type="password" name="password">
</th>
</tr>
<tr>
<th colspan="2" align="right">
<input type="submit" value="Login">
</form>
</th>
</tr>
</table>
</body>
</html>
<?
exit();
}

// inizio la query al database

$sql = mysql_query("SELECT password,redirect FROM login WHERE username = '$username'");
$fetch_em = mysql_fetch_array($sql);
$numrows = mysql_num_rows($sql);
if($numrows!= "0" & $password == $fetch_em["password"]) {

// login corretto quindi reindirizzato

$valid_user = 1;
header("Location: ".$fetch_em["redirect"]);
exit;
}
else {
$valid_user = 0;
}

// se invece non trova corrispondenza di dati

if (!($valid_user))
{
// esce dal php e mostra la pagina di errore dove viene richiesto di riprovare
?>
<html>
<head>
<title>Login</title>
<head>
<body>
<form action="<?=$php_SELF?><?if($QUERY_STRING){ echo"?". $QUERY_STRING;}?>" method="POST">
<p align="center">Le informazioni inserite non sono corrette. Si prega di riprovare.</p>
<table align="center" border="0">
<tr>
<th>
Username:
</th>
<th>
<input type="text" name="username">
</th>
</tr>
<tr>
<th>
password:
</th>
<th>
<input type="password" name="password">
</th>
</tr>
<tr>
<th colspan="2" align="right">
<input type="submit" value="Login">
</form>
</th>
</tr>
</table>
</body>
</html>
<?
exit();
}
?>


riuscite ad aiutarmi ? perché non procede ? si crea un loop per cui mi rimanda sempre e in ogni caso alla pagina di login principale … perché ?

Và anche detto che una parte delle istruzioni presenti nello script neanche le conosco .. purtroppo non sono che un neofita .. ma ho voglia di imparare e migliorare .

Un grazie davvero grande a tutti in anticipo . Un saluto .
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non sono molto esperto, ma volevo chiederti una cosa:
lo script che hai postato è su una stessa pagina?
se si, ti ritrovi due volte nella stessa pagina <html><head>...</head><body>...</body></html>
che non mi sembra corretto
inoltre (non so se è un errore di trascrizione) non chiudi il tag head
la funzione header() dovrebbe essere la prima prima di qualsiasi output
vedi
http://it.php.net/manual/en/function.header.php

forse è per questo che non ti funzia
 

Greyfox

Nuovo Utente
27 Gen 2009
13
0
0
allora, ordine:
e' una pessima abitudine quella di prendere script gia fatti e adattarli: o fa quello che vuoi o e' inutile. poi scrivendolo tu capisci come funziona, copiandolo e' un casino.

i passi sono pochi:

1)crei una tabella:
ID(intero) USER(stringa) PASSWORD(stringa) REDIRECT(stringa)

e fin qui ok. gli url del redirect salvali come http://www.sito.com, va bene
le passord ti consiglio di crittarle, ma questo è un altro discorso.

2)prelevi i dati con:
$dati=mysql_query(query)
if(mysql_num_rows($dati)==0) //ha sbagliato il login
while($arr=mysql_fetch_array){
echo 'redirect: <a href="'.$arr['REDIRECT'].'">'.$arr['REDIRECT'].'</a><br/>';
}
 

tanaka

Nuovo Utente
13 Feb 2009
28
0
0
ciao
non sono molto esperto, ma volevo chiederti una cosa:
lo script che hai postato è su una stessa pagina?
se si, ti ritrovi due volte nella stessa pagina <html><head>...</head><body>...</body></html>
che non mi sembra corretto
inoltre (non so se è un errore di trascrizione) non chiudi il tag head
la funzione header() dovrebbe essere la prima prima di qualsiasi output
vedi
http://it.php.net/manual/en/function.header.php

forse è per questo che non ti funzia

Grazie mille per la segnalazione dei tanti errori !! proverò a sistemarla e vedere se così funge .

Mille grazie davvero .:fonzie:


Ps : purtroppo il problema non si è risolto , continua imperterrito a fare uguale a prima ... mah ?!

Grazie comunque !!!
 
Ultima modifica:

tanaka

Nuovo Utente
13 Feb 2009
28
0
0
allora, ordine:
e' una pessima abitudine quella di prendere script gia fatti e adattarli: o fa quello che vuoi o e' inutile. poi scrivendolo tu capisci come funziona, copiandolo e' un casino.

i passi sono pochi:

1)crei una tabella:
ID(intero) USER(stringa) PASSWORD(stringa) REDIRECT(stringa)

e fin qui ok. gli url del redirect salvali come http://www.sito.com, va bene
le passord ti consiglio di crittarle, ma questo è un altro discorso.

2)prelevi i dati con:
$dati=mysql_query(query)
if(mysql_num_rows($dati)==0) //ha sbagliato il login
while($arr=mysql_fetch_array){
echo 'redirect: <a href="'.$arr['REDIRECT'].'">'.$arr['REDIRECT'].'</a><br/>';
}

Grazie infinite anche a te Greyfox , per il tempo che hai dedicato alla mie domande .

Devo dire che la mia immensa ignoranza non mi permette di capire pienamente come usare il tuo codice nel mio script .. potresti mica essere più chiaro ? Lo sò , rompo un pò le scatole , ma mi piacerebbe capire bene cosa fai e perchè .. credo sia l' unico modo per imparare ..

Grazie infinite a tutti .

:byebye:
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Login che prende un valore sbagliato PHP 15
S sessione di login che non dura nullaaa Supporto Mr.Webmaster 0
asevenx login con registrazione e cookie che salva i dati con sistema "ricordami" PHP 3
N Vba Maschera di login MS Access 1
Shyson Codice wp-login non funziona PHP 2
L Problemi con il login PHP 2
L login e session PHP 4
A Problema login con Safari PHP 14
R Reinderizzamento dopo login PHP 2
C finestra popup dopo login PHP 2
L login con solo un codice PHP 3
Web93 PROBLEMA SITO WEB WORDPRESS - LOGIN DASHBOARD Programmazione 3
M Login Autenticazione Sviluppo app per Android 0
M Effettuare Login con dati Json Sviluppo app per Android 0
S [PHP] Stampa a video Nome e Cognome in seguito a login PHP 1
M [PHP] header (location..) non funzionante dopo login PHP 3
L [PHP] Visualizzare utente dopo login PHP 0
L [PHP] login con password_verify PHP 3
A HTML issues with creating a register and login page + general questions HTML e CSS 1
L [PHP] login con varie entrate PHP 3
L [PHP] login con password_verify - password_hash PHP 5
M [PHP] Problemi con il riconoscimento login. PHP 21
F [PHP] Login senza database PHP 3
F [php] sicurezza password form login PHP 2
M [PHP] Metodo migliore per fare login a un DB Mysql PHP 1
F Problema con pagine login in PHP PHP 2
Y [PHP] Errore di login dopo aver inserito Codice AdSense PHP 0
M [PHP] Problemi con login facebook PHP 0
Shyson [WordPress] Nascondere link del Login WordPress 2
W [PHP] Login sicuro al web Service SOAP PHP 20
P [PHP] Limitare login ad un solo utente per volta PHP 12
L [PHP] login e protezione pagine con session PHP 3
L [PHP] login con la classe medoo.in PHP 5
I [PHP] [Javascript] login da smartphone a web PHP 3
P [PHP] Reindirizzamento post Login PHP 3
I [PHP] login con sessione singola PHP 1
AkenStyle Login per gioco online Database 6
bubino8 [WordPress] [PHP] Login diretto da bottone WordPress 4
D [PHP] Login Multiutente con pagina privata PHP 5
D problemi login php 5.6 mysql PHP 1
I [PHP] Login Facebook SDK returned an error: No URL set! PHP 0
G PHP Login PHP 1
Laskot Login php e redirect PHP 1
K [PHP] Unica sessione login forum/sito PHP 1
bubino8 [WordPress] Login a WP da bottone WordPress 0
bubino8 [PHP] Login Automatico PHP 1
R Filtro login tramite mac-address su apache2 SSL Apache 1
M [PHP] Sessione Login PHP 15
C [PHP] Aprire la pagina dopo aver fatto il login PHP 1
fabry1986 [PHP] login PHP 2

Discussioni simili