Newsgroup: it.comp.www.php
Titolo: Errori: controllo variabili isset()

Ho un problema che credo sia banalissimo.
L'obiettivo è verificare che tutte le variabili di un modulo vengano
compilate.  Purtroppo non si tratta di un semplice errore di versione,
utilizzo la php4 e i comandi $_GET[] o $_POST[] non risolvono il mio
problema.
####modulo login.php######
<html>
<body>
<h1>Please log in to the Control Panel</h1>
<div>
<form action="1login.php" method="post">
User: <input type="text"  name="login_user"><br>
Password:<input type="password" name="login_pass"><br>
<input type="submit" value="login">
</form>
</div>
</body>
</html>
####file 1login.php ######
<html>
<body>
<div>
<?php
if (isset($login_user) && isset($login_pass) ) {
	echo "ok .. bemvemuto<br>";
	echo "ecco".$login_user."e".$login_pass;
}
else {
	echo "non hai compilato tuttii campi!";
	echo "ecco".$login_user."e".$login_pass;
}
?>
</div>
</body>
</html>
Vi ringrazio in anticipo per il supporto.

 problema.
Ho come la sensazione che invece il problema te lo risolvano. Prova
usarli nella loro forma corretta:
if ( isset($_POST['login_user']) and $_POST['login_user']!='' and
isset($_POST['login_pass']) and $_POST['login_pass']!='') {
echo "ecco " . $_POST['login_user'] . " e " . $_POST['login_pass'];
} else eccetera
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

} else eccetera
non credo sia questo il problema.
ho scritto il codice come dicevi tu:
<?php
if ( isset($_POST['login_user']) and $_POST['login_user']!='' and
isset($_POST['login_pass']) and $_POST['login_pass']!='') {
	echo "ok .. bemvemuto<br>";
	echo "ecco " . $_POST['login_user'] . " e " .
$_POST['login_pass'];
} 
else {
	echo "non hai compilato nulla!";
	echo "ecco".$_GET['login_user']."e".$_GET['login_pass'];
}
?>
ma mi si ripropone lo stesso problema ... Non hai compilato nulla... a
prescindere da quello che faccia.
Sono ancora alle prime armi, credo perň di sbagliare da qualche altra
parte.

 parte.
Infatti è assai probabile che l'errore sia altrove, e con altrove
intendo una parte di codice che non ho visto: quella che ho visto *deve*
funzionare. Riparti daccapo, crea una pagina VUOTA (realmente vuota) e
chiamala "pippo.php". Copia interamente quel che vedi sotto e incollalo
nella pagina pippo.php
---------------------------------------
<html><head><title>test</title></head>
<body>
<form action="pippo.php" method="post">
User: <input type="text" name="login_user"><br>
Password: <input type="password" name="login_pass"><br>
<input type="submit" value="login">
</form>
<?php
if (isset($_POST['login_user']) and $_POST['login_user']!='' and
 isset($_POST['login_pass']) and $_POST['login_pass']!='') {
 
echo "benvenuto<br />";
echo "user: " . $_POST['login_user'] . " - password: " .
$_POST['login_pass'];
} else {
echo "campi non compilati";
}
?>
</body>
</html>
--------------------------------------
Aprendo la pagina dovresti vedere il form e la scritta "campi non
compilati"; riempiendo i due campi ed effettuando il submit vedrai
(auguriamoci) qualcosa di diverso.


(auguriamoci) qualcosa di diverso.
Ti ringrazio per la tua pazienza. Ora lo script funziona
correttamente, devo aver fatto qualche porcheria come dicevi tu.
Mi spiegheresti cortesemente la dinamica della funzione?
io sarei portato a scrivere semplicemente "se esiste login_user e
login_pass allora ..." ovvero  if (isset($_POST['login_user']) and
isset($_POST['login_pass'])) {...
non riesco a capire la logica di quella corretta
if (isset($_POST['login_user']) and $_POST['login_user']!='' and
 isset($_POST['login_pass']) and $_POST['login_pass']!='')
... praticamente SE ... esiste la variabile user ... e la stessa
variabile è differente da ... (qui mi perdo)

 variabile è differente da ... (qui mi perdo)
Ti scrivo in maiuscolo quello che credo tu non abbia chiaro. Non pensare
voglia assordarti :)
Se la variabile Pippo esiste e la variabile Pippo è DIVERSA DA UNA
STRINGA VUOTA, allora (istruzione) altrimenti (altra istruzione).
