- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Risolto] prova login
-
[Risolto] prova login
Ciao a tutti del forum
ho un problemino stupido, però a me non riesce
IL CODICE CHE VI INVIO NON DEVE FARE ALTRO CHE LEGGERE UNA TEXT ED INVIARE UN MESSAGGIO DI CONFERMA NEL CASO CI SIA UN NOME, MENTRE DARMI UN MESSAGGIO DIVERSO NEL CASO IN CUI LA TEXT E' VUOTAP.S. MI DA SEMPRE IL PRIMO MESSAGGIO CIOE' LA VARIABILE $OK
<?
$OK = 'IL TUO NOME E';
$NO = 'INSERIRE NOME VALIDO';if(isset($_POST['nome']))
{
print"
$OK $nome";
}
else
{
print"
$NO";
}?>
GRAZIE IN ANTICIPO
-
La variabile POST passata all'IF, sia vuota o con un valore, è sempre settata, quindi non si può fare il controllo ISSET, perchè ti restituisce sempre $OK.
Cambia il codice in questo modo:[PHP]
<?
$OK = 'IL TUO NOME E';
$NO = 'INSERIRE NOME VALIDO';if($_POST['nome'] != "")
{
print"
$OK $nome";
}
else
{
print"
$NO";
}?>
[/PHP]Ciao!
-
grazie x l'aiuto
una domanda
ma isset non mi controlla se nella text c'è qualcosa?
e poi " " se vuol dire campo vuoto non mi trovo
potresti chiarirmi le idee?grazie x il codice ma vorrei capire
-
La funzione ISSET, serve a controllare se un oggetto, in questo caso una variabile è settata.
Un variabile in PHP, appena viene inserita nel codice, senza ricevere valori, ottiene lo stato di undefined.
[PHP]
<?php
echo isset $a; //FALSO
?>
[/PHP]
In questo caso, con ISSET è possibile controllare se la variabile è undefined oppure no.
Ma in altre circostanza, come variabile che sono il risultato di funzioni, come $_POST, $_GET, o altro ancora, ottengono sempre un valore, che può essere vuoto, che si indica con "" (due virgolette ravvicinate), oppure un valore.
[PHP]
<?php
$a = "";
echo isset $a; //VERO -- a = "" (vuoto)$b = "ciao"; echo isset $b; //VERO -- b = ciao
?>
[/PHP]
In questo caso, ISSET non ha potere, perchè una variabile con o senza valore esiste.Ciao!
-
grazie mille
-
Ottimo ragazzi, segnalo come risolto