Scelta delle categorie tramite un'interrogazione del database

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
Ciao ^^ .... ho un dubbio per quanto riguarda uno script php. Quello che volevo realizzare è una form Html per l'inserimento di messaggi in n blog ( ovviamente questi messaggi devono essere insseriti nel database creato appositamente ) che trai vari vari campi abbiamo "categoria" dove tali categorie vengono prese dal database ( fino a qui fatto ) ma il problema sorge quando andando ad effettuare il submit d questa form mi provoca un errore :"Notice: Undefined index: Categoria in line 6 " e nella pagina del codice ( d seguito riportato ) vorrei mettere un'ancora per mandarli alla pagina di conferma per l'inserimento e non so come fare

Codice della form :

PHP:
<?php // creare una tabella categorie e far in modo che nella form la scelta della categoria si presa direttamente dal database

require_once 'config.php';
$conn=new PDO (DSN,USERNAME,PASSWORD);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it-IT">

<head> 
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

  <meta name="robots" content="noindex" />
  <meta name="googlebot" content="index" />
  <meta name="robots" content="nofollow" />

  <title>Titolo</title>

</head>
<body>
<div class="corpo">
<h1>Studente</h1>

<form name="categoria" action="inserimento.php" method="POST">

<p>Codice</p>
<input type="text" name="Codice"/><br>
<p>Titolo del messaggio</p>
<input type="text" name="Titolo"/><br>
<p> Messaggio</p>
<input type="text" name="messaggio"/><br>
<p> Data</p>
<input type="text" name="data"/><br>
<p> Categoria </p>
<select name="categorie">
<?php 
$categorie=$conn->query("SELECT * FROM categorie");
while ($riga=$categorie->fetch()){
echo "<option value='{$riga["codice"]}'>{$riga["Nome"]}</option>";
}
?>
</select><br>
<input type="submit" value="Upload">

</form>
</div>
</body>
</html>

Codice della pagina d'inserimento dove mi genera l'errore descritto sopra :

PHP:
<?php

require 'config.php';
$conn=new PDO (DSN,USERNAME,PASSWORD);
$stmt=$conn->prepare("INSERT INTO messaggi_blog (Codice,Titolo,messaggi,data,Categoria)VALUES (?,?,?,?,?)");
$stmt->execute(array($_POST['Codice'],$_POST['Titolo'],$_POST['messaggio'],$_POST['data'],$_POST['Categoria']));
$id=$conn->LastInsertId();
?>

Codice della pagina di conferma a cui vorrei ancorare la pagina dell'inserimento :

PHP:
<?php 

require 'config.php';

$conn=new PDO (DSN,USERNAME,PASSWORD);
$stmt=$conn->prepare("SELECT * FROM messaggi_blog.*, categorie.Nome as nome_categoria FROM messaggio_blog,categorie WHERE Categoria=categorie.Codice and messaggio_blog.Codice=?");
$stmt->execute (array($_GET['Codice']));
$ogg=$stmt->fetch();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it-IT">

<head> 
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

  <meta name="robots" content="noindex" />
  <meta name="googlebot" content="index" />
  <meta name="robots" content="nofollow" />

  <title>Titolo</title>

</head>
<body>
<div class="corpo">
<h1>Conferma</h1>
<p><strong>Inserimento avvenuto</strong></p>
<p>Codice :
<?php echo $ogg['Codice'] ?></p><br>
<p>Titolo del messaggio :
<?php echo $ogg['Titolo'] ?></p><br>
<p> Messaggio :
<?php echo $ogg['messaggio'] ?></p><br>
<p> Data : 
<?php echo $ogg['data'] ?></p><br>

<p>Categoria: <?php echo $ogg['nome_categoria'] ?>
</p>

</form>
</div>
</body>
</html>

Please help me :(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
così a lume di naso
la select l'hai chiamata "categorie" e il $_POST['Categorie']
ricordati che php è casesensitive, accortezza è quella di scrivere i nomi delle variabile sempre tutti minuscoli si evitano diversi errori
poi cosa intendo per "ancora"? l'ancoraggio ad un punto di una pagina o un link ad una pag?
 

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
ciao
così a lume di naso
la select l'hai chiamata "categorie" e il $_POST['Categorie']
ricordati che php è casesensitive, accortezza è quella di scrivere i nomi delle variabile sempre tutti minuscoli si evitano diversi errori
poi cosa intendo per "ancora"? l'ancoraggio ad un punto di una pagina o un link ad una pag?

Ancoraggio ad una pagina php .. in questo caso la pagina d conferma
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
quindi, se non ho capito male, vorresti che dalla pag inserimento (dopo l'inserimento) che l'utente fosse riinviato alla pag di conferma?
se è cosi potresti usare il tag meta

PHP:
<?php 
require 'config.php'; 
$conn=new PDO (DSN,USERNAME,PASSWORD); 
$stmt=$conn->prepare("INSERT INTO messaggi_blog (Codice,Titolo,messaggi,data,Categoria)VALUES (?,?,?,?,?)"); 
$stmt->execute(array($_POST['Codice'],$_POST['Titolo'],$_POST['messaggio'],$_POST['data'],$_POST['Categoria'])); 
$id=$conn->LastInsertId();

echo "<meta http-equiv='Refresh' content='0; URL=nome_pag_conferma.php?id=$id'>";
?>
nel content ='0;... lo zero sono i secondi di attesa prima di essere riinviato e puoi variarlo a piacere
dimenticavo al posto del meta refresc potresti usare

PHP:
echo "<meta http-equiv='location' content='URL=nome_pag_conferma.php?id=$id' />";
p.s.
era quello l'errore?
 
Ultima modifica:

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
ciao
quindi, se non ho capito male, vorresti che dalla pag inserimento (dopo l'inserimento) che l'utente fosse riinviato alla pag di conferma?
se è cosi potresti usare il tag meta

PHP:
<?php 
require 'config.php'; 
$conn=new PDO (DSN,USERNAME,PASSWORD); 
$stmt=$conn->prepare("INSERT INTO messaggi_blog (Codice,Titolo,messaggi,data,Categoria)VALUES (?,?,?,?,?)"); 
$stmt->execute(array($_POST['Codice'],$_POST['Titolo'],$_POST['messaggio'],$_POST['data'],$_POST['Categoria'])); 
$id=$conn->LastInsertId();

echo "<meta http-equiv='Refresh' content='0; URL=nome_pag_conferma.php?id=$id'>";
?>
nel content ='0;... lo zero sono i secondi di attesa prima di essere riinviato e puoi variarlo a piacere

p.s.
era quello l'errore?

l'errore iniziale era quello della diversa scrittura della varibile categoria e poi la funzione header x il reiderizzamento .. adesso funziona però ho un problema
 

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
problema che riguarda la pagina d conferma ... m dà un errore di notice e quando vado ad inserire i dati nè nella pagina d conferma ne nel database compaiono i dati inseriti nella form
 

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
Perchè mi da questi errori d Notice x la pagina dell'inserimento ??

"Notice: Undefined index: codice in inserimento.php on line 6 Notice: Undefined index: categoria in inserimento.php on line 6 Notice: Undefined index: codice in /inserimento.php on line 8 "
 

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
Vi posto i nuovi codici :

Codice della form:

PHP:
<?php // creare una tabella categorie e far in modo che nella form la scelta della categoria si presa direttamente dal database

require_once 'config.php';
$conn=new PDO (DSN,USERNAME,PASSWORD);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it-IT">

<head> 
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

  <meta name="robots" content="noindex" />
  <meta name="googlebot" content="index" />
  <meta name="robots" content="nofollow" />

  <title>Titolo</title>

</head>
<body>
<div class="corpo">
<h1>Gestione messaggi</h1>

<form name="messaggi" action="inserimento.php" method="POST">

<p>Codice</p>
<input type="text" name="CODICE"/><br>
<p>Titolo del messaggio</p>
<input type="text" name="Titolo"/><br>
<p> Messaggio</p>
<input type="text" name="messaggio"/><br>
<p> Data</p>
<input type="text" name="data"/><br>
<p> Categoria </p>
<select name="categorie">
<?php 
$categorie=$conn->query("SELECT * FROM categorie");
while ($riga=$categorie->fetch()){
echo "<option value='{$riga["Codice"]}'>{$riga["Nome"]}</option>";
}
?>
</select><br>
<input type="submit" value="Upload">

</form>
</div>
</body>
</html>

Codice dell'inserimento :

PHP:
<?php

require 'config.php';
$conn=new PDO (DSN,USERNAME,PASSWORD);
$stmt=$conn->prepare("INSERT INTO messaggi_blog (CODICE,Titolo,messaggi,data,categorie)VALUES (?,?,?,?,?)");
$stmt->execute(array($_POST["CODICE"],$_POST["Titolo"],$_POST["messaggio"],$_POST["data"],$_POST["categorie"]));
$id=$conn->LastInsertId();
echo "<meta http-equiv='Refresh' content='0; URL=conferma.php?id=$id'>"; // content senve per decidere i secondi d attesa prima d essere rinviato alla pagina prescelta
?>


Codice della conferma :

PHP:
<?php 

require 'config.php';

$conn=new PDO (DSN,USERNAME,PASSWORD);
$stmt=$conn->prepare("SELECT messaggi_blog.*, categorie.Nome as nome_categoria FROM messaggi_blog,categorie WHERE categorie=categorie.Nome and messaggi_blog.CODICE =?");
$stmt->execute (array($_GET['CODICE']));
$ogg=$stmt->fetch();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it-IT">

<head> 
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

  <meta name="robots" content="noindex" />
  <meta name="googlebot" content="index" />
  <meta name="robots" content="nofollow" />

  <title>Titolo</title>

</head>
<body>
<div class="corpo">
<h1>Conferma</h1>
<p><strong>Inserimento avvenuto</strong></p>
<p>Codice :
<?php echo $ogg['Codice'] ?></p><br>
<p>Titolo del messaggio :
<?php echo $ogg['Titolo'] ?></p><br>
<p> Messaggio :
<?php echo $ogg['messaggio'] ?></p><br>
<p> Data : 
<?php echo $ogg['data'] ?></p><br>

<p>Categoria: <?php echo $ogg['nome_categoria'] ?>
</p>

</form>
</div>
</body>
</html>


Il problema che ho ancora si trova nella visualizzazione di questa pagina ( conferma ) mi dà un notice "Undefine index CODICE at line 7 "... e nn mi visualizza la relativa form riempita .. e quando vado nel terminale per verificare se immetto la select della pagina d conferma mi dice vuoto invece quando digito la select sul database messaggi_blog c'è ... come mai ?
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
N [Javascript] [HTML] Scelta di una select e compilazione automatica delle restanti Javascript 0
M Aruba Cloud VPS: Guida alla scelta delle taglie Server Dedicati e VPS 6
S Gestire scelta dropdown con dati da Mysql PHP 2
C scelta operazione di calcolo in c++ C/C++ 7
S Scelta software/cms per creazione sito Webdesign e Grafica 6
E Sito con procedure guidate per la scelta prodotti CMS (Content Management System) 0
G Scelta dei Breakpoint HTML e CSS 1
M Lanciare alert se il codice fiscale è già presente nel db e lasciare la scelta di inserire all'utente PHP 42
delfinogrisu scelta dvr se esiste...... IP Cam e Videosorveglianza 0
A [PHP] Cancellare riga database a scelta dell'utente PHP 2
A [PHP] Modificare campo database in base alla scelta dell'utente PHP 2
I Scelta rete per 500 connessioni wifi solo LAN Reti LAN e Wireless 0
bubino8 [HTML] <input type="file"> Testo a scelta HTML e CSS 3
S [PHP] menù a tendina che stampi voce scelta in precedenza PHP 1
L Scelta form con jquery jQuery 1
A Scelta telecamere di sorveglianza IP Cam e Videosorveglianza 0
E scelta cavi telecamere IP Cam e Videosorveglianza 3
D Come salvare scelta della select "dinamica" ajax-php? Come dato php o attributo value tag option? Ajax 5
G Scelta DVR e Telecamere videosorveglianza IP Cam e Videosorveglianza 2
S [PHP] Abilitare un pulsante dopo scelta file... PHP 3
B [MySQL] campo di scelta MySQL 6
giancadeejay [PHP] INSERT into tabella tramite scelta checkbox PHP 0
K Server per sito di annunci: aiuto nella scelta Hosting 4
borgo italia scelta dei colori di background e colori di contrasto Snippet PHP 1
asevenx [Javascript] Estrazione dal database di un valore in base ad una scelta Javascript 7
A Scelta dvr IP Cam e Videosorveglianza 1
napuleone Leggere la scelta radio Javascript 0
A eseguire funzione dopo scelta dal form PHP 4
P [VENDO] Invii DEM internazionali o nazionali, con scelta 3 target Vendere e Acquistare pubblicita' online 0
P [VENDO] Invii DEM internazionali o stranieri, con scelta 3 target Email Marketing 0
B Scelta impianto videosorveglianza IP Cam e Videosorveglianza 30
L scelta webserver Apache 1
felino [Wordpress][Theme][Popart] Consiglio sulla scelta del Theme WordPress 14
G Aiuto scelta hosting Discussioni Varie 24
W Sviluppo APP da zero scelta hosting e DB Sviluppo app per Android 1
G Scelta template per iniziativa editoriale WordPress 5
filomeni Scelta del Powerline Reti LAN e Wireless 9
C Aiuto scelta CMS CMS (Content Management System) 1
novello88 Scelta di una manuale sulla programmazione Java Java 2
F Creazione 2° select in base alla scelta effettuata sulla 1° select Javascript 2
F Creazione 2° select in base alla scelta effettuata sulla 1° select PHP 1
voldemort Scelta Router Professionale per una grande struttura alberghiera Reti LAN e Wireless 5
H Menù a discesa contenente dati db, la scelta dal menù deve essere inviata in un altro db. PHP 1
G Scelta device fisico di supporto sviluppo app per Android Sviluppo app per Android 2
R Caratteristiche e scelta Hosting Hosting 8
G Tabella con campo a scelta multipla (dropbox) MS Access 1
R Scelta CMS Per Sito "non blog Style" CMS (Content Management System) 3
T Scelta servizio hosting per un principiante Hosting 2
C Aiuto scelta soluzioni hosting(VPS) o cloud computing(cloud storage) per app iOS Cloud Computing e Cloud Server 3
T [risolto] Realizzare un form email con multi scelta Sviluppo app per Android 2

Discussioni simili