• User Newbie

    [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à 😉


  • User Newbie

    Nessuno sa aiutarmi?


  • Consiglio Direttivo

    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]


  • User Newbie

    @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).


  • Consiglio Direttivo

    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]


  • User Newbie

    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 ";