login e registrazione

Stato
Chiusa ad ulteriori risposte.

A GoGo

Nuovo Utente
26 Ott 2011
19
0
0
Las Vegas, United States
salve ragazzi spero che qualcuno possa darmi una mano sto realizzando un sito di annunci visibile a da questo indirizzo www.tuttoagogo.it sono ancora all'inizio o anzi meglio non o ancora fatto nulla

sto realizzando un login con registrazione

questo e il mio codice di registrazione
PHP:
<?php

    if (!isset ($_GET['passkey'])){
	    if (!isset ($_POST['invia'])){ ?>
	     <form method="post" action="#" id="formregistrazione">
               <label for="username">Username</label><br />
               <input type="text" name="username" id="username" /><br />
               <label for="password1">Password</label><br />
               <input type="password" name="password1" id="password1"/><br />
               <label for="password2">Ripeti Password</label><br />
               <input type="password" name="password2" id="password2"/><br />
               <label for="email">Email</label><br />
               <input type="text" name="email" id="email" /><br /><br />
               <input type="submit" name="invia" id="registrati" value="&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Registrati &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;" /><br />
               </form>
			   <?php	
           
  } else { 
	// creazione di codice di conferma
	$codiceconferma = md5(uniqid(rand( )));
	// valori del form
	$username = mysql_real_escape_string($_POST['username']);
	$password1 = mysql_real_escape_string($_POST['password1']);
	$password2 = mysql_real_escape_string($_POST['password2']);
	$email = mysql_real_escape_string($_POST['email']);
	
	/// controllo campi vuoti e pass
	
	if($username == "" || $email == ""){
		echo "Devi riempire tutti i campi";
	}elseif ($password1 == "" || $password2 == ""){
		echo "Devi riempire tutti i campi";
	}elseif ($password2 != $password1){
		echo "Le password devono coincidere";
		  }else{
			   // inserisci i dati nel db utenti temporanei
			  $recuperauseremail = mysql_query("SELECT id FROM utenti WHERE username='$username' OR email='$email'");
			  $contauseremail = mysql_num_rows($recuperauseremail);
			   if($contauseremail > 0) {
				   
				   echo "Nome utente o email gia disponibili";
			   
			   }else {
				   // invia dati alla tb utenti_temp
				   
				   $inviautentitemp = mysql_query("INSERT INTO utenti_temp (codiceconferma,username,password,email) VALUES ('$codiceconferma','$username','$paswword2','$email')");
				   
					   if($inviautentitemp){
						 $to=$email;
						 $subject="Conferma la Registrazione";
						 $header="Da:Amministratore";
						 $message="Ecco il tuo codice di attivazione \r\n";
						 $message.="Clicca sul link per confermare la registrazione \r\n";
						 //
						 $message.="http://tuttoagogo.it/php-login-A-GoGo/register.php?passkey=$codiceconferma";
						 //
						 $sentmail=mail($to,$subject,$message,$header);
					   }
					   if($sentmail){
						   echo "Per completare la registrazione controlla la tua casella di posta eletronica e clicca sul link di attivazione";
						   
						   
						   }else{
							   echo "ERRORE, link di attivazione non inviato.";
							   }
							   
					}   
					   
			}		   
				    
		}		   
			  
	} else {
		$passkey = $_GET['passkey'];
		
		$sqlrecuperauser = "SELECT * FROM utenti_temp WHERE codiceconferma ='$passkey'";
		$risultatouser = mysql_query($sqlrecuperauser);
		 if($risultatouser) {
			 $contauser = mysql_num_rows($risultatouser);
		 if($contauser == 1) {
			 $rows= mysql_fetch_array($risultatouser);
			 $username = $rows['username'];
			 $email = $rows['email'];
			 $password = $rows['password'];
			 
			 $passwordcript = md5($password);
			 $sqlconfermauser = mysql_query ( "INSERT INTO utenti (username,password,email) VALUES('$username','$passwordcript','$email')");
			 
			 if ($sqlconfermauser){
				 
				 echo "Il tuo account è stato attivato con successo";
				 $sqleliminadati = mysql_query("DELETE FROM utenti_temp WHERE codiceconferma = '$passkey'");
				 }else{
					 echo "ERRORE !!!";
				      }
			 }
		}
  
	}
	?>
i collegamenti al database sono impaginate

vado a registrarmi e tutto sembra andato a buon fine ma noto che nel mi database le pass criptate sono tutte identiche( ovvio che nella registrarmi o usato pass diverse ) non capisco dove l'errore

poi passiamo a login

questo e il mio codice


PHP:
 <?php
   
   $p = $_GET['azione'];
   // login.php?azione=login
   if ($p == "login"){
	   if (!isset ($_POST['invia'])){ ?>
       
		   <form method="post" action="#" id="formlogin">
               <label for="username">Username</label>
               <input type="text" name="username" id="username" /><br />
               <label for="password">Password</label>
               <input type="password" name="password" id="password"/><br />
               <input type="submit" name="invia" id="login" value="Accedi" />
           </form> 
                     
<?php }else{
	
	$username = mysql_real_escape_string($_POST['username']);
	$password = mysql_real_escape_string($_POST['password']);
	
	if($username == "" || $password == ""){
		
		echo "Attenzione, devi compilare tutti i campi";
		
	}else {
		
		$password_cript = md5($password);
		
		$recuperadati = mysql_query("SELECT * FROM utenti WHERE username= '$username' AND password= '$password_cript'");
		
		$verificadati = mysql_num_rows($recuperadati);
		
		if($verificadati == 1){
			
			$sessione = mysql_fetch_array($recuperadati);
			$_SESSION['utente'] = $sessione['username'];
			echo "Login effetuato con successo ! ";
			header("Refresh: 2; URL= index.php");
			}else {
				echo "Dati non presenti nel database !!!";
				}
      }
  }
	   
   // login.php?azione=logout
   }elseif ($p == "logout"){
	  session_destroy();
	  echo "Login effetuato con successo ! ";
	  header("Refresh: 2; URL= index.php"); 
   }
   
   
   ?>


vado per inserire i mie dati e salta fuori echo "Dati non presenti nel database !!!"; pur essendomi registrato con successo


potreste darmi una mano nel risolvere il problema

o pure un codice login registrazione piu bello e pratico per gli utenti come quello usato da subito.it
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
controlla qui:
PHP:
$inviautentitemp = mysql_query("INSERT INTO utenti_temp (codiceconferma,username,password,email) VALUES ('$codiceconferma','$username','$paswword2','$email')");
c'è scritto "$paswword2'", non dovrebbe essere $password2?
 

A GoGo

Nuovo Utente
26 Ott 2011
19
0
0
Las Vegas, United States
ola

grazie mille sei un amicone

volevo domandarti una cosa te sapresti crearmi tutte le applicazioni come quelle di subito

e vorrei saper cosa e che applicazioni mi servono per realizzarlo simile

se poi tu sei disposto a collaborare con me tanto meglio
ti ringrazio ancora
 
Stato
Chiusa ad ulteriori risposte.