Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    410

    Undefined index da $_POST[]

    Salve a tutti, ho uno pagina che mi restituisce undefined index e proprio non capisco perchè, in pratica ho un array chiamato $valori() che viene inizializzato con i valori inseriti tramite la variabile $_POST['nomecampo']...il problema è che mi da questo problema solo nell'ultimo campo inserito mentre negli altri funziona alla perfezione

    vi posto il codice, è lunghetto spero non ci siano problemi:
    codice:
    
    
    <?php
    
    
    
    if (isset ($_POST['submit']))
    	{$a=$_POST['privato_azienda'];
    echo $a."
    ";
    
    $b=$_POST['titolo'];
    echo $b."
    ";
    	$valori=array($_POST['titolo'],$_POST['categoria'],$_POST['descrizione'],$_POST['anno_fabbricazione'],$_POST['prezzo'],$_POST['privato_azienda']);
    	
    	$insert = mysql_query ( "INSERT INTO annunci VALUES ('8','$valori[0]','$valori[1]','$valori[2]','$valori[3]','$valori[4]','$valori[5]')",$db);
    	
    	if ($valori[0]=="") $titolo_errore=1;
    	else $titolo_errore=0;
    
    	if ($valori[1]=="Seleziona...") $categoria_errore=1;
    	else $categoria_errore=0;
    
    	if ($valori[2]=="") $descrizione_errore=1;
    	else $descrizione_errore=0;
    
    	if ($valori[4]=="") $prezzo_errore=1;
    	else $prezzo_errore=0;
    
    	if ($valori[5]=="") $privato_azienda_errore=1;
    	else $privato_azienda_errore=0;
    	}
    else
    	{
    	$titolo_errore=0;
    	$valori[0]="";
    	$categoria_errore=0;
    	$valori[1]="";
    	$descrizione_errore=0;
    	$valori[2]="";
    	$prezzo_errore=0;
    	$valori[4]="";
    	$privato_azienda_errore=0;
    	$valori[5]="";
    	}
    
    
    ?>
    
    
    				
    
    
    <table width='80%' height='70' border='0' align="center" cellpadding='0'>
    
    <tr><td>
    
    <font size='6'>
    
    http://> <?php echo strtoupper($citt..." </font>"; ?>
    </td>
    <td width="40%" valign="bottom"><h3>Annunci di <?php echo "<font color='red'>".$tipo."</font>"; ?> in vendita località <?php echo "<font color='red'>".$citta."</font>"?> </h3>
    </td>
    
    <td width="45%" align="right" valign="middle"> <font size='5'>  >INSERISCI UN NUOVO ANNUNCIO
    </td></tr>
    </table>
    
    				
    
    
    <table width='80%' height='50' border='0' align="center" bgcolor="#DCDCDC">
    
    <tr>
    <?php
    
    for ($cont=0;$cont < $num_categorie;$cont++)
    	{
    	echo '<td align="center"'. 'valign=\"middle\"'.">".'<font size=\'5\'>';
    	echo "".$categorie[$cont]."</td>";
    	
    	}
    ?>
    
    <td align="center" width='70' class="pulsante_del_login"> <font size='3'> >Login
    </td>
    </tr>
    </table>
    
    
    
    
    
    
    
    
    
    <h2>
    Inserimento nuovo annuncio
    </h2>
    
    				
    
    
    
    <table width='80%' height='600' border='1' align="center" >
    <form action='<?php echo $_SERVER['PHP_SELF']?>' method='post'>
    
    <tr><td width='160' height='30'>
    Titolo: </td>
    <td><input type="text" name ="titolo" value='<?php echo $valori[0]?>' size="50">
    <?php
    if ($titolo_errore)
    	echo ("<font size='2' color='red'> Inserire il titolo dell'annuncio </font>");
    ?>
    
    </td></tr>
    
    <tr><td height='30'>
    Categoria:</td>
    <td> <select name="categoria" >
    	<option>Seleziona...</option>
    	<?php
    	for ($cont=0;$cont<$num_categorie;$cont++)
    	{
    	
    	if ($valori[1] == $categorie[$cont])	
    		echo "<option Selected>";
    
    	else	echo "<option>";
    
    	echo $categorie[$cont]."</option>";
    	}
    
    
    
    	?>
    	</select>
    	<?php
    		if ($categoria_errore)
    			
    			echo "<font size='2' color='red'> Inserire la categoria </font>";
    			
    	?>
       	
    </td>
    
    <tr><td  valign='top'height='100'>
    Descrizione: </td>
    <td height='195' valign='top'>
    <textarea rows='11' cols='39' name ="descrizione" >
    <?php 
    echo $valori[2];
    ?>
    </textarea> <?php
    if ($descrizione_errore) echo "<font size='2' color='red' > Inserire la descrizione </font>";
    
    ?></td>
    
    
    
    <tr><td height='30'>
    Anno fabbricazione </td>
    
    <td> <select name="anno_fabbricazione" >
    	<option value=""></option>
    	<?php
    	$annoattuale = date("Y"); 
    	for ($cont=1900; $cont<= $annoattuale; $cont++)
    		{
    		if($valori[3] == $cont)
    			echo "<option Selected>";
    		else echo "<option>";
    		
    		echo $cont."</option>";
    		}
    		
    
    
       	?>
    	<option value=""></option>
    	</select> (Facoltativo)
    </td>
    
    
    
    <tr><td height='30'>
    Prezzo: </td>
    <td><input type="text" name ="prezzo" size= '7' value='<?php echo $valori[4]?>'>€
    <?php
    if ($prezzo_errore)
    	echo ("<font size='2' color='red'> Inserire il prezzo </font>");
    ?>
    </td>
    <tr><td height='40'>
    Privato/Azienda </td>
    <td>
    Privato  <input type="radio" name="privato_azienda" value="privato" <?php if($valori[5]=='privato') echo 'checked'?>>
    Azienda  <input type="radio" name="privato_azienda" value="azienda" <?php if($valori[5]=='azienda') echo 'checked'?>>
    
    <?php
    
    if ($privato_azienda_errore) echo  ("<font size='2' color='red'> Selezionare Privato o Azienda </font>");
    ?>
    </td>
    </tr>
    
    <tr><td>
    
    <input type='submit' value='Inserisci annuncio' name='submit'>
    </td></tr>
    <tr><td height='200'></td></tr></table>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,469
    Quindi stiamo parlando del radio button "privato_azienda"?

    In tal caso, quando clicchi sul pulsante submit, una delle due opzioni è selezionata? Sei sicuro?
    I radio button, così come i checkbox, se non selezionati non inviano niente e la relativa variabile risulta inesistente.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    410
    Esatto hai capito benissimo è proprio quel radio privato_azienda

    Il codice prevede la possibilità che non venga inserito nessun dato e genere un messaggio di errore chiamiamolo così, ossia il seguente

    codice:
    if ($privato_azienda_errore) echo  ("<font size='2' color='red'> Selezionare Privato o Azienda </font>");
    ah dunque devo inizializzarlo o qualcosa del genere? provo ad attribuirgli il valore NULL

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.