Controllo utente con Database

  • Creatore Discussione Creatore Discussione joseph
  • Data di inizio Data di inizio

joseph

Nuovo Utente
8 Nov 2010
20
0
0
Ciao a tutti

Scusate se è terribile ma sono un mega principiante.
Avrei un problema da risolvere. Stò cercando di fare un controllo utente. Dopo aver estratto i dati che mi servono dal database non riesco a fargli fare quello che voglio. Ecco il codice:

PHP:
#controllo se l'utente ha già acquistato e se il suo ID_user è gia nella tabella degli ordini
$stringa="SELECT * FROM ordini WHERE id_utente = '".$_SESSION['cod_ordine']."'";
$risultato=mysql_query($stringa);
$righe=mysql_num_rows($risultato);
echo "$righe";#lo stampo solo per visualizzare il valore della variabile durante le prove

# se è uguale a 1 cancello la variabile se è uguale a 0 verifico  che $codice sia vuota per generare una nuova variabile di sessione con un nuovo id_utente

switch ($righe){
case "1":
			unset($_SESSION['cod_ordine']);
case "0":
			if ($codice=""){
			$codice=stringa();
			$_SESSION['cod_ordine'] = $codice;
			
}
}

dove sta l'errore
 
Sicuramente mancano i break che interrompono l'esecuzione del codice nello switch:


PHP:
switch ($righe){
case "1":
            unset($_SESSION['cod_ordine']);
            break;
case "0":
            if ($codice="") {
                $codice=stringa();
                $_SESSION['cod_ordine'] = $codice;
            }
            break;
}

Senza il primo break e con la variabile $righe con valore 1, verrebbe eseguita sia la parte di codice del primo case (dove fai l'unset) e poi anche la parte nel secondo case (dove viene valorizzata di nuovo la variabile $_SESSION['cod_ordine']
 
Senza il primo break e con la variabile $righe con valore 1, verrebbe eseguita sia la parte di codice del primo case (dove fai l'unset) e poi anche la parte nel secondo case (dove viene valorizzata di nuovo la variabile $_SESSION['cod_ordine']

Grazie Trogo

era proprio questo l'errore. Adesso mi funziona.


You the man :cool:
 

Discussioni simili