Variabile non mostrata

  • Creatore Discussione Creatore Discussione Rey
  • Data di inizio Data di inizio

Rey

Utente Attivo
11 Set 2012
73
0
6
sera a tutti, probabilmente è banale ma non riesco a venirne a capo.

Mettendo semplicemente questo funziona:

PHP:
<?php 
if (isset($_GET["msg"])) { echo $_GET["msg"]; }
?>

Così non funziona:

PHP:
<?php 
// Verifico se la variabile è settata
if (isset($_GET["msg"])) { 
// Se trovo *correttamente* metto un'immagine verde
	if (stripos($_GET["msg"],'*correttamente*') == true) { 
	echo "<img src=\"../img/ok.png\">" . $_GET["msg"]; 
	}
// Se invece trovo *errore* ne metto una rossa
	else if (stripos($_GET["msg"],'*errore*') == true) {
	echo "<img src=\"../img/error.png\">" . $_GET["msg"]; 
	} 
}
?>

Nessun errore, la variabile scompare, dove sbaglio?
 
stripos torna con il numero di dove inizia o c'è la prima occorrenza quindi metti sia all'inizio torna 0 che viene interpretato come falso, ora per ovviare a questo problema usa ad esempio substr_count


PHP:
// Verifico se la variabile è settata 
if (isset($_GET["msg"])) {
// Se trovo *correttamente* metto un'immagine verde 
    if (substr_count($_GET["msg"],'*correttamente*')>0) {  
    echo "<img src=\"../img/ok.png\">" . $_GET["msg"];  
    } 
// Se invece trovo *errore* ne metto una rossa 
    else if (substr_count($_GET["msg"],"*errore*")>0) { 
    echo "<img src=\"../img/error.png\">" . $_GET["msg"];  
    }  
}

Oppure un controllo di totale disuguaglianza fra valore booleano falso e 0

PHP:
// Verifico se la variabile è settata 
if (isset($_GET["msg"])) {  
// Se trovo *correttamente* metto un'immagine verde 
    if (stripos($_GET["msg"],'*correttamente*') !== false) {  
    echo "<img src=\"../img/ok.png\">" . $_GET["msg"];  
    } 
// Se invece trovo *errore* ne metto una rossa 
    else if (stripos($_GET["msg"],'*errore*') !== false) { 
    echo "<img src=\"../img/error.png\">" . $_GET["msg"];  
    }  
}
 
ti ringrazio per le dritte, le ho provate ma a me non funzionano nessuno dei due modi :\
 
ti ringrazio per le dritte, le ho provate ma a me non funzionano nessuno dei due modi :\
Testate entrambe e funzionano correttamente, forse stai passando male i dati evidentemente :confused:


Oppure non è che ti sei confuso nel controllo intendendo fare altro?
 
Testate entrambe e funzionano correttamente, forse stai passando male i dati evidentemente :confused:


Oppure non è che ti sei confuso nel controllo intendendo fare altro?

ho fatto varie prove e ho risolto.. non so perchè ma togliendo gli asterischi a '*correttamente*' e '*errore*'funzionano entrambi, ho php 5.4.4 :) grazie mille
 

Discussioni simili