radiobutton e index undefined

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Ho un form con i seguenti pulsanti
HTML:
<p>	<label class="block">Età:</label>
<input id="dieci" type="radio" value="10" name="eta">
<label for="primo">1-10</label>
<input id="venti" class="wrong" type="radio" value="20" name="eta">
<label for="secondo">11-20</label>
<input id="trenta" class="wrong" type="radio" value="30" name="eta">
<label for="terzo">21-30</label>
<input id="oltre" class="wrong" type="radio" value="40" name="eta">
<label for="quarto">+31</label>
</p>
il tutto è affiancato da un file js che mi controlla in locale se i campi sono compilati. Il problema è che se disabilito javascript naturalmente mi funziona php ma ottengo un notice del tipo Undefined Index perchè non avendo selezionato alcun campo del radiobutton non ha un valore. cosa posso fare?

Dimenticavo la porzione di codice php che dovrebbe controllare è questa
PHP:
if(isset($_POST['eta']) && (empty($_POST['eta']))){$ok_ko.="Ricordati di selezionare la tua età";
			echo "<meta http-equiv='Refresh' content='20; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}
 
Ultima modifica di un moderatore:

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Mi correggo, l'errore me lo da su questa riga
PHP:
$eta 		= 		$mysqli->real_escape_string(trim($_POST['eta']));
e questo è l'inizio del controllo che ho nella stessa pagina
PHP:
if(isset($_POST['invia'])){
	if($_SERVER['REQUEST_METHOD'] == 'POST'){
		//Filtro dati con MYSQLI
		$nome	 	= 		$mysqli->real_escape_string(trim($_POST['nome']));
		$cognome	= 		$mysqli->real_escape_string(trim($_POST['cognome']));
		$eta 		= 		$mysqli->real_escape_string(trim(($_POST['eta'])));
		$email 		= 		$mysqli->real_escape_string(trim($_POST['email']));
		$messaggio 	= 		$mysqli->real_escape_string(trim($_POST['messaggio']));
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
visto così non vedo errori.
dissenina di var_dump($_POST['eta']) lo script
per capire dove sparisce

dimenticavo: comunque hai messo il ! altrimenti l'if funzia per radio selezionato cioè il contrario di quello che vuoi
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Ti inserisco il codice semi completo
PHP:
if(isset($_POST['invia'])){
	if($_SERVER['REQUEST_METHOD'] == 'POST'){
		//Filtro dati con MYSQLI
		$nome	 	= 		$mysqli->real_escape_string(trim($_POST['nome']));
		$cognome	= 		$mysqli->real_escape_string(trim($_POST['cognome']));
		$eta 		= 		$mysqli->real_escape_string(trim($_POST['eta']));
		$email 		= 		$mysqli->real_escape_string(trim($_POST['email']));
		$messaggio 	= 		$mysqli->real_escape_string(trim($_POST['messaggio']));

		$time = date("H:i:s"); //Orario
		$data = strftime("%A, %d %B %Y"); //Data
		$IP = ($_SERVER['REMOTE_ADDR']);

		//Funzione di controllo dell'inserimento dati corretti.
		function ver_testo($testo,$min,$max){
			$pattern="/^[a-zA-Z0-9]{".$min.",".$max."}$/";//non prende direttamente il min e il max
			if(preg_match($pattern, $testo)){
				//testo ok
				return TRUE;
			}else{
				return FALSE;
			}
		} //Chiudo funzione verifica lunghezza dati inseriti

		//preparo un messaggio a vuoto per gli errori
		$ok_ko="";
		$visibilità = "hidden";

		if(!ver_testo($nome,3,15)){$ok_ko.="Sei sicuro di aver inserito il nome correttamente? <br />";
			echo "<meta http-equiv='Refresh' content='20; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}
		if(!ver_testo($cognome,3,15)){$ok_ko.="Sei sicuro di aver inserito il cognome correttamente? <br />";
			echo "<meta http-equiv='Refresh' content='20; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}
		if(!isset($_POST['eta']) && (empty($_POST['eta']))){$ok_ko.="Ricordati di selezionare la tua età.<br />";
			echo "<meta http-equiv='Refresh' content='20; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}
		if(!filter_var($email, FILTER_VALIDATE_EMAIL)){$ok_ko.="L'indirizzo email è assente o non è valido <br />";}
		if(!ver_testo($messaggio,3,500)){$ok_ko.="Hai dimenticato di scriverci dicosa hai bisogno.<br />";
			echo "<meta http-equiv='Refresh' content='20; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}

		if ($ok_ko != "") {
			$visibilità = "visibile";
			echo"<div style=\"visibility:$visibilità;\" class=\"ok_ko\"></div>";
			$ok_ko ="";
			echo "<meta http-equiv='Refresh' content='40; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
		}

		if ($ok_ko == "") {
dopo questo if inizia la creazione di una mail con phpmailer. Quindi se clicco invia mi analizza i dati altrimenti mi da il form. Secondo te c'è qualcosa che non va?

P.S. Inserendo un var_dump($_POST['eta']); mi da undefined index sia alla riga che ho scritto sopra sia a quella del var_dump() ed in questa il valore è NULL
Se invece il metto questo
PHP:
var_dump($eta);
mi da string (0)
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
M Come selezionare e deselezionare radiobutton con jquery jQuery 1
giusebos [PHP] radiobutton: disattivare specifico valore PHP 11
bianca_dimulescu [Javascript] Disabilitare due bottoni di submit in base al radiobutton selezionato Javascript 1
MarcoGrazia Verificare un checkbox/radiobutton con jquery Snippet Javascript 1
S Ricerca nel DB con radiobutton + riempimento select PHP 55
P Basic4Android - Tutorial 4 (CheckBox , RadioButton e ToggleButton) Sviluppo app per Android 0
C form e radiobutton PHP 2
K Problema "radiobutton" HTML e CSS 2
S ComboBox, radioButton, CheckBox...passagio dati FLASH-PHP!!! Flash 0
G Radiobutton che popola uno span Javascript 0
K Somma con valori radiobutton (javascript) Javascript 0
D problema con radiobutton Javascript 1
F Caricamento index rotto PHP 1
S Errore PHP - Notice: Undefined index ... PHP 14
C Form email php su pagina index.html? PHP 21
Tommy03 Problema con z-index HTML e CSS 3
K La pagina index, si apre sul form e non al top page Javascript 0
maxnegri Eliminare url index.php con variabili e reindirizzare alla home del sito PHP 7
Y [Javascript] z-index popup accettazione cookie Javascript 1
L [Wordpress]Precedenza Index.php a Index.html WordPress 1
mferri PhpMyAdmin index page bianca PHP 0
A index.php errore PHP 3
K [PHP] Notice: Undefined index PHP 3
A [PHP] Undefined index dopo query dal server PHP 1
Q Notice: Undefined index: codice in C:\xampp\htdocs\STAGE\calendario\modifica.php on line 10 PHP 8
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
F includere parte html in index.php PHP 5
A errori scripts index.php PHP 42
MilanMilan [PHP] Notice:Undefined index PHP 2
A [WordPress] [HTML] Link in div con z-index inferiore WordPress 1
Fuego2806 [PHP] Icone template - index.php PHP 2
Fuego2806 Problema file index.php joomla PHP 1
O Fatal error: Call to undefined function testNome() in C:\xampp\...\...\index.php on line 51 PHP 4
F z-index menù HTML e CSS 4
Shyson Notice: Undefined index ma non trovo l'errore PHP 8
filomeni z-index HTML e CSS 3
A Sottofondo musicale per pagina Index HTML e CSS 6
S Notice: Undefined index: azione in PHP 6
felino [Ajax/Jquery] Z-index su loading-image Ajax 1
F Problema opacity e z-index con immagine HTML e CSS 3
A [risolto] evitare refresh index dopo recaptcha sbagliato PHP 7
F Sito con una pagina index seo SEO e Posizionamento 0
emanuelevt incrementare z-index jQuery 0
Alessandro Le Mura Z-index css e java Javascript 5
J Problema con questo errore Error was: Undefined index: title linea 9 PHP 21
L problema con l'Undefined index per una $_GET PHP 6
F [risolto] z-index su piu div HTML e CSS 2
S Z-index HTML e CSS 8
S Modifica index HTML e CSS 2
DuneBuggy Come modificare index.html HTML e CSS 1

Discussioni simili