registrazione utenti...

angel

Utente Attivo
2 Nov 2009
109
0
0
ho trovato una soluzione più elegante
PHP:
messaggi_utenti=messaggi_utenti+1
nella query

sta venendo una cosa fantastica^^
il problema ci sono sempre problemi....

ti ringrazio dei consigli....
 

angel

Utente Attivo
2 Nov 2009
109
0
0
un piccolo problema...
PHP:
<?php
if(!isset($_GET['mail']) || !isset($_GET['conf'])){
header("index.php");
}else{
require_once"config/config.php";
$mail=htmlspecialchars($_GET['mail']);
$conferma=htmlspecialchars($_GET['conf']);

$query = mysql_query("SELECT * FROM forum_utenti WHERE mail_utente ='".$mail."'");
if($query == 0){
switch($conferma){
case "SI":
mysql_query("UPDATE forum_utenti SET attivo_utente = '1', gruppi_utente = 'utente' WHERE mail_utente ='".$mail."'");
echo '<script type="text/javascript">alert("Account Attivato!!")</script>';
break;
case "NO":
mysql_query("DELETE FROM forum_utenti WHERE mail_utente ='".$mail."'");
mysql_query("ALTER TABLE forum_utenti AUTO_INCREMENT = 0");
echo '<script type="text/javascript">alert("Account Cancellato!!")</script>';
break;
}}else{
echo '<script type="text/javascript">alert("Account Già Attivato!!")</script>';
}

}?>
non riesco ha controllare se gia attivo stampa accont gia attivato..
ma non ho idea di come impostare la query
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
puoi fare così, anche se serve solo da avvertimento in quanto l'UPDATE, se l'utente era già attivo, non modifica nulla



PHP:
case "SI": 
	$rigaVErAtt=mysql_fetch_array(mysql_query("SELECT attivo_utente  WHERE mail_utente ='".$mail."'"));
	if($rigaVErAtt['attivo_utente'] == 0){
		mysql_query("UPDATE forum_utenti SET attivo_utente = '1', gruppi_utente = 'utente' WHERE mail_utente ='".$mail."'"); 
		echo '<script type="text/javascript">alert("Account Attivato!!")</script>';
	}else{
		echo '<script type="text/javascript">alert("Account era già attivato!!")</script>';
	}
break;
 

angel

Utente Attivo
2 Nov 2009
109
0
0
si ma se come dici tu poi basta che mette no anche se e attivo e lo cancella il controllo ci vuole prima di si o no...
capito
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
come avevi fatto tu va bene lo stesso in quanto se l'utente non era attivo (attivo_utente == '0') l'update lo mette a 1, se invece l'utente era gia attivo (attivo_utente == '1') l'update non fa nulla (uno era ed uno rimane)

come ho fatto io invece controlla se l'utente è attivo, se non è attivo esegue l'update mettendo il campo attivo_utente a 1 se invece era gia attivo non esegue l'update e avvisa che era già attivato.
il tutto cambia solo dal punto formale, dal punto di vista sostanziale il risultato finale, di quello che hai fatto tu e di quello che ti ho suggerto, è identico
dato che stai attivando (l'utente ha cliccato su SI) deve (fatto da te o suggerito) deve stare tra case "SI"; ed il suo break;
 

angel

Utente Attivo
2 Nov 2009
109
0
0
si ma se l'uetente e gia attivo e invece di si mette no cancella l'account...
capit^^

credo di aver risolto....
PHP:
<?php
if(!isset($_GET['mail']) || !isset($_GET['conf'])){
header("index.php");
}else{
require_once"config/config.php";
$mail=htmlspecialchars($_GET['mail']);
$conferma=htmlspecialchars($_GET['conf']);

$query = mysql_fetch_array(mysql_query("SELECT * FROM forum_utenti WHERE mail_utente ='".$mail."'"));
if(($query['attivo_utente']) == 0){
switch($conferma){
case "SI":
mysql_query("UPDATE forum_utenti SET attivo_utente = '1', gruppi_utente = 'utente' WHERE mail_utente ='".$mail."'");
echo '<script type="text/javascript">alert("Account Attivato!!")</script>';
break;
case "NO":
mysql_query("DELETE FROM forum_utenti WHERE mail_utente ='".$mail."'");
mysql_query("ALTER TABLE forum_utenti AUTO_INCREMENT = 0");
echo '<script type="text/javascript">alert("Account Cancellato!!")</script>';
break;
}}else{
echo '<script type="text/javascript">alert("Account Già Attivato!!")</script>';
}

}?>
che ne pensi...
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
anche se un utente è già attivo potrebbe aver voglia di cancellarsi, se è accorto di aver premuto conferma al posto di disdici
comunque col prossimo post ti mando altre osservazioni, cioè come farei io
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao, ma in questo modo costringi l'utente che per errore ha cliccato sulla conferma di andare sul sito da qui nella pagina cancella accunt e cancellarsi, vabbè che guadagni una visita nelle statistiche, ma la pag cancella acount la riserverei a quegli uutenti che vogliono cancellarsi dopo un po' che sono iscritti, credo che l'utente che si è confermato per errore apprezzi di più cancellarsi senza tanti rigiri
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao, scusa, ma c'è una cosa che non non mi torna nel top scripit:
chi riceve l'email di conferma ha già fatto l'iscrizione, ma il campo attivo_utente è settato a 0,
mentre gli altri campi sono stati riempiti (tra i quali il campo mail_utente)
quindi la query che esegui per prima
$query = mysql_query("SELECT * FROM forum_utenti WHERE mail_utente ='".$mail."'");
è TRUE (mysql_query restituisce TRUE se a buon fine, altrimenti FALSE, $query diventa una variabile boeliana)
nell'if che segue fai
if($query == 0){
che equivale a dire che la query è FALSE cioè che non esiste un utente che abbia
il campo mail_utente uguale a $mail
quindi un utente che si è iscritto non potrà ne confermare ne cancellarsi


io farei così

PHP:
<?php 
if(!isset($_GET['mail']) || !isset($_GET['conf'])){ 
	header("index.php"); 
}else{ 
	require_once"config/config.php"; 
	$mail=htmlspecialchars($_GET['mail']); 
	$conferma=htmlspecialchars($_GET['conf']); 
	$query = mysql_query("SELECT * FROM forum_utenti WHERE mail_utente ='".$mail."'"); 
	if($query == TRUE &&($conferma=="SI" || $conferma=="NO" )){
	/* in questo modo verifico
	1. che l'utente abbai gia eseguito la pre-iscrizione e
	2. che la variabile $conferma sia SI o NO e non un'altra cosa
	*/
		switch($conferma){ 
			case "SI":
				$riga=mysql_fetch_array($query);
				if( $riga['attivo_utente']== "0"){//non attivato allora attivi
					mysql_query("UPDATE forum_utenti SET attivo_utente = '1', gruppi_utente = 'utente' WHERE mail_utente ='".$mail."'"); 
					echo '<script type="text/javascript">alert("Account Attivato!!")</script>';
				}else{//l'utente si era gia attivato allora avvisi
					echo '<script type="text/javascript">alert("Account èra già attivato!!")</script>';
				}
			break; 
			case "NO": 
				mysql_query("DELETE FROM forum_utenti WHERE mail_utente ='".$mail."'"); 
				//perche vuoi riscombinare tutta la tabella??
				//?????mysql_query("ALTER TABLE forum_utenti AUTO_INCREMENT = 0"); 
				echo '<script type="text/javascript">alert("Account Cancellato!!")</script>'; 
				break; 
		}//fine switch
		/*qui dovresi mettere almeno un link, altrimenti l'utente
		rimane bloccato su questa pagina*/
	}else{//fine if query true 
		/*qualcuno ha scritto sulla riga di comando del browser es.
		http://www_tuo_sito.it/cartella/pag_conferma.php?mail=pinco@pallo&conf=NO
		o qualche altra cosa che non hai nel db ritorni all'index o diverso da SI o NO
		*/
		header("index.php");
	}//la query era false
}//fine if/else isset get
?>
p.s.
può sembrare ridondante ma con GET è sempre meglio qualcosa in più che in meno
 

angel

Utente Attivo
2 Nov 2009
109
0
0
no perche dopo la conferma faro inviare una mail con un link cancella account che sto pensando come fare....
perche se no sarebbe facile cancellare l'account di un altro utente...^^
 

angel

Utente Attivo
2 Nov 2009
109
0
0
se invece facessi cosi...
PHP:
<?php
if(!isset($_GET['mail']) || !isset($_GET['conf'])){
header("index.php");
}else{
require_once"config/config.php";
$mail=htmlspecialchars($_GET['mail']);
$conferma=htmlspecialchars($_GET['conf']);
$controllla = mysql_fetch_array(mysql_query("SELECT * FROM forum_utenti WHERE mail_utente ='".$mail."'"));

if($controllla['mail_utente'] == $mail){
echo '<script type="text/javascript">alert("Nessun Account con questa Mail!!")</script>';
}else{

if(($controlla['attivo_utente']) == 0 &&($conferma == "SI" || $conferma == "NO" )){
switch($conferma){
case "SI":
mysql_query("UPDATE forum_utenti SET attivo_utente = '1', gruppi_utente = 'utente' WHERE mail_utente ='".$mail."'");
echo '<script type="text/javascript">alert("Account Attivato!!")</script>';
break;
case "NO":
mysql_query("DELETE FROM forum_utenti WHERE mail_utente ='".$mail."'");
mysql_query("ALTER TABLE forum_utenti AUTO_INCREMENT = 0");
echo '<script type="text/javascript">alert("Account Cancellato!!")</script>';
break;
}}else{
echo '<script type="text/javascript">alert("Account Già Attivato!!")</script>';
}

}}?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
T Modificare ruolo utenti in fase di registrazione E-Commerce 0
Laskot [Javascript] Registrazione e salvataggio utenti in LocalStorage Javascript 8
S Vecchio articolo registrazione utenti, errore MySQL PHP 2
M problema registrazione nuovi utenti su pagine asp Classic ASP 1
F Codic e php visibile su form registrazione utenti PHP 2
asevenx modulo registrazione utenti, cicli if di verifica PHP 9
F Controlli form per Registrazione utenti PHP 9
T Problema relativo alla registrazione di utenti in word press. WordPress 5
B Dreamweaver modulo registrazione nuovi utenti PHP 10
T Problema con script di registrazione utenti su IE PHP 4
neo996sps Problema con tutorial registrazione utenti PHP 1
M Registrazione utenti Classic ASP 13
P Aiuto form registrazione utenti PHP 5
A creazione area di registrazione e loging utenti PHP 4
A Registrazione e Gestione Utenti. Classic ASP 1
D problema con registrazione utenti PHP 6
A Creare area accesso/registrazione utenti Classic ASP 0
G come realizzare la registrazione utenti ? Classic ASP 0
B Registrazione utenti HTML e CSS 2
zorro modulo di registrazione: funziona ma non sempre PHP 2
R Plugin per Registrazione Utente e Pagamento prodotto WordPress 2
G Registrazione utente su pagina asp Classic ASP 14
F [PHP]Errore registrazione PHP 8
R Obbligare all'utente un pagamento al momento della registrazione PHP 3
A [PHP] registrazione utente in un database sql con confronto PHP 1
E Problemi in registrazione telecamere Dahua IP Cam e Videosorveglianza 6
A [PHP] Controllo nome utente form di registrazione PHP 4
Tommy03 Generare file PHP dopo registrazione PHP 2
G [PHP] Revisione codice per registrazione PHP 8
B Data Registrazione Dominio Domini 1
B [PHP] Mail di Avvenuta registrazione PHP 4
S registrazione video su dvr in caso di rilevamento di movimento IP Cam e Videosorveglianza 12
V Domande: registrazione sito fonti esterne SEO e Posizionamento 0
M registrazione in relazione ai commenti Programmazione 0
damiano.f [PHP] variabili su immagine e registrazione dati su db PHP 0
X__WELBO__X [css] form registrazione utente HTML e CSS 9
marino51 problema con registrazione al forum Supporto Mr.Webmaster 4
L [PHP] Registrazione/Logina la psw deve contenere.. PHP 3
G [WordPress] Redirect dopo registrazione WordPress 0
ANDREA20 [PHP] problema registrazione PHP 50
P [PHP] come criptare una password in un form di registrazione PHP 4
M Sito "e-commerce", stampare dati di registrazione e dati dell'acquisto da pagine diverse PHP 7
S appinventor, aggiungere tasto registrazione Sviluppo app per Android 1
S email di registrazione e Plugin WP Mail SMTP WordPress 0
F form registrazione PHP 3
matteoraggi Contratto per registrazione domini internet e servizio di hosting Domini 1
L errore mysql per form di registrazione PHP 3
D Form Registrazione con conferma via email - problema PHP 10
M problema mostrare data di registrazione formattata in italiano PHP 8
P Problema con file di registrazione in php, non funziona e dà continui errori PHP 0

Discussioni simili