$_GET e switch, problema di stampa

  • Creatore Discussione Creatore Discussione Komix
  • Data di inizio Data di inizio

Komix

Nuovo Utente
18 Mar 2012
8
0
0
Salve a tutti, nuovo arrivo su mrwebmaster, quello che sto per chiedere non è un vero e proprio errore, perchè il mio script funziona benissimo, soltanto ho bisogno di un "consiglio" perchè ho un problema con la stampa...
Allora, diciamo che io ho due link, tramite $_GET imposto che quando il suddetto avrà un certo valore, si eseguano determinate azioni, percui si ha uno switch
PHP:
	switch($_GET['del'])
	{
		case 'yes':
		$query_del='DELETE FROM data WHERE id='.$row['id'];
		mysql_query($query_del, $db) or die ("<br>".'Non sono riuscito ad eseguire la query'."<br />".mysql_error($db)."<br>");
		echo "<br><br><b>Commento cancellato con successo!!</b><br><br>";
		echo "<a href=\"home.php\">TORNA ALLA HOME</a>| | <a href=\"admin.php\">";
		break;
		case 'no':
		header("location: home.php");
		break;
	}

Sapreste spiegarmi perchè (in questo caso il primo caso (appunto :cool: )) quando deve stampare i messaggi di conferma dell'avvenuta operazione, anzichè sostituire tutto il contenuto della pagina, viene accodato alla fine?
Cioè io vorrei che il contenuto venga sostituito in base al link che si clicca, perchè appunto si eseguono operazioni diverse, come posso fare?
 
ciao
intanto benvenuto nel forum
non dipende dallo switch, ma da come hai impostato lo script, se lo imposti in quasto modo vedrai che cliccando sul si o nole scritte si e no spariscono e appare (se clik su si) la scritta Commento cancellato con successo!!...
PHP:
<?php
if(isset($_GET['del'])){
   switch($_GET['del']) 
    { 
        case 'yes': 
        $query_del='DELETE FROM data WHERE id='.$row['id']; 
        //mysql_query($query_del, $db) or die ("<br>".'Non sono riuscito ad eseguire la query'."<br />".mysql_error($db)."<br>"); 
        echo "<br><br><b>Commento cancellato con successo!!</b><br><br>"; 
        echo "<a href=\"home.php\">TORNA ALLA HOME</a>| | <a href=\"admin.php\">"; 
        break; 
        case 'no': 
        header("location: home.php"); 
        break; 
    }  
}else{
?>
cancella 
<a href="?del=yes">si</a> <a href="?del=no">no</a>
<?php
}
?>
domenticavo: nello switch ti conviene inserire

PHP:
//.....
    default:
    header("location: home.php"); 
    break;
}
 
Ultima modifica:
Ma quindi a parte l'utilizzo di isset non cambia nient'altro?
Potresti spiegarmi come mai c'è proprio bisogno di un if che gli indica se la variabile del è utilizzata?
 
ciao
perche se utilizzata ti visualizza (stampa) solo quello che c'è tra
if(isset($_GET...){
e }else
mente se non è utilizzata visualizza (stampa) quello che c'è tra
else{ e }
a parte l'if/else non cambia altro, anche se come detto metterei il default nello switch, perche usando il get qualcuno potrebbe scrivere sul bw
http://tuo_sito.com/pagina.php?del=pinco (o qualsiasi altra cosa)
ma se è qualsiasia latra cosa ti riinvia comunque alla home

almeno questo è quello che ho capito che volevi, se non ho capito rispiega.
 

Discussioni simili