- Home
- Categorie
- Coding e Sistemistica
- PHP
- dati del form
-
@Puitz said:
ciao ho un problema con php. ho creato un form per ordinare dei prodotti. -su "step1" seleziono il numero dei prodotti
-su "step2" visualizzo i prodotti scelti e posso tornare indietro o confermare
-su "step3" oltre a visualizzare i prodotti scelti c'è da compilare il form con i propri datida "step1" a "step2" riesco a spedire le variabili scelte tramite il form con metodo post, ma da "step2" a "step3" come faccio a mantenere attive le variabili?
da "step3" il form spedisce i dati tramite post su fine.php che si occupa di spedire una mail con i dati anagrafici e gli ordini relativi ai prodotti...e anche qui come faccio a dirgli di spedirmi le variabili per mail?
devo creare un ulteriore variabile che comprenda il form delle variabili?ma come faccio a dirgli di prendermi un determinato pezzo di codice?
grazie a chiunque mi risponderà
ciauzzzzzzzzzzz
o usi le sessioni, o usi dei campi hidden ovvero nascosti:
ci sarà sempre il pulsante di submit come in un form, ma i campi non si vedranno:<input type='hidden' name='nome_campo' value='valore_campo'>
naturalmente scelta pessima se si devono mandare password, perchè chi apre l'HTML la vede
-
@PaTeR said:
o usi le sessioni, o usi dei campi hidden ovvero nascosti:
ci sarà sempre il pulsante di submit come in un form, ma i campi non si vedranno:
<input type='hidden' name='nome_campo' value='valore_campo'>per facilitare le cose ho eliminato uno step. ora ho "step1.php" dove ordino, passo i valori a "step2.php" e completo l'ordine con i dati anagrafici.
per visualizzare i prodotti, ho creato degli array:
nome_prodotti
prezzo_prodotti
numero_prodotti
e ho creato una varibile "indice" per dei cicli for per la stampa a video. il campo hidden dove lo inserisco?devo crearne uno per ogni variabile?
questa è una variabile che indica "prodotto 1"
'p1' => $_POST["p1"]grazie a chi mi risponderà
ciao
-
@Puitz said:
per facilitare le cose ho eliminato uno step. ora ho "step1.php" dove ordino, passo i valori a "step2.php" e completo l'ordine con i dati anagrafici.
per visualizzare i prodotti, ho creato degli array:
nome_prodotti
prezzo_prodotti
numero_prodotti
e ho creato una varibile "indice" per dei cicli for per la stampa a video. il campo hidden dove lo inserisco?devo crearne uno per ogni variabile?
questa è una variabile che indica "prodotto 1"
'p1' => $_POST["p1"]grazie a chi mi risponderà
ciao
In un form:<form action="step3.php" method="POST">
<input type="hidden" name="variabile1" value="valore">
<input type="hidden" name="variabile2" value="valore">
<input type="hidden" name="variabile3" value="valore">
</form>
-
@PaTeR said:
In un form:
<form action="step3.php" method="POST">
<input type="hidden" name="variabile1" value="valore">
<input type="hidden" name="variabile2" value="valore">
<input type="hidden" name="variabile3" value="valore">
</form>perdonami, sarà stupido ma nn ne stò venendo a capo di stà storia.
ho integrato nel form esistente (<form action="elabora.php" method="POST">)
<input type="hidden" name="p1" value="$nome_prodotti['$indice']">
<input type="hidden" name="p2" value="$numero_prodotti">
<input type="hidden" name="p3" value="$prezzo_prodotti">e in elabora.php ho scritto
<td>'.$_POST[p1].'</td>
<td>'.$_POST[p2].'</td>
<td>'.$_POST[p3].'</td>e la stampa nella mail che ricevo è quella di
$nome_prodotti['$indice']
$numero_prodotti
$prezzo_prodottiinsomma nn mi stampa i prodotti selezionati con relativi prezzi selezionati in step1.php. devo creare un "hidden" per tutti e venti i prodotti?
grazie ancora
ciao
-
@Puitz said:
@PaTeR said:
In un form:
<form action="step3.php" method="POST">
<input type="hidden" name="variabile1" value="valore">
<input type="hidden" name="variabile2" value="valore">
<input type="hidden" name="variabile3" value="valore">
</form>perdonami, sarà stupido ma nn ne stò venendo a capo di stà storia.
ho integrato nel form esistente (<form action="elabora.php" method="POST">)
<input type="hidden" name="p1" value="$nome_prodotti['$indice']">
<input type="hidden" name="p2" value="$numero_prodotti">
<input type="hidden" name="p3" value="$prezzo_prodotti">e in elabora.php ho scritto
<td>'.$_POST[p1].'</td>
<td>'.$_POST[p2].'</td>
<td>'.$_POST[p3].'</td>e la stampa nella mail che ricevo è quella di
$nome_prodotti['$indice']
$numero_prodotti
$prezzo_prodottiinsomma nn mi stampa i prodotti selezionati con relativi prezzi selezionati in step1.php. devo creare un "hidden" per tutti e venti i prodotti?
grazie ancora
ciaose vuoi puoi pure serializzare un array e mandarlo con il metodo post...serialize();
unserialize();
comunque fai
print '
<input type="hidden" name="p1" value="'.$nome_prodotti[$indice].'">
<input type="hidden" name="p2" value="'.$numero_prodotti.'">
<input type="hidden" name="p3" value="'.$prezzo_prodotti.'">
';
-
@PaTeR said:
se vuoi puoi pure serializzare un array e mandarlo con il metodo post...
serialize();
unserialize();
comunque fai
print '
<input type="hidden" name="p1" value="'.$nome_prodotti[$indice].'">
<input type="hidden" name="p2" value="'.$numero_prodotti.'">
<input type="hidden" name="p3" value="'.$prezzo_prodotti.'">
';ok ho creato degli hidden in step2.php
<? print '
<input type="hidden" name="p1" value="'.$nome_prodotti[$indice].'">
<input type="hidden" name="p2" value="'.$numero_prodotti[$indice].'">
<input type="hidden" name="p3" value="'.$prezzo_prodotti[$indice].'">
<input type="hidden" name="p4" value="'.$totale_attuale.'">
<input type="hidden" name="p5" value="'.$totale.'">
'; ?>e in elabora.php
<td>'.$_POST[p1].'</td>
<td>'.$_POST[p2].'</td>
<td>'.$_POST[p3].'</td>
<td>'.$_POST[p4].'</td>
<td>'.$_POST[p5].'</td>p5, il totale dell'ordine funziona
p1, mi stampa il 21esimo prodotto, che sia stato ordinato o no
p2, non mi restituisce nulla
p3, il prezzo del 21esimo prodotto, anche se nn è stato selezionato
p4, mi restituisce la somma dell'ultimo prodotto che è stato ordinato, ma in corrispondenza del 21esimo prodotto, quindi sbagliato
ho capito di aver creato degli array un pò del cavolo, ma per essere alle prime armi e molto di fretta, non riesco a capire dove sbaglio.
grazie PaTeR per la pazienza
-
@Puitz said:
@PaTeR said:
se vuoi puoi pure serializzare un array e mandarlo con il metodo post...serialize();
unserialize();
comunque fai
print '
<input type="hidden" name="p1" value="'.$nome_prodotti[$indice].'">
<input type="hidden" name="p2" value="'.$numero_prodotti.'">
<input type="hidden" name="p3" value="'.$prezzo_prodotti.'">
';ok ho creato degli hidden in step2.php
<? print '
<input type="hidden" name="p1" value="'.$nome_prodotti[$indice].'">
<input type="hidden" name="p2" value="'.$numero_prodotti[$indice].'">
<input type="hidden" name="p3" value="'.$prezzo_prodotti[$indice].'">
<input type="hidden" name="p4" value="'.$totale_attuale.'">
<input type="hidden" name="p5" value="'.$totale.'">
'; ?>e in elabora.php
<td>'.$_POST[p1].'</td>
<td>'.$_POST[p2].'</td>
<td>'.$_POST[p3].'</td>
<td>'.$_POST[p4].'</td>
<td>'.$_POST[p5].'</td>p5, il totale dell'ordine funziona
p1, mi stampa il 21esimo prodotto, che sia stato ordinato o no
p2, non mi restituisce nulla
p3, il prezzo del 21esimo prodotto, anche se nn è stato selezionato
p4, mi restituisce la somma dell'ultimo prodotto che è stato ordinato, ma in corrispondenza del 21esimo prodotto, quindi sbagliato
ho capito di aver creato degli array un pò del cavolo, ma per essere alle prime armi e molto di fretta, non riesco a capire dove sbaglio.
grazie PaTeR per la pazienzadi niente, anzi, è un piacere aiutareperò mi dovresti dire da dove prendi quei valori, perchè se no, non ti so dire molto... Se avresti anche un sito dove posso testare la pagina sarebbe il massimo
-
ok partiamo da STEP1.PHP, dove c'è il form dei prodotti, e ti scrivo il form con un esempio di variabile:
<form name="prodotti" action="step2.php" method="post">
<td><input name="p1" type="text" maxlength="5"></td>
<td><input name="p2" type="text" maxlength="5"></td>
<input type="submit" value="Verifica carrello">in STEP2.PHP c'è il riepilogo dei prodotti e la compilazione dei dati:
<?php
$numero_prodotti = array(
'p1' => $_POST["p1"],
'p2' => $_POST["p2"]
);
$nome_prodotti = array (
'p1' => "Caffettiera",
'p1' => "Set"
);
$prezzo_prodotti = array (
'p1' => "2.00",
'p2' => "2.00"
);
?>poi c'è un ciclo for e la variabile $indice:
<?php
for ($i = 1; $i <= 21; $i++) {
$indice = "p".$i;
if ($numero_prodotti["$indice"] <> 0) {
?>e nei giusti campi vengono stampate il nome prodotti, il prezzo, la quantità tenendo presente gli array
echo($nome_prodotti["$indice"]);
.......
poi ottengo il totale del singolo prodotto e il totale generale dell'ordine:
<?php
$totale_attuale = $numero_prodotti["$indice"] *$prezzo_prodotti["$indice"];
$totale = $totale + $totale_attuale;
echo ($totale_attuale." ?");
?>insomma sono le variabili che poi dovrei riportare in ELABORA.PHP,cioè nella mail, le stesse, e con i campi hidden insomma nn ha funzionato alla grande. Il codice non è granchè, ma è il mio primo passo in php.
tutto qui
grazie
ciao
-
@Puitz said:
ok partiamo da STEP1.PHP, dove c'è il form dei prodotti, e ti scrivo il form con un esempio di variabile:
<form name="prodotti" action="step2.php" method="post">
<td><input name="p1" type="text" maxlength="5"></td>
<td><input name="p2" type="text" maxlength="5"></td>
<input type="submit" value="Verifica carrello">in STEP2.PHP c'è il riepilogo dei prodotti e la compilazione dei dati:
<?php
$numero_prodotti = array(
'p1' => $_POST["p1"],
'p2' => $_POST["p2"]
);
$nome_prodotti = array (
'p1' => "Caffettiera",
'p1' => "Set"
);
$prezzo_prodotti = array (
'p1' => "2.00",
'p2' => "2.00"
);
?>poi c'è un ciclo for e la variabile $indice:
<?php
for ($i = 1; $i <= 21; $i++) {
$indice = "p".$i;
if ($numero_prodotti["$indice"] <> 0) {
?>e nei giusti campi vengono stampate il nome prodotti, il prezzo, la quantità tenendo presente gli array
echo($nome_prodotti["$indice"]);
.......
poi ottengo il totale del singolo prodotto e il totale generale dell'ordine:
<?php
$totale_attuale = $numero_prodotti["$indice"] *$prezzo_prodotti["$indice"];
$totale = $totale + $totale_attuale;
echo ($totale_attuale." ?");
?>insomma sono le variabili che poi dovrei riportare in ELABORA.PHP,cioè nella mail, le stesse, e con i campi hidden insomma nn ha funzionato alla grande. Il codice non è granchè, ma è il mio primo passo in php.
tutto qui
grazie
ciaoAllora prova con una sessione:
aggiungi session_start(); all'inizio della pagina ed una l'array $_SESSION per mettere valori o altro.
in elabora.php rimetti session_start(); all'inizio della pagina e in $_SESSION avrai i valori che avevi settato in step2.php
-
stò facendo una serie di prove, ma ancora niente....purtroppo neanche la documentazione php mi è di aiuto...continuo
ti faccio sapere
grazie ancora
ciao
-
in step2.php
session_start();
$_SESSION['numero_prodotti'] = $_POST['numero_prodotti'];
$_SESSION['nome_prodotti'] = $_POST['nome_prodotti'];
$_SESSION['prezzo_prodotti'] = $_POST['prezzo_prodotti'];
$_SESSION['totale_attuale'] = $_POST['totale_attuale'];in elabora.php
session_start();
<td>'.$_SESSION['nome_prodotti'].'</td>
<td>'.$_SESSION['numero_prodotti'].'</td>
<td>'.$_SESSION['prezzo_prodotti'].'</td>
<td>'.$_SESSION['totale_attuale'].'</td>quello che mi stampa nella mail, nei campi è "Array"...sembra funzionare, ma come faccio a dirgli di stamparmi la roba che è dentro all'array?cioè p1, p2.... :bho:
-
@Puitz said:
in step2.php
session_start();
$_SESSION['numero_prodotti'] = $_POST['numero_prodotti'];
$_SESSION['nome_prodotti'] = $_POST['nome_prodotti'];
$_SESSION['prezzo_prodotti'] = $_POST['prezzo_prodotti'];
$_SESSION['totale_attuale'] = $_POST['totale_attuale'];in elabora.php
session_start();
<td>'.$_SESSION['nome_prodotti'].'</td>
<td>'.$_SESSION['numero_prodotti'].'</td>
<td>'.$_SESSION['prezzo_prodotti'].'</td>
<td>'.$_SESSION['totale_attuale'].'</td>quello che mi stampa nella mail, nei campi è "Array"...sembra funzionare, ma come faccio a dirgli di stamparmi la roba che è dentro all'array?cioè p1, p2.... :bho:
$_SESSION['nome_prodotti']['p1']
-
'.$_SESSION['nome_prodotti'] [p1].'
'.$_SESSION['nome_prodotti'] [p2].'
'.$_SESSION['nome_prodotti'] [p3].'
.....
mi visualizza tutti i prodotti selezionati e non'.$_SESSION['numero_prodotti'] [p1].'
'.$_SESSION['numero_prodotti'] [p2].'
'.$_SESSION['numero_prodotti'] [p3].'
....
mi visualizza il numero esatto dei prodotti selezionati, quindi funziona, e solo perchè in step2.php il numero era preso col post:
$numero_prodotti = array(
'p1' => $_POST["p1"],
....'.$_SESSION['prezzo_prodotti'] [p1].' ?
'.$_SESSION['prezzo_prodotti'] [p2].' ?
'.$_SESSION['prezzo_prodotti'] [p3].' ?
....
mi visualizza i prezzi di tutti i prodotti, selezionati e nonper il totale, al solito mi stampa solo l'ultimo prezzo del prodotto selezionato
dove sbaglio?devo inserire qualcosaltro?
thanks ancora una volta
-
@Puitz said:
'.$_SESSION['nome_prodotti'] [p1].'
'.$_SESSION['nome_prodotti'] [p2].'
'.$_SESSION['nome_prodotti'] [p3].'
.....
mi visualizza tutti i prodotti selezionati e non'.$_SESSION['numero_prodotti'] [p1].'
'.$_SESSION['numero_prodotti'] [p2].'
'.$_SESSION['numero_prodotti'] [p3].'
....
mi visualizza il numero esatto dei prodotti selezionati, quindi funziona, e solo perchè in step2.php il numero era preso col post:
$numero_prodotti = array(
'p1' => $_POST["p1"],
....'.$_SESSION['prezzo_prodotti'] [p1].' ?
'.$_SESSION['prezzo_prodotti'] [p2].' ?
'.$_SESSION['prezzo_prodotti'] [p3].' ?
....
mi visualizza i prezzi di tutti i prodotti, selezionati e nonper il totale, al solito mi stampa solo l'ultimo prezzo del prodotto selezionato
dove sbaglio?devo inserire qualcosaltro?
thanks ancora una volta
Devi fare il controllo... mi era sembrato lo avevi già fatto!!! Non hai detto di avere problemi con quello...
-
@PaTeR said:
Devi fare il controllo... mi era sembrato lo avevi già fatto!!! Non hai detto di avere problemi con quello...
il controllo c'è già...a questo punto credo che il problema sia il modo in cui spedisco le variabili del form.
da step1 a step2 il form si chiude con un "submit", da step2 a elabora il form si chiude con un "button" perchè c'è un controllo sui dati anagrafici in javascript e con il submit nn funziona....può essere questo il problema principale?
thanks
-
guardando un pò in giro ho pensato anche a poter memorizzare le variabili in un file temporaneo salvandola in una directory dello spazio web, ma sorpresa? non riesce ad aprire il file per scriverci dentro. il codice è ok, e che nn ho i permessi...anche se nn capisco perchè! l'host è comprato da aruba è la directory ha permessi 755, dovrebbero bastare per creare dei file temporanei, scriverci e cancellarli, cmq sia se cerco di settare i permessi a 777, mi dà errore. cioè cavolo....cambio strada e ora è il server che rompe?
cmq ragionando sul discorso degli array, le vere variabili sono quelle della quantità dei prodotti, gli altri 2 array sono dichiarati in step2 e in base alla quantità richiesta, c'è il controllo che mi permette di stampare le righe necessarie.
PaTeR avrai smesso di leggermi, cmq se vuoi posso darti in privato il link del modulo così da farti provare a ricevere la mail...o dimmi tu!
caosssss........ :impiccato:
-
@Puitz said:
PaTeR avrai smesso di leggermi, cmq se vuoi posso darti in privato il link del modulo così da farti provare a ricevere la mail...o dimmi tu!
caosssss........ :impiccato:Che fai, scherzi?
Si, se dai i sorgenti anche qui e mi dici esattamente tutti i tuoi problemi, ti sistemo tutto ( qui nel forum )
-
ok ti ho spedito le tre pagine per email. vedi un pò il codice, se per te nn è eccessivo lo copio per intero sul forum, come mi hai detto.
grazie per la disponibilità
-
...capito qualcosa?
io ho trovato una guida per creare e scrivere nei file, le stò provando tutte:
fopen con ftp, http, in w, r....niente,dice di nn riuscire ad aprire il file
ho chiesto chiarimenti ad aruba e mi hanno risposto che per hosting windows non posso cambiare i permessi da 755....ma credo siano cmq sufficienti,giusto?
qualcuno riesce a darmi una soluzione da provare?
grazie ancora
ciauzzzzzzzzzzzzzz
-
@Puitz said:
...capito qualcosa?
io ho trovato una guida per creare e scrivere nei file, le stò provando tutte:
fopen con ftp, http, in w, r....niente,dice di nn riuscire ad aprire il file
ho chiesto chiarimenti ad aruba e mi hanno risposto che per hosting windows non posso cambiare i permessi da 755....ma credo siano cmq sufficienti,giusto?
qualcuno riesce a darmi una soluzione da provare?
grazie ancora
ciauzzzzzzzzzzzzzzè da un pò che ci sbatto la testa... ti mando quello che sono riuscito a fare...