switch che non funziona

minatore

Utente Attivo
25 Set 2007
410
0
0

Ciao a tutti, vi mostro subito il codice
PHP:
<table border='0' cellpadding="0" cellspacing="0" align="center">
	<tr>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td width="140" valign="top">
			<table border='0' cellpadding="0" cellspacing="0" align="center">
				<tr>
					<td width="140" height="20">
						<font size="1" color="#0000FF" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;
						<a href="?sezione=insert">Inserisci articolo</a></font>
					</td>
				</tr>
				<tr>
					<td width="140" height="20">
						<font size="1" color="#0000FF" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;
						<a href="?sezione=marca">Inserisci marca</a></font>
					</td>
				</tr>
				<tr>
					<td width="140" height="20">
						<font size="1" color="#0000FF" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;Foto 1° pag</font>
					</td>
				</tr>
				<tr>
					<td width="140" height="20">
						<font size="1" color="#0000FF" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;Foto miniature</font>
					</td>
				</tr>
				<tr>
					<td width="140" height="20">
						<font size="1" color="#0000FF" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;Foto grandi</font>
					</td>
				</tr>
				<tr>
					<td width="140" height="20">
						<font size="1" color="#0000FF" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;Visualizza articoli</font>
					</td>
				</tr>
				<tr>
					<td width="140" height="20">
						<font size="1" color="#0000FF" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;
						<a href="elenco.php">Elenco auto</a></font>
					</td>
				</tr>
				</tr>
				<tr>
					<td width="140" height="20">
						<font size="1" color="#0000FF" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;
						<a href="?sezione=benvenuto">Benvenuto</a></font>
					</td>
				</tr>
			</table>
<?php
				$sezioni=$_GET['sezione'];
				switch($sezioni)
					{
						case'insert':include('form_auto.php');
						break;
						case'marca':include('form_marca.php');
						break;
						case'benvenuto':include('benvenuto.php');
						break;
						
					}
			?>

mi da il seguente errore
Codice:
Notice: Undefined index: sezione in c:\programmi\easyphp1-8\www\motorcarfora\gestione\first_page.php on line 76
la linea 76 è
Codice:
				$sezioni=$_GET['sezione'];
ho provato a fare anche una cosa del genere
Codice:
	$sezioni=isset($_GET['sezione']);
però poi non mi funzionano i link
potreste aiutarmi a trovare l'errore

grazie
 
scusa
ma ho provato, mettendo degli echo al posto degli include e funzia
l'unico errore che ho rilevato è un doppio </tr>
prova a toglierlo non si sa mai
 
Strano, Borgo ha ragione, se si utilizza l'operatore di assegnazione la variabile passata per isset() dovrebbe assumere il valore 1 o 0.

Per evitare l'errore dovrebbe bastare un semplice controllo:

PHP:
if(isset($_GET['sezione']))
{
 $sezioni=$_GET['sezione'];
}else{
 //etc. etc.
}
 
Strano, Borgo ha ragione, se si utilizza l'operatore di assegnazione la variabile passata per isset() dovrebbe assumere il valore 1 o 0.

Per evitare l'errore dovrebbe bastare un semplice controllo:

PHP:
if(isset($_GET['sezione']))
{
 $sezioni=$_GET['sezione'];
}else{
 //etc. etc.
}

ciao, inizialmente io avevo fatto come dite voi
PHP:
$sezioni=$_GET['sezione'];
				switch($sezioni)
					{
						case'insert':include('form_auto.php');
						break;
						case'marca':include('form_marca.php');
						break;
						case'benvenuto':include('benvenuto.php');
						break;
						
					}
il problema era che quando cliccavo sui link mi apriva sempre la stessa pagina cioè il primo case (form_auto.php), ma stranamente togliendo isset mi funzionavano bene, però veniva un nuovo errore, variabile indefinita
allora ho pensato di scrivervi

ciao e grazie
 
ciao
non capisco io ho utilizzato il tuo script che hai postato per primo e ho fatto nella parte php queste modifiche non avendo io i file da includere

$sezioni=$_GET['sezione'];
echo "il get prima di switch ".$sezioni."<br>";
switch($sezioni)
{
case'insert'://include('form_auto.php');
echo "caso insert ".$sezioni."<br>";

break;
case'marca'://include('form_marca.php');
echo "caso marca ".$sezioni."<br>";

break;
case'benvenuto'://include('benvenuto.php');
echo "caso benvenuto ".$sezioni."<br>";

break;

}

in funzione del link cliccato viene visualizzato il messaggio prima dello switch e l'altro giusto
non da l'errore
..variabile indefinita..


comunque prova a commentare gli include (uno alla volta) inserendo l'echo e vedi cosa ti risulta
 

Discussioni simili