Visualizzazione risultati 1 fino 6 di 6

Discussione: aiuto per script di login (era:i miei primi script)

  1. #1
    italialockerz non è connesso Neofita
    Data registrazione
    16-11-2009
    Messaggi
    13

    Predefinito aiuto per script di login (era:i miei primi script)

    salve a tutti,

    da poco sto iniziando a capire il linguaggio php e sto cercando (con fatica di creare il mio primo picolo (ed insignificante) script... solo che non funziona perfettamente.

    Volevo creare un banalissimo sistema di accesso ad una pagina con riconoscimento di ID e Password. Per semplicità 4 utenti: marco, paolo, luca, franco; le rispettive password sono: a, b, c, d.

    Questo è il codice del form:

    Codice:
    <HTML>
    <HEAD></HEAD>
    <BODY>
    	<FORM ACTION="RICEZIONE_DATI.PHP" METHOD="POST" ONSUBMIT="return Check();">
    	<input type=text size=10 name="id">
    	<INPUT TYPE=TEXT SIZE=10 NAME="password">
    	<BR>
    	<INPUT TYPE=RESET VALUE="Annulla">
    	<INPUT TYPE=SUBMIT VALUE="Invia">
    	</FORM>
    </BODY>
    </HTML>
    Questo è il codice dello script che non mi funziona:

    Codice:
    <HTML>
    <BODY>
    
    <?PHP
    
    $ID = $_POST["id"];
    $PASSWORD = $_POST["password"];
    
    $ID_REG = ARRAY ("marco", "paolo", "luca", "franco");
    $PASS = ARRAY ("a", "b", "c", "d"); 
    
    for($i=0;$i<5;$i++)
    
    	if (($ID==$ID_REG[$i])&&($PASSWORD==$PASS[$i])){echo "Esatto!";}
    	if (($ID!=$ID_REG[$i])&&($PASSWORD==$PASS[$i])){echo "Errato!";}
    	if (($ID==$ID_REG[$i])&&($PASSWORD!=$PASS[$i])){echo "Errato!";}
    	if (($ID!=$ID_REG[$i])&&($PASSWORD!=$PASS[$i])){echo "Errato!";}
    	
    ?>
    
    </BODY>
    </HTML>
    In pratica succede che se il login è fatto con dati errati mi stampa "Errato!"... fin qui tutto ok.
    Ma se invece il login è fatto con dati esatti mi stampa "Esatto!Errato!"... al contrario io desidero che mi stampi esclusivamente "Esatto!".

  2. #2
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Codice PHP:
    <?php

    if(isset($_POST['login'])){
    $ID = $_POST['id'];
    $PASSWORD = $_POST['password'];

    $ID_REG = array ("marco", "paolo", "luca", "franco");
    $PASS = array("a", "b", "c", "d");
    $num_utenti = 4;

    for(
    $i=0;$i<$num_utenti;$i++){
    if ( (
    $ID==$ID_REG[$i]) AND ($PASSWORD==$PASS[$i]) ) {
    echo
    "Esatto!";
    break;
    }
    else if(
    $i == ($num_utenti -1)) {
    echo
    "Errato!";
    }
    }
    }
    ?>

    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="text" name="id" value="">
    <input type="password" name ="password" value="">
    <input type="submit" value="logini" name="login">
    </form>
    in teoria cosi dovrebbe andare, hpo aggiunto una variabile per alcuni controlli, modificala in base al numero di utenti che aggiungi.
    Ultima modifica di Xsescott : 24-11-2009 alle ore 01.49.50
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  3. #3
    italialockerz non è connesso Neofita
    Data registrazione
    16-11-2009
    Messaggi
    13

    Predefinito

    sei stato preziosissimo... anche se ho apportato alcune rettifiche al tuo codice ed ho immesso qualche "funzione" in più.
    te lo mostro

    Codice PHP:
    <HTML>

    <BODY>

    <?PHP

    $ID
    = $_POST["id"];
    $PASSWORD = $_POST["password"];

    if (
    $ID==""){echo "Inserire campo utente!";}
    if (
    $PASSWORD==""){echo "Inserire campo password!";}
    if ((
    $ID=="")||($PASSWORD=="")){echo "<br><br><a href='INVIO_DATI.PHP'>Torna al modulo di accesso</a>";}

    $ID_REG = ARRAY ("marco", "paolo", "luca", "franco");
    $PASS = ARRAY ("a", "b", "c", "d");
    $num_utenti = 4;

    for(
    $i=0;$i<$num_utenti;$i++)

    if (((
    $ID!="")&&($PASSWORD!=""))&&($ID==$ID_REG[$i])&&($PASSWORD==$PASS[$i])){echo "Esatto!<br><br><a href='INVIO_DATI.PHP'>Torna al modulo di accesso</a>";break;}
    if (((
    $ID!="")&&($PASSWORD!=""))&&($ID!=$ID_REG[$i])&&($PASSWORD==$PASS[$i])){echo "ID o Password errati!<br><br><a href='INVIO_DATI.PHP'>Torna al modulo di accesso</a>";}
    if (((
    $ID!="")&&($PASSWORD!=""))&&($ID==$ID_REG[$i])&&($PASSWORD!=$PASS[$i])){echo "ID o Password errati!<br><br><a href='INVIO_DATI.PHP'>Torna al modulo di accesso</a>";}
    if (((
    $ID!="")&&($PASSWORD!=""))&&($ID!=$ID_REG[$i])&&($PASSWORD!=$PASS[$i])){echo "ID o Password errati!<br><br><a href='INVIO_DATI.PHP'>Torna al modulo di accesso</a>";}


    ?>


    </BODY>
    </HTML>
    Ultima modifica di dreadnaut : 25-11-2009 alle ore 13.58.00

  4. #4
    Guest

    Predefinito

    ma tu usi il php con il tag <html> ?

  5. #5
    italialockerz non è connesso Neofita
    Data registrazione
    16-11-2009
    Messaggi
    13

    Predefinito

    In realtà l' HTML lo sò usare benino (senza esagerare!!!).

    Il php lo sto imparando... con moooolta fatica!!

    Se vuoi darmi consigli sono bene accetti!!

  6. #6
    Guest

    Predefinito

    Io farei una cosa simile, in questo modo hai anche la possibilità di aggiungere altro ad ogni nome utente, anche se utilizzerei il DB per un sistema simile.
    Codice PHP:
    <html>
    <head>
    <title>Titolo pagina</title>
    </head>
    <body>

    <?php

    $id
    = $_POST['id'];
    $password = $_POST['password'];

    $ids = array(
    'marco' => array(
    'pass' => 'a',
    ),

    'paolo' => array(
    'pass' => 'b',
    ),

    'luca' => array(
    'pass' => 'c',
    ),

    'franco' => array(
    'pass' => 'd',
    ),
    );

    if(isset(
    $_POST['submit']))
    {
    if (empty(
    $id))
    {
    echo
    'Inserire campo utente!';
    }
    elseif (empty(
    $password))
    {
    echo
    'Inserire campo password!';
    }
    if(empty(
    $id) || empty($password))
    {
    echo
    '<br /><br /><a href="INVIO_DATI.PHP">Torna al modulo di accesso</a>';
    }

    $num_utenti = count($ids); # Conta tutti gli utenti automaticamente

    if(array_key_exists($id, $ids))
    {
    if(
    $password == $ids[$var]['pass'])
    {
    echo
    'Dati corretti, <a href="INVIO_DATI.PHP">Torna al modulo di accesso</a>';
    }
    else
    {
    echo
    'Pass errata, <a href="INVIO_DATI.PHP">Torna al modulo di accesso</a>';
    }
    }
    else
    {
    echo
    'ID errato, <a href="INVIO_DATI.PHP">Torna al modulo di accesso</a>';
    }
    }
    else
    {
    /* Mostra il form per il login */
    echo 'Form';
    }

    ?>

    </body>
    </html>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •