• User

    iscrizione e login....errore, come faccio????

    ciao a tutti, spero che voi possiate darmi una mano.
    Sto cercando di creare un modulo di registrazione, controllo di questo con php e il database mysql.
    per la registrazione nn ho problemi 🙂

    però per quanto riguarda il login sì, ecco gli script:
    questo è il form del login:

    <html>
    <body>
    <form method="post" action="conlogin.php">
    Nickname:<input type="text" name='nickname'>

    Password:<input type="password" name='password'>

    <input type="submit" value="login" name='submit'>
    </body>
    </html>

    questo è la connessione al database e le variabili (??????) per selezionare i records della tabella, prendo in considerazione """$records['6'];
    $records['7'];""" che sono i campi nickname e password.

    <?php
    $con = mysql_connect("localhost","root","pass");
    $sel_db = mysql_select_db("my_albertorrr", $con);

    $result=mysql_query("SELECT * FROM elementi,$con);

    $records= mysql_fetch_row($result);
    $records['6'];
    $records['7'];
    ?>

    ora il controllo dei dati inseriti:

    <?php

    include("conn.php");

    $nickname=$_POST['nickname'];
    $password=$_POST['password'];
    $md5_pass=md5("$password");

    if (trim($nickname)=="" OR ($password)=="") {
    echo "Devi inserire il nickname e la password per il login";

    }

    elseif ($nickname ==$records['nickname'] && $password ==$records['password']) {
    echo"Login riuscito";
    }

    ?>

    Come errore nella pagina conn.php mi fa:

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /membri/albertorrr/Sondaggio/conn.php on line 8

    Volevo sapere se questo è il modo giusto per controllare login e password
    di un utente, in caso negativo cosa devo modificare ????

    GrazieAlberto


  • User Attivo

    Prova a togliere gli apici all'interno della parentesi quadre

    $records['6'];

    Diventa così

    $records[6];


  • User

    ok , grazie questo errore è andato via, però il controllo se il nickname usato per il login è nel database non me lo fa, che devo aggiungere??

    secondo te lo script mio, in generale , è giusto???


  • User Attivo
    $records&#91;'6'&#93;; 
    $records&#91;'7'&#93;; 
    
    

    Sono due righe che non fanno niente, cosa intendevi?

    Cmq + o - nel controllo dovresti fare così:

    
    <?php 
    
    $con = mysql_connect&#40;"localhost","root","pass"&#41;; 
    $sel_db = mysql_select_db&#40;"my_albertorrr", $con&#41;; 
    
    $nickname=$_POST&#91;'nickname'&#93;; 
    $password=$_POST&#91;'password'&#93;; 
    $md5_pass=md5&#40;"$password"&#41;; 
    
    $result=mysql_query&#40;"SELECT * FROM elementi WHERE nickname = '$nickname' AND password = '$md5_pass'"&#41;; 
    if &#40;$records= mysql_fetch_row&#40;$result&#41;&#41; &#123; 
    echo"Login riuscito"; 
    &#125; 
    else &#123; 
    echo "Devi inserire il nickname e la password per il login"; 
    &#125; 
    
    ?> 
    
    

  • User

    perfetto , grazie margherite per la tua disponibilità nel rispondere 🙂

    Ciao e grazie, ora provo a far aprire una sessione 🙂 ,se nn ci riesco posto sempre qui 😄

    Ciao e auguri


  • User

    ho trovato poi un errore , lo risolto, sai per caso come faccio a far convertire la password dell'utente in md5 e come prendere questa nel momento di registrazione dell'utente???
    tipo :

    $pass="giovanninopaneevino";
    $md5_pass=md5("$pass");
    soltanto che invece da avere già la password come sopra, nel momento di registrazione, l'utente mette una normale password ed io la cambio in md5 e metto questa md5 nel database,si può fare???

    ciao


  • User Attivo
    
    $password=$_POST&#91;'password'&#93;; 
    $md5_pass=md5&#40;"$password"&#41;; 
    
    

    Così prendi la password dal form in post e la trasformi in md5, puoi salvare sul database direttamente $md5_pass
    E controllare le volte successive facendo il confronto tra quella su db ed il risultato della conversione.

    Dal'md5 non puoi tornare indietro


  • Super User

    avere una password in md5 nel database è l'equivalente che averla in chiaro.

    poniamo che tu abbia deciso di memorizzare la pwd in chiaro nel db, con uno sniffer riesco a catturare user e pwd e riesco ad entrare.

    poniamo che tu abbia deciso di memorizzare la pwd in md5 nel db e chiedi all'utente la pwd in chiaro (ovviamente), questa tramite post arriva ad una tua pagina che la converte in md5 e la confronta con il db.
    catturo quello che manda l'utente ed entro.

    poniamo che tramite js converti la pwd in md5 prima di mandarla al server, a te arriva la pwd già convertita in md5 ma a me basta catturarla e mandarti la pwd in md5 e lo user ed entro.

    su questo forum abbiamo aperto una discussione bellissima su come gestire la sicurezza con un "pelo più di sicurezza" e la trovi qui:
    http://www.giorgiotave.it/forum/viewtopic.php?t=3312

    buon divertimento :ciauz:


  • User

    ragazzi ho un problemino di sintassi sempre per il benedetto controllo della registrazione :
    <html>
    <body>
    <?php
    require("connessione.php");

    $nome=$_POST['nome'];

    $cognome=$_POST['cognome'];

    $datadinascita=$_POST['datadinascita'];

    $email=$_POST['email'];

    $nickname=$_POST['nickname'];

    $password=$_POST['password'];

    $pattern="^[^@ ]+@[^@ ]+.[^@ .]+$";

    variabile controllo email

    $result=mysql_query("SELECT * FROM elementi WHERE nickname = '$nickname'",$con);

    if ($nome=="" OR $email=="" OR $nickname=="" OR $password=="" OR !ereg($pattern,$email) OR $records=mysql_fetch_row($result))
    {
    echo "Compilare tutti ci campi con l'asterisco*";
    echo "Oppure nickname già in uso da un altro utente";
    echo "Ritorna al [url="moduloiscrizione.php"]modulo di registrazione
    ";
    }

    else {

    $inserimento="INSERT INTO elementi (nome,cognome,datadinascita,email,nickname,password)
    VALUES('$nome','$cognome','$datadinascita','$email','$nickname','$password')";

    $iscrizione = mysql_query($inserimento) or die(mysql_error());
    echo "OK, ti sei iscritto correttamente";

    }
    @mysql_close();
    ?>

    </body>
    </html>

    Errore:
    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /membri/albertorrr/Sondaggio/controllo.php on line 28

    Se potete darmi questa sintassi giusta affinchè in una if ci siano più controlli, ve ne sarei grato 😄

    Ciao


  • User

    Ragazzi nessuno mi può aiutare??? 😞


  • Super User

    @Albertorrr said:

    Ragazzi nessuno mi può aiutare??? 😞

    echo "Ritorna al <a href="moduloiscrizione.php">modulo di registrazione</a>
    ";

    interrompi gli apici doppi...

    echo "Ritorna al <a href="moduloiscrizione.php">modulo di registrazione</a>
    ";

    così funziona