problema con isset(GET)

Stato
Chiusa ad ulteriori risposte.

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, ho un problema .. ho un notice ad questa riga:

Notice: Undefined index: cat in D:\xampp\htdocs\mc2\admin\ph_aggiungi.php on line 8
$pieces = explode("|", addslashes($_GET["cat"]));
Ho messo la get per far che quando seleziono il menu a tendina mi deve rimanere nella voce che l'utente a selezionato..
e nel frattempo popolare l'altra come si è già risolto in un'altra discussione,


solo se metto isset(); etc.. non funziona più l'auto selezione della prima menu a tendina.

come posso metterlo?

il codice intero è questo :
PHP:
<?php
// Includo 
require_once(dirname(__FILE__) . '/../inc.php');
require_once(dirname(__FILE__) . '/admin.php');
require_once(dirname(__FILE__) . "/../template/".$template_admin."/header.php");
	
	
	$pieces = explode("|", addslashes($_GET["cat"]));

if(isset($_POST["invia"]))
{
	$pieces = explode("|", addslashes($_POST["cat"]));
	$user = (isset($_POST["user"])) ? trim ($_POST["user"]): '';
	$user_id = (isset($_POST["user_id"])) ? trim ($_POST["user_id"]): '';
    $titolo = (isset($_POST["titolo"])) ? trim ($_POST["titolo"]): '';
    $testo = (isset($_POST["testo"])) ? trim ($_POST["testo"]): '';
   $data = (isset($_POST["data"])) ? trim ($_POST["data"]): '';
	$tag = (isset($_POST["tag"])) ? trim ($_POST["tag"]): '';
	$_url = (isset($_POST["_url"])) ? trim ($_POST["_url"]): '';
    $active = (isset($_POST["active"])) ? trim ($_POST["active"]): '';
	// Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
	if (!get_magic_quotes_gpc()) {
		$user = addslashes($user);
		$user_id = addslashes($user_id);
 		$titolo = addslashes($titolo);
		
          $_url = addslashes($_url);
		$testo = addslashes($testo);
	     $data = addslashes($data);
		$tag = addslashes($tag);
        $active = addslashes($active);
		
	}
	if(empty($user))
	$error = "Non hai inserito l'username";
	elseif(empty($_url))
	$error = "Non hai inserito il _url";
	
	elseif(empty($titolo))
	$error = "Non hai inserito il titolo";
	elseif($_POST["cat"] == "")
	$error = "Non hai inserito la categoria";
	elseif(empty($testo))
	$error = "Non hai inserito il testo";
		elseif(empty($data))
	$error = "Non hai inserito la data";
	elseif(empty($active))
	$error = "Non hai inserito lo stato";
 	else
	{
	
		$strSQL = "INSERT INTO foto(user,";
		$strSQL.="_userid,";
		$strSQL.="_cat,";
		$strSQL.="_catid,";
		$strSQL.="_dir,";
		$strSQL.="titolo,";
		$strSQL.="testo,";
		$strSQL.="url,";
		$strSQL.="tag,";
		$strSQL.="data,";
		$strSQL.="active)";
		$strSQL.= "VALUES('".$user."',";
		$strSQL.="".$user_id.",";
		$strSQL.="'".$pieces[1]."',";
		$strSQL.="'".$pieces[0]."',";
		$strSQL.="'".$pieces[1]."',";
		$strSQL.="'".$titolo."',";
		$strSQL.="'".$testo."',";
		$strSQL.="'".$_url."',";
		$strSQL.="'".$tag."',";
		$strSQL.="'".$data."',";
		$strSQL.="'".$active."')";
		$db->query($strSQL) or die($db->error);
        $db->close();
		$msg = "fatto";
		}
	}
?>

<p class="titolo">Aggiungi Foto</p>
<?php
 if(isset($error)){ echo $error;}
if(isset($msg)){ echo $msg;} else {
?>
	<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>?cat=<?php echo $_GET["cat"]; ?>">



<table width="100%" align="center">
<tr>
	<td width="16%">User</td>
	<td width="84%"><input name="user" type="text" id="user" readonly  value="<?php if(isset($_POST['user'])){echo $_POST['user'];}else { echo get_username($_SESSION["user_crypt"]); }?>"  /></td>
</tr>
<tr>
	<td>User ID</td>
	<td><input name="user_id" type="text" id="user_id" readonly  value="<?php if(isset($_POST['user_id'])){echo $_POST['user_id'];}else { echo get_userID($_SESSION["user_crypt"]);  }?>"/></td>
</tr><tr>
      <td>Seleziona Categoria</td>
      <td><?php echo "<select onchange=\"document.location.href = '" . $_SERVER['PHP_SELF'] . "?cat=' + this.value;\" name=\"cat\">";?>

        <option  selected="selected" value="">Seleziona</option>
        <?php
	$result = $db->query("SELECT * FROM foto_categorie");
	
	while($row = $result->fetch_array())
	{
	$_cat= $row['titolo'];
	$id = $row['id'];
  ?>
        <option value="<?php echo $id; ?>|<?php echo $_cat; ?>"<?php if($pieces[0]=="".$id."") echo 'selected'?> ><?php echo $_cat; ?></option>
        <?php
  }
?>
      </select></td>
    </tr>
<tr><tr>
    <td>Seleziona Foto</td>
    
    <td>
        <?php
		$images = array();
        if (isset($_GET['cat'])) {
           
            $pieces = explode('|', addslashes($_GET['cat']));

            $dir = "../public/photo/{$pieces[1]}";

            if (is_dir($dir) && is_readable($dir)) {
                $files = glob("{$dir}/*");

                foreach ($files as $fname) {
                    if (
                        $fname == '.' ||
                        $fname == '..' ||
                        $fname == basename($_SERVER['PHP_SELF'])
                    ) {
                        continue;
                    }

                    if (is_dir($fname)) {
                        $images[basename($fname)] = "(Dir) {$fname}";
                    }
                    else {
                        $images[basename($fname)] = $fname;
                    }
                }
            }
        }

        echo "<select name=\"_url\">\n";
        
        foreach ($images as $display_name => $fname) {
            echo "<option value=\"{$display_name}\">{$display_name}</option>\n";
        }
        
        echo "</select>\n";
        ?>
    </td>
</tr>
	<tr>
	<td>Titolo</td>
	<td><input name="titolo" type="text" id="titolo"  value="<?php if(isset($_POST['titolo'])){echo $_POST['titolo'];}else { echo isset($titolo); }?>" size="40"  /></td>
</tr>
<tr>
	<td>Testo</td>
	<td><textarea cols="50" rows="10" name="testo"><?php if(isset($_POST['testo'])){echo $_POST['testo'];}else { echo isset($testo); }?></textarea></td>
</tr>

<tr>
	<td>Data</td>
	<td><input name="data" type="text" id="data"  value="<?php if(isset($_POST['data'])){echo $_POST['data'];}else { echo  "".date("d-m-Y").""; }?>"  /></td>
</tr><tr>
	<td>tag</td>
	<td><input name="tag" type="text" id="tag"  value="<?php if(isset($_POST['tag'])){echo $_POST['tag'];}else { echo isset($tag); }?>"  /></td>
</tr>
<tr>
	<td>Stato di attivazione</td>
	<td><input name="active" type="text" id="active"  value="<?php if(isset($_POST['active'])){echo $_POST['active'];}else { echo "".isset($active).""; }?>"  /></td>
</tr>
<tr>
	<td></td>
	<td></td>
</tr>
</table>






		<input type="submit" value="Aggiungi Foto" name="invia" />&nbsp;<input type="reset" value="Annulla Modifiche">
	</form>
	<?php 
	}?><?php
require_once(dirname(__FILE__) . "/../template/".$template_admin."/footer.php");
?>
 

TheTrigger

Utente Attivo
3 Giu 2011
38
0
0
Per i tuoi prossimi script, ti consiglio di utilizzare questo metodo:

PHP:
foreach($_POST as $key => $value)
    $_POST[$key] = addslashes(trim($value)); # O qualsiasi altra funzione per proteggere il codice

# Questo ciclo esegue quelle funzioni su tutto l'array di _POST, quindi in seguito, invece di creare nuove variabili utilizzi direttamente $_POST['xxx']

Non sò se hai commesso un errore o meno, ma 'cat' è sia su _GET che su _POST
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Per i tuoi prossimi script, ti consiglio di utilizzare questo metodo:

PHP:
foreach($_POST as $key => $value)
    $_POST[$key] = addslashes(trim($value)); # O qualsiasi altra funzione per proteggere il codice

# Questo ciclo esegue quelle funzioni su tutto l'array di _POST, quindi in seguito, invece di creare nuove variabili utilizzi direttamente $_POST['xxx']

Non sò se hai commesso un errore o meno, ma 'cat' è sia su _GET che su _POST

non mi serve i tuoi suggerimenti ..
poi per il post e get della solita variabile

se sai cosa è:

esegui codice fuori dal post invia ,
if(isset($_POST["invia"]))
{
esegui il codice dentro al $_post Invia
}
e quindi non ho sbagliato.

grazie lo stesso.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Invece ha ragione. Ora il problema no si pone perché usi una sola variabile, ma prima in una riga recuperavi la variabile tramite GET:
PHP:
$pieces = explode("|", addslashes($_GET["cat"]));
E in quella successiva tramite POST:
PHP:
$pieces = explode("|", addslashes($_POST["cat"]));
Quindi, a meno che la stessa variabile non fosse inviata usando sia GET che POST (improbabile e sconsigliato), avevi sbagliato.

Ti ricordo comunque che questa è una comunità, e frasi come "non mi servono i tuoi suggerimenti" non sono ben accette, soprattutto perché, a giudicare dalla qualità del tuo codice, hai un disperato bisogno di suggerimenti.

Chiudo.
 
Stato
Chiusa ad ulteriori risposte.
Discussioni simili
Autore Titolo Forum Risposte Data
voldemort Problema in Shopify con Pixel Facebook E-Commerce 1
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema con eccessiva nitidezza apertura Camera Raw Photoshop 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1
M Problema con php per calcolo costo percentuale PHP 7
S Problema con mysqli_num_rows PHP 18

Discussioni simili