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

    Creazione login senza database?

    Ciao ho sviluppato questo semplice sistema di login:

    qst è la pagina index dove c'è il campo password e il campo nickname:

    <?php
    echo "<html>\n";
    echo "<head>\n";
    echo "<meta http-equiv=\"Content-Language\" content=\"it\">\n";
    echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">\n";
    echo "<title>TheHensemberger.org</title>\n";
    echo "</head>\n";
    echo "<body>\n";
    echo "<body bgcolor=\"black\">\n";
    echo "<center>\n";
    echo "<img src=\"logo/logo.png\" width=\"650\" height=\"204\">\n";
    echo "</center>\n";
    echo "<center><div>_</div></center>\n";
    echo "<center><div>_</div></center>\n";
    echo "<center><div>_</div></center>\n";
    echo "<center>\n";
    echo "<font color=\"#3399FF\" size=\"6\" face=\"times new roman\">\n";
    echo "Login\n";
    echo "</font>\n";
    echo "</center>\n";
    echo "<form method=\"post\" action=\"login.php\">\n";
    echo "<font color=\"white\">\n";
    echo "<center><div>Nick-Name:</div><input type=\"text\" name=\"nick\" /></center>\n";
    echo "<center><div>Password:</div></font><input type=\"password\" name=\"pass\" /></center>\n";
    echo "<center>\n";
    echo "<div><input type=\"submit\" name=\"login\" value=\"Accedi\" /></div>\n";
    echo "</form>\n";
    echo "<a href=\"registrazione.htm\"><center><img src=\"logo/bottoneregistrati.png\"></center></a>\n";
    echo "<center><a href=\"passworddimenticata.htm\">Password dimenticata.</a></center>\n";
    echo "</form>\n";
    echo "\n";
    ?>

    QST P LA PAGINA login.php:

    <?php
    function controlla_presenza($nick){
    $file = file("utenti.php");
    foreach($file as $rigo) {
    $ex = explode("|",$rigo);
    if($ex[1] == $nick) {
    return "presente";
    }
    }
    }
    function nick_pass_ok($nick,$pass) {
    $pass = ($pass);
    $file = file("utenti.php");
    foreach($file as $rigo) {
    $ex = explode("|",$rigo);
    if($ex[1] == $nick && $ex[2] == $pass) { return "ok"; }
    }
    }
    $nick = $_POST['nome'];
    $nick = str_replace("|","",$nick);
    $nick = str_replace("\\","",$nick);
    $vpass = $_POST['pass'];
    $vpass = str_replace("|","",$vpass);
    $vpass = str_replace("\\","",$vpass);
    $pass = ($vpass);
    $nome = $_POST['nome'];
    $nome = str_replace("|","",$nome);
    $nome = str_replace("\\","",$nome);
    $cognome = $_POST['cognome'];
    $cognome = str_replace("|","",$cognome);
    $cognome = str_replace("\\","",$cognome);
    $mail = $_POST['mail'];
    $mail = str_replace("|","",$mail);
    $mail = str_replace("\\","",$mail);
    if($_POST['registrati'] || $_POST['login']){
    if(trim($nick) == "" || trim($pass) == "") {
    header("Location:index.htm");
    }
    }
    if($_POST['registrati']) {
    $check = controlla_presenza($nick);
    if($check == "presente") { echo "Questo utente già presente!"; echo " Torna Indietro"; exit(); }
    $fp = fopen("utenti.php","a+");
    fwrite($fp,"<?|".$nome."|".$cognome."|".$mail."|". $nick."|".$pass."|\n");
    fclose($fp);
    echo "I tuoi dati di accesso sono NickName: $nick Password: $vpass.";
    echo " Torna alla pagina del login. ";
    }else if($_POST['login']) {
    $contr = nick_pass_ok($nick,$pass);
    if($contr == "ok"); { echo "$nick sei loggato!";
    echo "Visualizza l'area riservata!";}
    }else{
    echo "Nickname o password errati!";
    echo " Torna Indietro ";

    }
    ?>

    E INFINE QST é LA PAGINA utenti.php:

    if(trim($nick) == "" || trim($pass) == "") {
    header("Location:registrazione.htm");
    }

    Il mio problema è ke qnd mi iscrivo è tutto apposto ma qnd vado a effettuare il login sia se nick name e password sono giusti sia se sono errati mi fa sempre tornare alla pagina index.php solo che non riesco a capire dov' è l' errore mi potreste aiutare???

  2. #2
    aaaaaaaah... sti login su db testuali nu se ponno vedè...

    Non ho controllato tutto... cmq fai questa modifica alla funzione nick_pass_ok():

    Codice PHP:
    function nick_pass_ok($nick,$pass) {
    $pass = ($pass);
    $file file("utenti.php");
    foreach(
    $file as $rigo) {
    $ex explode("|",$rigo);
    if(
    $ex[3] == $nick && $ex[4] == $pass) { return "ok"; }
    }

    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  3. #3
    grz per la risposta ma nn funziona....qlk altro ke mi puo aiutare????

  4. #4
    se le righe del file hanno questa struttura
    "<?|".$nome."|".$cognome."|".$mail."|".$nick."|".$ pass."|\n"

    nella funzione controlla_presenza quando fai l'explode della riga
    $ex = explode("|",$rigo);

    il valore del nick corrisponde all'indice 4 dell'array $ex e il valore della password corrisponde all'indice 5 dell'array $ex

    prova a sostituire
    if($ex[1] == $nick && $ex[2] == $pass) { return "ok"; }
    con
    if($ex[4] == $nick && $ex[5] == $pass) { return "ok"; }

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 © 2025 vBulletin Solutions, Inc. All rights reserved.