• User

    pagina login php utente

    salve sono riuscito assegnare una password da me scelta a l'operaio che aggiungo io funziona perchè vedo la pass nel database ora però non riesco a creare il login con id profilo e redirect pagina profilo operaio una volta immessi i dati nome e password posto i codici
    pagina aggiungi operaio:

    <?php
    /*
    NEW.PHP
    Permette all'utente di creare una nuova voce nel database
    */

    // crea il modulo di inserimento nuovi dati
    // dal momento che questo modulo è utilizzato più volte in questo file, ho fatto una funzione facilmente riutilizzabile
    function renderForm($nome, $cognome, $telefono, $email, $error)
    {
    ?>

    code html

    <?php
    // se ci sono errori vengono visualizzati
    if ($error != '')
    {
    echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
    }
    ?>

    <form action="" method="post">
    <div>
    <strong>Nome: </strong> <input type="text" name="nome" value="<?php echo $nome; ?>" /><br/>
    <strong>Cognome: </strong> <input type="text" name="cognome" value="<?php echo $cognome; ?>" /><br/>
    <strong>Telefono: </strong> <input type="text" name="telefono" value="<?php echo $telefono; ?>" /><br/>
    <strong>Email: </strong> <input type="text" name="email" value="<?php echo $email; ?>" /><br/>
    <strong>Password:
    </strong> <input type="password" name="password" /><br />
    <strong>Foto: </strong> <input type="text" name="foto" value="<?php echo $foto; ?>" /><br/>
    <label>Note: </label><br> <textarea rows="5" cols="50" name="note" ><?php echo $note; ?></textarea><br/>
    <p>
    Richiesto</p>
    <input type="submit" name="submit" value="Invia">
    </div>
    </form>
    </body>
    </html>
    <?php
    }

    // connessione al database
    include('connect-db.php');

    // verifica se il modulo è stato inviato. Se lo è, inizia a elaborare il modulo e lo salva nel database
    if (isset($_POST['submit']))
    {
    // ottenere i dati del modulo e verific che siano validi
    $nome = mysql_real_escape_string(htmlspecialchars($_POST['nome']));
    $cognome = mysql_real_escape_string(htmlspecialchars($_POST['cognome']));
    $telefono = mysql_real_escape_string(htmlspecialchars($_POST['telefono']));
    $email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
    $password = mysql_real_escape_string(htmlspecialchars($_POST['password']));
    $foto = mysql_real_escape_string(htmlspecialchars($_POST['foto']));
    $note = mysql_real_escape_string(htmlspecialchars($_POST['note']));
    // controlla che entrambi i campi vengono inseriti
    if ($nome == '' || $cognome == '' || $telefono == '' || $email == ''|| $foto='')
    {
    // genera messaggio di errore
    $error = 'ERROR: Please fill in all required fields!';

    // se uno dei due campi è vuoto, visualizzo di nuovo il modulo
    renderForm($nome, $cognome, $telefono, $email, $foto, $note, $password, $error);
    }
    else
    {
    // salva i dati nel database
    mysql_query("INSERT operai SET nome='$nome', cognome='$cognome', telefono='$telefono' , email='$email', foto='$foto', note='$note', password='$password' ")
    or die(mysql_error());

    // una volta salvato, si viene reindirizzati alla pagina di visualizzazione
    header("Location: view.php");
    }
    }
    else
    // se il modulo non è stato inviato, visualizzare il modulo
    {
    renderForm('','','','','','','');
    }
    ?>

    pagina login.php che sto tentando di creare
    <?php

    include('connect-db.php');

    // username and password sent from form
    $nome=$_POST['nome'];
    $password=$_POST['password'];

    // To protect MySQL injection (more detail about MySQL injection)
    $nome = stripslashes($nome);
    $password = stripslashes($password);
    $nome = mysql_real_escape_string($nome);
    $password = mysql_real_escape_string($password);
    $sql="SELECT id, nome, cognome, telefono, email, foto, note, appalti, password FROM operai WHERE id=$id'";
    $result=mysql_query($sql);

    // Mysql_num_row is counting table row
    $count=mysql_num_rows($result);

    // If result matched $myusername and $mypassword, table row must be 1 row
    if($count==1){

    // Register $myusername, $mypassword and redirect to file "login_success.php"
    session_register("nome");
    session_register("password");
    header("location:profilo.php?id=");
    }
    else {
    echo "Wrong Username or Password";
    }
    ?>


  • User

    Ciao,

    Prova ad aggiungere

    var_dump($result);

    Per vedere cosa stai selezionando dal database.


  • User

    @DashmaL said:

    Ciao,

    Prova ad aggiungere

    var_dump($result);

    Per vedere cosa stai selezionando dal database.

    problema risolto