- Home
- Categorie
- Coding e Sistemistica
- PHP
- [PHP] Problemi con un login e altre domande
-
[PHP] Problemi con un login e altre domande
Salve a tutti, sono nuovo!
Volevo chiedere un cosa riguardo ad un login (forse è più un problema di redirect) (ho visto la vostra guida al top, ma non è per me, troppo complessa).
Ho seguito questa guida www(2).hostingsolutions.it/helpdesk/phplogin.asp.
La registrazione funziona (nel .txt ci sono utente e password correttamente separate dal ~:~); però quando faccio il login inserendo i dati giusti non mi porta al link che voglio (index.php).
Potete dare un'occhiata a questo codice?
[php]<html>
<head>
<title>Login</title>
</head>
<body>
<p><font size="5"><b>Login</font></b></p>
<hr/><form method="post" action="<?php echo $PHP_SELF;?>"> Utente: <input type="text" name="userid" class="tableclass"> Password: <input type="password" name="passwd" class="tableclass"><br/><br/> <input type="submit" name="invio" value="invio" class="pulsanti"><br/> <input type="reset" name="cancella" value="cancella" class="pulsanti"> </form>
</body>
</html>
<?php
if (isset($invio)) {
$puntatore = fopen("aaabbbccc.txt", r);$trovato = 0;
while ((!feof($puntatore)) && (!$trovato)) {
$linea = fgets($puntatore, 50);
$trovato = stristr($linea, $userid);
$puntatore++;
}
fclose($puntatore);
list($nomeutente, $password) = split("~:~", $linea);
$password = trim($password);
if (($trovato) && ($passwd == $password) ) {
session_register('autorized');
$autorized = 1;
echo "
<script language="JavaScript">
<!--
document.location.href = "index.php"
//-->
</script>
} else {
echo "
<script language="JavaScript">
<!--
document.location.href = "destroy.php"
//-->
</script>
}} else {
?>
<?php
}
?>[/php]Un'altra cosa: se io ho questo menu a tendina
[php]<select>
<option select>option1</option>
<option>option2</option>
</select>[/php]come faccio a far si che se uno sceglie l'option1 la variabile, per es., $ab diventi 1?Un'ultima cosa: io nella registrazione uso la criptazione con md5, a quali variabili la dovrei associare in questa pagina i login?
Per ora è tutto.
Grazi a chi risponderà
-
Nessuno sa aiutarmi?
-
Ciao Al-khwarizmi
per il primo codice (che è un po messo male, mancano un po di chiusure istruzioni) perche non fai un semplicissimo header invece di utilizzare uno script?
[php]if (($trovato) && ($passwd == $password) ) {
session_register('autorized');
$autorized = 1;
header("Location:index.php");
} else {
header("Location:destroy.php");
}[/php]Per il select basta che metti un name al menu' a tendina e poi ti recuperi il dato postato dal form
[html]<form method="POST" action="file.php">
<select name="opt">
<option select>option1</option>
<option>option2</option>
</select>
</form>[/html][php]# file.php
<?
$opt = $_POST['opt'];
?>[/php]
-
@Samyorn said:
Ciao Al-khwarizmi
per il primo codice (che è un po messo male, mancano un po di chiusure istruzioni) Io non so come aggiustare... ^^'
@Samyorn said:
perche non fai un semplicissimo header invece di utilizzare uno script?Ho provato, ma non funziona e sono sicuro non è un problema di dati inseriti (utente e password).
-
prova un po a modificarlo così
[php]<html>
<head>
<title>Login</title>
</head>
<body>
<p><font size="5"><b>Login</font></b></p>
<hr/>
<form method="post" action="<?php echo $PHP_SELF;?>">
Utente: <input type="text" name="userid" class="tableclass">
Password: <input type="password" name="passwd" class="tableclass"><br/><br/>
<input type="submit" name="invio" value="invio" class="pulsanti"><br/>
<input type="reset" name="cancella" value="cancella" class="pulsanti">
</form>
</body>
</html>
<?php
$invio=$_POST['invio'];
$userid=$_POST['userid'];
$passwd=$_POST['passwd'];
if (isset($invio))
{
$puntatore = fopen("aaabbbccc.txt", r);
$trovato = 0;while ((!feof($puntatore)) && (!$trovato))
{
$linea = fgets($puntatore, 50);
$trovato = stristr($linea, $userid);
$puntatore++;
}
fclose($puntatore);
list($nomeutente, $password) = split("~:~", $linea);
$password = trim($password);
if (($trovato) && ($passwd == $password) )
{
session_register('autorized');
$autorized = 1;
if (($trovato) && ($passwd == $password) )
{
session_register('autorized');
$autorized = 1;
header("Location:index.php");
} else {
header("Location:destroy.php");
}
}
}
?>
</body>
</html>[/php]
-
Niente. non ne vuole proprio sapere di funzionare.
Per un maledetto redirect mi devo imparare come farlo con MySQL...Vabbè, grazie comunque Samyorn.
EDIT: risoltooooo!!!
In quello che avevo postato io, dopo i redirect, non c'era la chiusura con ";