Unmantained Guida [HowTo]Pagina delle Registrazioni! (Il vostro sito in php!)

Una guida contrassegnata come Unmantained contiene informazioni su un argomento obsoleto, non più utile o files non aggiornati da parte del creatore.
Stato
Discussione chiusa ad ulteriori risposte.

ErNabbone

Utente Gold
24 Settembre 2008
765
51
121
328
Ultima modifica da un moderatore:
[font='Georgia, Times New Roman, Times, serif']Indice
Introduzione
Preparazione al lavoro
Form Login
Pagina delle Registrazioni
Pagina con Classifica Personaggi
Servizio di ticket (Via Database)


Pagina delle Registrazioni

Arrivati a questo punto, una cosa fondamentale è la creazione di una pagina da cui sia possibile registrare nuovi account.
Sarà una pagina a cui potrà accedere solo chi non ha effettuato il login e dunque proseguiamo in questo modo:
Rechiamoci nella main-directory "A:/" e creiamo un file chiamato "reg.php" al capo di cui scriveremo:
PHP:
<?
session_start();
if(isset($_SESSION["UserID"]) && strlen($_SESSION["UserID"])>1){
loggato();
}else{
loggante();
}
function loggato(){
header(location:index.php);
}
function loggante(){
?>
Così facendo diamo l'ordine di riportare l'utente già loggato alla pagina principale.
Fatto ciò, copiamo solo la parte HTML della pagina index_out.php ed incolliamola al seguito di quanto appena scritto.
Ora dobbiamo creare un form html all'interno di questa pagina html.
Creiamo quindi un form di questo tipo:
PHP:
<form id="reg" method="post" action="./reg_y.php"></form>
Al suo interno, come già fatto per il login form, dobbiamo creare degli input.
Di solito per una pagina delle registrazioni gli input sono:
PHP:
UserID: <input type="text" name="userid" size="16" value="" />
Passowrd: <input type="password" name="password1" size="16" value="" />
Check Psw: <input type="password" name="password2" size="16" value="" />
Codice Cancellazione personaggi: <input type="text" name="Social_id" size="7" value="" />
Email: <input type="text" name="email" size="20" value="" />
<input type="submit" value="Registra!" /></form>
Ora salviamo reg.php e rechiamoci nella main-directory "A:/" e creiamo un nuovo file chiamato "reg_y.php".
Vediamo ora come strutturare il file "reg_y.php".
Iniziamo con il riprenderci tutti i dati dal nostro form in questo modo:
PHP:
<?php
session_start();
$UserID=$_POST["userid"];
$Password1=$_POST["password1"];
$Password2=$_POST["password2"];
$Social_id=$_POST["Social_id"];
$Email=$_POST["email"];
Ora controlliamo che le due password corrispondano:
PHP:
if ( $Password1=$Password2 ) {
Se corrispondono, allora controlliamo anche che gli altri dati siano accettabili:
PHP:
if (strlen($UserID) < 5) { 
echo "UserID troppo corto."; 
$AsD = 1; }else{ $AsD = 0; }
if (strlen($Password) < 5) { 
echo "Password troppo corta.";
$AsD = 1; }else{ $AsD = 0; }
if (strlen($Email) < 5) { 
echo "E-Mail troppo corta.";
$AsD = 1; }else{ $AsD = 0; }
if (strlen($Social_id) != 7) { 
echo "Il Codice Cancellazione Personaggi deve essere di 7 caratteri.";
$AsD = 1; }else{ $AsD = 0; }
Se c'è stato almeno un errore termina la sessione:
PHP:
if $AsD != 0 { 
Exit;
Altrimenti effettua il login ad Ip:3306 con user@webhost, password Psw e seleziona il database "account":
PHP:
}else{
$conn=mysql_connect("Ip", "User", "Psw");
mysql_select_db("account");
Quindi dichiara $exec come una query che selezioni tutti i form dalla tabella account dove il field (campo) Login è uaugale a "$UserID":
PHP:
$exec="select * from account where Login='$UserID'";
Esegui la query e, se ci sono risultati, quindi c'è almeno un account con lo stesso ID, stampa "Questo UserID è già in uso." e termina la sessione:
PHP:
$result=mysql_query($exec);
$rs=mysql_fetch_object($result);
if($rs){
echo "Questo UserID è già in uso.";
exit;
Altrimenti crea un nuovo form in account con i dati che ci giungono da reg.php:
PHP:
}else{
$exec="insert into account (Login,Password,Social_id,Email) values('$UserID',password('$Password1'),'$Social_id','$Email')";
mysql_query($exec);
A questo punto dobbiamo lasciare un bel messaggino al nuovo utente e per farlo ci basta usare "echo" e richiamare i vari dati in questo mdo:
PHP:
echo "Benvenuto $UserID !<br>Il tuo account è stato creato, ti invitiamo a non condividere i dati del tuo login ed a leggere il regolamento prima di iniziare a giocare.<br>Ora visualizzerai per l'ultima volta i dati del tuo login:<br>UserID: $UserId <br>Password: $Password1 <br>Email: $Email <br>";
Non ci dimentichiamo infine di concludere le nostre macro (4+) con 4-:
PHP:
}
}
}
}
Ed ecco così conclusa la nostra pagina delle registrazioni!
[/font]
 
a cosa serve la sessione di autenticazione in un form di registrazione? :|
se io mi registro è perchè non mi posso autenticare causa non ho dati per autenticarmi o sbaglio? lol
 
a cosa serve la sessione di autenticazione in un form di registrazione? :|
se io mi registro è perchè non mi posso autenticare causa non ho dati per autenticarmi o sbaglio? lol

[font='Georgia, Times New Roman, Times, serif']Questo è un capitolo di una guida molto più complessa e diciamo "completa".
Per ogni pagina c'è un autenticazione e c'è differenza tra loggati e logganti.
In questo caso è per evitare che utenti già autenticati accedino a questa pagina (il che sarebbe inutile).
[/font]
 
Correzioni:
Dopo
Codice:
<?php
session_start();
$UserID=$_POST["userid"];
$Password1=$_POST["password1"];
$Password2=$_POST["password2"];
$Social_id=$_POST["Social_id"];
$Email=$_POST["email"];

aggiungere:
Codice:
$UserID = addslashes($UserID);
$Password1 = addslashes($Password1);
$Password2 = addslashes($Password1);
$Social_id = addslashes($Password1);
$Email = addslashes($Password1);
 
Correzioni:
Dopo
Codice:
<?php
session_start();
$UserID=$_POST["userid"];
$Password1=$_POST["password1"];
$Password2=$_POST["password2"];
$Social_id=$_POST["Social_id"];
$Email=$_POST["email"];

aggiungere:
Codice:
$UserID = addslashes($UserID);
$Password1 = addslashes($Password1);
$Password2 = addslashes($Password1);
$Social_id = addslashes($Password1);
$Email = addslashes($Password1);

[font='Georgia, Times New Roman, Times, serif']Come ho già detto in passato, aggiungerò poi un capitolo sul come rendere tutto sicuro.
Grazie comunque dell'attenzione :)
[/font]
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom