Visualizzazione risultati 1 fino 5 di 5

Discussione: Creare Pagina di registrazione

  1. #1
    Guest

    Predefinito Creare Pagina di registrazione

    Ciao a tutti.
    Vorrei creare una pagina di registrazione, sapendo che il database si chiama my_pcarenaph e che ha una tabella di nome members.
    Per fare un esempio di login io ho usato questo codice ( main_login.php ):

    Codice HTML:
    <HTML>
    <HEAD>
    <TITLE>prova</TITLE>
    </HEAD>
    <BODY>
    <table border="0" cellspacing="1" cellpadding="0" width="300" align="center" bgcolor="#cccccc"><tbody>
    <tr><form action="checklogin.php" method="post"> <input name="phpMyAdmin" type="hidden" value="V0N0db6Fl62QWr6eBkly75xAGn3" /><td>
    <table border="0" cellspacing="1" cellpadding="3" width="100%" bgcolor="#ffffff"><tbody>
    <tr>
    <td colspan="3"><strong>Member Login </strong></td>
    </tr>
    <tr>
    <td width="78">Username</td>
    <td width="6">:</td>
    <td width="294"><input id="myusername" name="myusername" type="text" /></td>
    </tr>
    <tr>
    <td>Password</td>
    <td>:</td>
    <td><input id="mypassword" name="mypassword" type="password" /></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td><input name="Submit" type="submit" value="Login" /></td>
    </tr>
    </tbody></table>
    </td>
    </form></tr>
    </tbody></table> 
    </BODY>
    </HTML>
    checklogin.php :

    Codice HTML:
    <?php
    $host="localhost"; // Hostname
    $username="pcarenaph"; // Mysql username
    $password="LaMiaPassAltervista"; // Mysql password
    $db_name="my_pcarenaph"; //Nome del Database
    $tbl_name="members"; // Nome della Tabella
    // Procedimento per connettersi al Database
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB"); 
    // Nome utente e password inviate attraverso il form
    $myusername=$_POST['myusername'];
    $mypassword=$_POST['mypassword'];
    $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
    $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("myusername");
    session_register("mypassword");
    header("location:login_success.php");
    }
    else {
    echo "Attenzione username o password errati";
    }
    ?>
    login_success.php :

    Codice HTML:
    <?php
    // Controlla se la sessione è stata registrata, altrimenti rimanda alla pagina di login
    // Questa prima parte dobbiamo inserirla in tutte le pagine che vogliamo proteggere con password prima di qualsiasi altra cosa
    session_start();
    if(!session_is_registered(myusername)){
    header("location:main_login.php");
    } 
    ?>
    Prima di tutto come potrei modificare questo codice per renderlo migliore?
    E come fare una pagina di registrazione con questi dati?
    Bisogna fare un altra tabella? Se si potete darmi la query da eseguire?

    Io per members ho usato:

    Codice HTML:
    CREATE TABLE `members` (
    `id` INT(4) NOT NULL AUTO_INCREMENT,
    `username` VARCHAR(65) NOT NULL DEFAULT '',
    `password` VARCHAR(65) NOT NULL DEFAULT '',
    PRIMARY KEY (`id`)
    ) TYPE=MyISAM AUTO_INCREMENT=2 ;
     
    --
    -- Dumping data for table `members`
    --
    
    1INSERT INTO `members` VALUES (1, 'admin', 'admin'); 
    Quindi in conclusione da come si può vedere qui la registrazione deve richiedere id, password ed username (penso io all'e-mail e al controllo password/id).

    Grazie mille a tutti! Spero di essere stato chiaro.

  2. #2
    Guest

    Predefinito

    Non hai bisogno di chiedere l'id dato che è auto_increment quindi ad ogni INSERT aumenterà da solo.
    Per la registrazione prova con questo (questa procedura va fatta con un form):
    Codice PHP:
    <?php
    $host
    ="localhost"; // Hostname
    $username="pcarenaph"; // Mysql username
    $password="LaMiaPassAltervista"; // Mysql password
    $db_name="my_pcarenaph"; //Nome del Database
    $tbl_name="members"; // Nome della Tabella
    $db = mysql_connect($localhost,$username,$password);
    mysql_select_db($db_name,$db);

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

    mysql_query("INSERT INTO ".$tbl_name." (username,password) VALUES ('$username','$password')",$db) || die(mysql_error());

    /* quindi i dati sono stati salvati nel database e l'utente è registrato */
    mysql_close($db);
    ?>
    Per l'email devi aggiungere un altro campo alla tabella.

  3. #3
    Guest

    Predefinito Error

    Mi da questo errore:

    Access denied for user 'pcarenaph'@'localhost' (using password: YES)

    Usando (Registrazione.php):

    Codice HTML:
    </HEAD>
    <BODY>
    <table border="0" cellspacing="1" cellpadding="0" width="300" align="center" bgcolor="#cccccc"><tbody>
    <tr><form action="provaregistrazione.php" method="post"> <input name="phpMyAdmin" type="hidden" value="V0N0db6Fl62QWr6eBkly75xAGn3" /><td>
    <table border="0" cellspacing="1" cellpadding="3" width="100%" bgcolor="#ffffff"><tbody>
    <tr>
    <td colspan="3"><strong>Registrazione</strong></td>
    </tr>
    <tr>
    <td width="78">Username</td>
    <td width="6">:</td>
    <td width="294"><input id="username" name="username" type="text" /></td>
    </tr>
    <tr>
    <td>Password</td>
    <td>:</td>
    <td><input id="password" name="password" type="password" /></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td><input name="Submit" type="submit" value="Registrati" /></td>
    </tr>
    </tbody></table>
    </td>
    </form></tr>
    </tbody></table> 
    </BODY>
    </HTML>
    e (provaregistrazione.php):

    Codice PHP:
    <?php
    $host
    ="localhost"; // Hostname
    $username="pcarenaph"; // Mysql username
    $password="PasswordDatabase"; // Mysql password
    $db_name="my_pcarenaph"; //Nome del Database
    $tbl_name="members"; // Nome della Tabella
    $db = mysql_connect($localhost,$username,$password);
    mysql_select_db($db_name,$db);

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

    mysql_query("INSERT INTO ".$tbl_name." (username,password) VALUES ('$username','$password')",$db) || die(mysql_error());

    /* quindi i dati sono stati salvati nel database e l'utente è registrato */
    mysql_close($db);
    ?>
    Cosa c'è di sbagliato?
    Grazie mille!

    PS: Per vedere l'errore =

    http://pcarenaph.altervista.org/prov...istrazione.php

    prova a mettere qualsiasi id o password.

    PS2-Edit2: sono sempre pcarenaph, se non è consentito avere 2 siti, gli admin me lo dicano che sposto tutto in uno e lo cancello. Grazie.
    Ultima modifica di programmarealpc : 27-04-2009 alle ore 14.58.44

  4. #4
    Guest

    Predefinito

    Hai inserito la password corretta del database? Altrimenti puoi lasciare anche il campo password vuoto.
    Ultima modifica di nokiagames : 27-04-2009 alle ore 15.12.24

  5. #5
    Guest

    Predefinito re:

    Grazie mille funziona!!! Ora potete chiudere.
    Grazie di tutto nokia!
    Ultima modifica di programmarealpc : 28-04-2009 alle ore 13.19.06

Regole di scrittura

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