Visualizzazione dei risultati da 1 a 4 su 4

Discussione: login in php

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,773

    login in php

    dinuovo ciao e buona domenica sto lavorando ad uno script per il login che ho scaricato dalla rete adesso lo script funziona ma c e una cosa che non va vi spiego lo script reggistra l utente se manda l emeil di conferma per l attivazione del login adesso quando vado ad attivare il login mi da dati non corretti pero se io vado dal database e cambio 0 con uno funziona perche secondo voi posto il cod mi aiutate a risolvere questo problema?
    questo e il files rigistrazione.php
    Codice PHP:
    <?php
    include "config.php";
    include 
    "funzioni.php";
    $DB = new DB();

    // Si connette
    $DB->connect();
    IF(
    $_POST[mail]=='' or $_POST[nick]=='' or $_POST[pass]==''){
    if(
    $_POST[mail]=='' and $_POST[invia]!=''){$valore_1 ="Campo Obbligatorio";}
    if(
    $_POST[nick]=='' and $_POST[invia]!=''){$valore_2 ="Campo Obbligatorio";}
    if(
    $_POST[pass]=='' and $_POST[invia]!=''){$valore_3 ="Campo Obbligatorio";}

    echo 
    "<form action='' method='post' name='registrazione'>
    Registrati
    <table><tr><td>Email</td><td><input type='text' name='mail' value='"
    ;
    echo 
    stripslashes($_POST[mail]);
    echo
    "'> $valore_1</td></tr>
    <tr><td>Login</td><td><input type='text' name='nick' value='"
    ;
    echo 
    stripslashes($_POST[nick]);
    echo
    "'> $valore_2</td></tr>
    <tr><td>Password</td><td><input type='password' name='pass' value='"
    ;
    echo 
    stripslashes($_POST[pass]);
    echo
    "'> $valore_3</td></tr>
    <tr><td><input type='submit' name='invia' value='Registrati'></td><td><input type='reset' name='reset' value='reset'></td></tr>
    </table>
    "
    ; }
    else
    {
     
    //inizio ad elebarorare la registrazione
     
    $m $_POST[mail];
     
    $corrispondenza_email checkMail($m);
     if(
    $corrispondenza_email=="1")
     {

      
    $numero_a_caso rand (1234,5678);
      
    $nickname trim(addslashes($_POST[nick]));
      
    $pass trim(addslashes($_POST[pass]));
      
    $controllo_db mysql_query ("SELECT *
    FROM `utenti` 
    WHERE `email` = '
    $m'
    or `nick` = '
    $nickname'
    LIMIT 0 , 1   "
    );
    $risultato_controllo mysql_num_rows($controllo_db);
    if(
    $risultato_controllo=="0"){
     
    $psw_per_db criptpass($pass);
      
    $inserisco_dati_di_registrazione mysql_query("
         INSERT INTO `utenti` ( `id` , `email` , `nick` , `pass` , `stato` , `caso` )
    VALUES (
    NULL , '
    $m', '$nickname', '$psw_per_db', '0', '$numero_a_caso'
    )

      "
    );
      
    $id_user mysql_insert_id();
      
    $messaggio "Gentile utente $nickname,
      ricevi questo messaggio in quanto ti sei registrato sul sito 
    $urldelvostrosito.
      Per completare la tua registrazione e diventare un membro attivo della nostra community non dovrai far altro che cliccare il link qui sotto \n"
      
    .  $urldelvostrosito ."login/completa.php?user=$id_user&check=$numero_a_caso";
    mail($m"Benvenuto su $urldelvostrosito"$messaggio,
         
    "From: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
         
    "Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
         
    "X-Mailer: PHP/" phpversion());
      echo 
    "L'indirizzo di posta [b]$m[/b] è corretto ed ho inviato una email con i dati della tua registrazione";
    }
    else
     {
     echo 
    "Esiste già questo nome utente ($nickname) o questo indirizzo email ($m). Nel caso ti fossi dimenticato la password [url=".$urldelvostrosito."]CLICCA QUI[/url]";
     }

     }
    //FINE IF CON EMAIL CORRETTA
     
    else
     {
     Echo 
    "L'indirizzo email [b]$m[/b] da te inserito non è corretto";
     }

    }



    // Chiude
    $DB->disconnect();
    ?>
    questo e il files completa.php
    Codice PHP:
    <?PHP
    include "config.php";
    include 
    "funzioni.php";
    $DB = new DB();
    $DB->connect();
    $id_user $_GET[id];
    $check_user $_GET[check];
    if(
    is_numeric($id_user)){
    $id_user $_GET[id];
    }
    else
    {
    $id_user "1";}

    if(
    is_numeric($check_user)){
    $check_user $_GET[check];
    }
    else
    {
    $check_user "1";}

    $controllo_utente mysql_query ("SELECT *
    FROM `utenti`
    WHERE `id` = '
    $id_user'
    AND `caso` = '
    $check_user'
    LIMIT 0 , 1 "
    );

    $verita =  mysql_num_rows($controllo_utente);
    if (
    $verita =="1")
    {
      
    $aggiorno_utente mysql_query ("UPDATE `utenti` SET `stato` = '1' WHERE `id` = '$id_user' LIMIT 1") ;

    Echo 
    "
    <meta http-equiv=\"Refresh\" content=\"3; URL=login.php\">
    Grazie per esserti registrato su 
    $urldelvostrosito. Tra pochi secondi verrai reindirizzato alla home page. Se non vuoi aspettare <a href=login.php>clicca qui</a>";

    }
             else
             {
              echo 
    "Dati non corretti . <a href=registrazione.php>Torna al form di registrazione</a>";
             }
    ?>
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,773
    questo e il files funzioni.php

    Codice PHP:
    function checkMail$m ) {
        
    $r1 "([a-z0-9]+[";
        
    $r2 "\-]?){1,3}([a-z0-9])*";
        return 
    preg_match("/(?i)^{$r1}\._{$r2}\@{$r1}{$r2}\.[a-z]{2,6}$/"$m);
    }
    function 
    criptpass $pass )
    {
     
    $passaggio md5($pass);
     
    $password_criptata md5($passaggio);
     return 
    $password_criptata;

    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,773
    questo è il files login.php
    Codice PHP:
    include "config.php";
    include 
    "funzioni.php";
    $DB = new DB();
    session_start();
    unset(
    $_SESSION['login']);
    unset(
    $_SESSION['psw']);
    // Si connette
    $DB->connect();
    $login trim(addslashes($_POST[login]));
      
    $pass trim(addslashes($_POST[psw]));
      if (
    $login=='' or $pass==''){
    echo
    "form name='login' action='' method='post'>
    <table>
    <tr><td>Login</td><td><input type='text' name='login'></td></tr>
    <tr><td>Password</td><td><input type='password' name='psw'></td></tr>
    <tr><td><input type='submit' name='Accedi' value='Accedi'></td><td></td></tr></table>"
    ;}
    else
    {
    $psw_per_db criptpass($pass);
     
    $verifico_user mysql_query("SELECT *
    FROM `utenti`
    WHERE `nick` ='
    $login'
    AND `pass` =  '
    $psw_per_db' and `stato` = '1'
    LIMIT 0 , 1"
    );
    $ok_login mysql_num_rows($verifico_user);
    if(
    $ok_login=="1")
    {
      
    $_SESSION[login] = $login;
      
    $_SESSION[psw]= $psw_per_db;
     Echo 
    "<meta http-equiv=\"Refresh\" content=\"3; URL=set.php\">Login effettuato correttamente . <a href=set.php>Clicca qui per entrare</a>";
    }
    else
    {
     Echo 
    "<meta http-equiv=\"Refresh\" content=\"3; URL=login.php\">Login incorretto o utente che non ha ancora completato il processo di registrazione. In questo caso controlla la tua email<a href=login.php>Premi qui per riprovare</a>";
    }

    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,773
    un altra cosa mi sono accorto che il files login non ha i tag di chiusura pero se io vado alla fine dello script e aggiungo il tag di chiusura nel browser mi appare la seguente stringa

    form name='login' action='' method='post'>
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

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.