problema if else non si eseguono

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, ho questo piccolissimo codice che sto faccendo tramite un tutorial fatto con il vecchio mysql..
però questo non c'èntra..

ma non mi riesce ad funzionare l'if ed else per controllare l'id e la key.

ecco il codice:

PHP:
<?php
require_once(dirname(__FILE__) . '/../inc.php');

require_once(dirname(__FILE__) . "/../template/".$template_client."/header.php");

	$id = (int)$_GET["id"];

	$key = $_GET['key'];

	

		$query = $db->query("SELECT * FROM utenti WHERE id = '".$id."' and pass_activationHash='".$key."'");
		
		
		if($row= $query->num_rows==1)
		{
			$row = $query->fetch_assoc();
			if($row['temp_pass_active']==1)			{
				$msg =   'La tua password  risulta gi&agrave; attivo.!';
			}
			elseif($row['pass_activationHash']!=$key)
			{
				$msg ='Chiave di conferma non corrispondono!';
			}
			else
			{
				$db->query("UPDATE utenti SET pass='".$row["pass_temp"]."', temp_pass_active=2 WHERE id=".$id." and pass_activationHash='".$key."'")  or die($db->error);
				$msg ='Congratulazione La tua passsword  &egrave; valida';
			}
		}
		else {
		
			$msg = 'User not found !';
		
		}

	

	if(isset($error))
	{
		echo $error;
	}
	else {
		echo $msg;
	}
	require_once(dirname(__FILE__) . "/../template/".$template_client."/footer.php");
?>

mi date informazioni come mai?

grazie mille e buona domenica..
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
forse perche mancano le parentesi all funzione num_rows

PHP:
if ($row = $query->num_rows() == 1) {
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ciao
metti dei var_dump() per vedere cosa ti risulta $row al fetch_assoc

allora ho messo il var_dump alla fine e lo messo al row..
la cosa è cosi:

array(2) { ["temp_pass_active"]=> string(1) "1" ["pass_activationHash"]=> string(32) "e9da82f4c252e7f1745ae88f2624fc07" } La tua password risulta già attivo.!

se metto un dato a caso .. ad esempio la chiave ma aggiungendole un " s "
viene cosi:

int(0) User not found !

quindi?

grazie mille e buona serata.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se hai scritto tutto il var dump e hai fatto il var_dump($row);
array(2) { ["temp_pass_active"]=> string(1) "1" ["pass_activationHash"]=> string(32) "e9da82f4c252e7f1745ae88f2624fc07" }
La tua password risulta già attivo.!

c'è qualcosa che non torna
nella select tu fai SELECT * quindi estrai tutto
nella $row (array) è sparito l'id che mi sembra tu debba avere.
ti scrivo (facendo inorridire alex) con il vecchio mysql

se nella tabella hai id, pas_act, pas_ash (tre campi)
con
PHP:
//......
$ris=mysql_query("SELECT * FROM utenti WHERE id = '".$id."' and pass_activationHash='".$key."'");
$row=mysql_fetch_assoc($ris)
var_dump($row)
//....
il var_dump dovrebbe darti
array(3) { ["id"]=> int(1) 1 ["temp_pass_active"]=> string(1) "1" ["pass_activationHash"]=> string(32) "e9da82f4c252e7f1745ae88f2624fc07" }
e non array(2) ...ecc...
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ha ragione lo script..
perché essendo che l'account è già stata attivata la password ed quindi si blocca al primo if e non fa il seccondo perché essendo già convalidato..

ora non ho tempo ma sto risolvendo un'altro problema dei ruoli degli utenti..

poi ora non ho il pc sotto mano.. e sono con il portatile controllerò domani..

grazie idee?

ciao e buona serata.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se per
intendi come risolvere gli if, potersti provare in questo modo
PHP:
<?php
//.........
 $msg="";
 if($row= $query->num_rows==1){ 
            $row = $query->fetch_assoc(); 
            if($row['temp_pass_active']==1){ 
                $msg .=   'La tua password  risulta gi&agrave; attivo.!<br>'; 
            } 
            if($row['pass_activationHash']!=$key){ 
                $msg .='Chiave di conferma non corrispondono!'; 
            } 
            if($msg==""){ // se ok $msg è vuoto
                $db->query("UPDATE utenti SET pass='".$row["pass_temp"]."', temp_pass_active=2 WHERE id=".$id." and pass_activationHash='".$key."'")  or die($db->error); 
                $msg ='Congratulazione La tua passsword  &egrave; valida'; 
            } 
        } else { 
            $msg = 'User not found !'; 
        } 
//......
?>
così dovresti vedere se pass attiva o non corrispondono o entrambi i casi
 
Discussioni simili
Autore Titolo Forum Risposte Data
R problema con else PHP 0
X [PHP] Problema if else PHP 23
T problema tra if else e print sprintf PHP 2
D problema con ciclo if else query PHP 3
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
E problema selezione sfumata Photoshop 2
K [PHP] Problema con variabili concatenate. PHP 1
A Problema filtro fluidifica Photoshop Photoshop 1
H Problema Bordi Scontorno Photoshop 1
O problema con query PHP 4
R Problema installazione Realtek WiFi USB rtl8821 Reti LAN e Wireless 1
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
Y Problema percorso file in rete PHP 1
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 1
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 11
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0

Discussioni simili