Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    problema con uno script

    allora ... siccome mi sto accingendo a studiare un filo fi programmazione di php e siccome ho deciso che mi serve una maschera di login ho deciso di prenderne uno trovato su questo sito e studiarmelo.
    Bene ... purtroppo lo script in questione mi crea qualche problemino.
    Benchè inserite le user e la password corrette non c'è nulla da fare il progemma mi da sempre la pagina di errore.
    Vediamo in dettaglio la cosa ...
    l'index e' banale in quanto richiama solo il modulo form.php ed eccolo qui :

    require ("config.php");?>
    <link href="form1.css" rel="stylesheet" type="text/css">
    <link href="button.css" rel="stylesheet" type="text/css">

    <table width="75%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#0000FF">
    <tr>
    <td height="23" bgcolor="#3300FF"><div align="center"><font color="#000066"><font size="3" face="Times New Roman, Times, serif">Offmania
    Pages Protected</font>
    </font></div></td>
    </tr>
    <tr>
    <td><form name="Offmania_Pages_Protected" method="post" action="invia.php" target="_blank">


    </p>
    <table width="<? echo $lunghezza_tabella ?>" border="0" align="center" cellpadding="0" cellspacing="0" class="tabella">
    <tr>
    <td><font color="#000033" size="3" face="Times New Roman, Times, serif"><cite><? echo $campo1 ?>:</cite></font></td>
    <td><input name=primo class="form1" size="<? echo $lunghezza_campo1 ?>" maxlength="<? echo $lunghezza_max_campo1 ?>"></td>
    </tr>
    <tr>
    <td><font color="#000033" size="3" face="Times New Roman, Times, serif"><cite><? echo $campo2 ?>:</cite></font></td>
    <td><input name=secondo type="password" class="form1" size="<? echo $lunghezza_campo2 ?>" maxlength="<? echo $lunghezza_max_campo2 ?>"></td>
    </tr>
    <td></td>
    <td><input type="submit" name="Submit" value="Entra" class=button >
    <input type="reset" name="Submit2" value="Cancella" class=button >
    <?
    echo "<input type=hidden name=ipadress value=$REMOTE_ADDR>";
    echo "<input type=hidden name=referer value=$HTTP_REFERER>";
    echo "<input type=hidden name=ora value=$ora>";
    echo "<input type=hidden name=data value=$data>";
    ?>
    </td>
    </tr>
    </table>
    </form>
    </td>
    </tr>
    </table>
    __________________________________________________ ______________________

    il modulo invia.php a sua volta richiamato e' il seguente :

    <?
    require ("config.php");?>
    <html><head></head><body text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF" topmargin="50" margineight="50">
    <?
    ### cambiare $primo ed $secondo come volete !! utente e password
    if ($primo == "00055" and $secondo == "00055")
    {
    include ("protette_000p/esempio1.php"); ### indirizzo della pagina da proteggere in cui si accede dopo la login
    }
    elseif ($primo == "00048" and $secondo == "00048")
    {
    include ("protette_000p/esempio2.php"); ### indirizzo della pagina da proteggere in cui si accede dopo la login
    }
    else (include "protette_000p/err.php"); ### indirizzo della pagina di errore
    ?>


    </p><p align="center"><font color="#FFFFFF" size="3" face="Times New Roman, Times, serif"><a href="http://www.theoffspring.it" target="_blank">Offmania
    Pages Protected</a></font></p>
    <p align="center"><font color="#FFFFFF" size="3" face="Times New Roman, Times, serif">Info</font></p>
    </body></html>

    infine questa la pagina d'errore:

    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body bgcolor="#0000CC">
    <p align="center"><font color="#FFFFFF" size="5" face="Times New Roman, Times, serif">ERRORE
    !!!
    </font></p>


    </p>
    <p align="center"><?
    if ($primo == "" and $secondo == "")
    {
    echo " Attenzione! i campi <font color=\"red\">ID e Password</font> non sono stati inseriti";
    }
    elseif ($primo == "")
    {
    echo " Attenzione! il campo <font color=\"red\">ID</font> non è stato inserito";
    }
    elseif($secondo == "")
    {
    echo " Attenzione! il campo <font color=\"red\">Password</font> non è stato inserito";
    }

    else
    echo "Attenzione! Hai commesso un errore"."
    "."Password: <font color=\"red\">$primo</font>"
    ."
    "."e"
    ."
    "."login: <font color=\"red\">$secondo</font>"
    ."
    "." non è una combinazione Valida"
    ."
    "." torna indietro e riprova"
    ."
    "." Attenzione Se non ancora inscritto, inscriviti" ?>

    </p>
    </body>
    </html>


    Ora qualsiasi cosa digito sul form non c'è verso di autenticare correttamente.
    La form mi riporta sempre all'errore che non ho digitato alcuna user e password.
    Effettivamente avendo messo un echo dei due campi il sistema non torna nulla ma perchè ?
    Qualcosa non va ?
    ciao e grazie____________________________________________ ______

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Immagino tu sia abituato a lavorare con i register globals settati su on, solo in quel caso nometag diventa $nometag.
    Siccome molto probabilmente questa funzionalità è disabilitata per prendere i valori dei campi sul tuo file php dovrai usare l'array $_POST, quindi nometag diventa $_POST["nometag"].

    Esempio pratico sul tuo script

    questa riga:

    Codice PHP:
    if ($primo == "00055" and $secondo == "00055"
    sostituiscila con

    Codice PHP:
    if ($_POST["primo"] == "00055" and $_POST["secondo"] == "00055"
    e fai lo stesso lavoro con tutte le altre variabili inviate dal form.

    Ciao

  3. #3
    grazie mille ora tutto funziona ...
    Ho la sensazione che zendstudio abbia modificato il php.ini ...
    a presto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.