- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problemi con "<option value='" . $riga[' '] . "'>" . $riga[' '] .
-
C'è una ragione non sono un fanatico delle session!

E' che questa pagina oltre al menù a tendina ha davvero molti altri campi, i quali vanno passati sotto POST poiché è unico il modulo in cui è inserita la moltitudine dei form
-
E quindi le sessioni che c'entrano?
-
Nella prima pagina creo le sessioni, nella seconda non mi occorrono, nella terza pagina mi serve richiamarle.
-
Perchè non puoi passarle dalla prima alla seconda, e dopo dalla seconda alla terza?
-
Ho capito va ti spiego dettagliatamente: la prima pagina inserisci i valori, ci sono vari cicli if e se tutto è corretto inserisce i valori immessi nel database. Se l'inserimento è andato a buon fine, viene visualizzato un link che ti manda ad un'altra pagine di riepilogo dei dati inseriti. In questa pagina di riepilogo io stampavo i valori session dei parametri che prima ho postato, per tutti gli altri invece facevo una query select e li stampavo.
Ora se te mi consigli il GET va benissimo, mi fido ciecamente perché le mie conoscenze sono terra terra, l'unica cosa è che non so proprio che codice usare così
-
Allora le sessioni puoi eliminarle tranquillamente.
Solitamente il passaggio dei dati per un inserimento avviene con metodo POST, se dopo devi mandare l'utente ad una pagina di riepilogo lo mandi verso una pagina del tipo riepilogo.php?id_riepilogo=X
La pagina riepilogo.php dovrebbe prendere i dati esclusivamente dal database, non da session od altro.
-
Perfetto!
Ultima cosa: come faccio a tirare fuori una variabile id da questa stringa? (mi serve per il WHERE della SELECT)
[PHP]
while ($riga=mysql_fetch_array($risultato))
{
$qqq = "<option value="".$riga["id"]."">".$riga["id"]."</option>";
echo $qqq;
[/PHP]
-
Se il select si chiama pippo la trovi in $_POST['pippo'] se il form è con metodo post, se è GET lo trovi in $_GET['pippo']
-
E solo per completezza (dovesse servire in altre occasioni): qualora avessi usato una SESSION?
-
Non si può fare direttamente, session serve per altri scopi, non per queste cose.
-
Sarò duro di comprendonio ma proprio non riesco a risolvere il problema:
In questa pagina "1.php" devo inserire molti dati, quindi uso il POST, tramite i CICLI IF verifico se ci sono errori, qualora è andato tutto a buon fine in alto alla pagina "1.php" mi dà il link al visualizza riepilogo (11.php).
Nella pagina "1.php" c'è anche questo maledetto menù a tendina dove scegliere un numero[PHP]
while ($riga=mysql_fetch_array($risultato)){
$idcon = $riga["id"];
$nomecon = $riga["nome"];
$qqq = "<option value= "" . $idcon . "">" . $nomecon . "</option>";
echo $qqq;[/PHP]
Il link che mi fa andare alla pagina di riepilogo -come mi hai suggerito- ha: 11.php?id_riepilogo=$qqq:
[PHP]
if (!empty($errori))
{$messaggio = "Errore nella compilazione dei campi del form";}else{$messaggio = "Inserimento avvenuto!!" . "<br/>" . "Vedi il <a href='11.php?id_riepilogo=$qqq'>RIEPILOGO!</a>";}[/PHP]
Così nell'url mi trovo: "11.php?id_riepilogo=<option value= "1">1</option>" che tra l'altro è errato perché nel menù a tendina io avevo scelto 4 e non 1.
La domanda è: nella pagina riepilogo (11.php) come faccio a catturare il parametro 4 (che mi serve per la condizione WHERE del SELECT)??Scusa ancora e grazie

-
Esempio:
[php]
<form action="pagina2.php" method="get">
<select name="ciao">
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" />
</form>
[/php]Pagina2.php
[php]
if(isset($_GET['ciao']))
echo $_GET['ciao'];
[/php]Prova questo codice, e capisci come funziona.
-
Eh ma il problema è che non posso usare il GET perché nella prima pagina ho 80 campi da riempire tra cui anche il menù a tendina!
-
Usi il post, non cambia nulla.
-
Il GET non lo posso utilizzare perché è una pagina con troppi inserimenti, il POST neppure perché le pagine non sono consequenziali!

-
Perchè non vuoi fare le cose come ti ho detto io, per queste cose si usa un database.
La pagina 1 con il form salva i dati su un database, e nella pagina 3 recuperi i dati dal database.
-
Ok, ho modificato il database e ho fatto una query con due tabelle. Riuscito!

Grazie per la pazienza
-
Bene.

Figurati, per qualsiasi problema/domanda siamo qui ad aiutarti.