View Full Version : [php-mysql] passaggio dati di form
pataciolla
06-07-2008, 22:50
:muro: Ciao a tutti...:help:
avrei una domanda ipotetica da farvi per sapere se è possibile realizzarlo oppure no visto che non sono riuscita a trovare come fare... magari è una baggianata ma la stanchezza non mi fa più pensare lucidamente...:D
ho una pagina (A) in php/javascript/mysql che contiene un form...
vorrei mettere due pulsanti di submit il primo che invii tutti i dati nuovamente alla pagina (A) - che li elabora tramite uno script - ed un secondo che li invii ad una pagina (B) che a sua volta contiene un form...
dalla pagina (B) tramite un altro pulsante dovrei reinviare i dati sia della (A) che della (B) nuovamente alla pagina (A) che oltre al form contiene un'altro script che li elabora tutti insieme... magari mantenendo il tutto nella variabile $_GET (o post che sia) con i nomi di variabile originali....
è possibile?? se si come?
... spero di non essere stata troppo macchiavellica nella spiegazione...
grazie :doh:
pata
:muro: Ciao a tutti...:help:
avrei una domanda ipotetica da farvi per sapere se è possibile realizzarlo oppure no visto che non sono riuscita a trovare come fare... magari è una baggianata ma la stanchezza non mi fa più pensare lucidamente...:D
ho una pagina (A) in php/javascript/mysql che contiene un form...
vorrei mettere due pulsanti di submit il primo che invii tutti i dati nuovamente alla pagina (A) - che li elabora tramite uno script - ed un secondo che li invii ad una pagina (B) che a sua volta contiene un form...
dalla pagina (B) tramite un altro pulsante dovrei reinviare i dati sia della (A) che della (B) nuovamente alla pagina (A) che oltre al form contiene un'altro script che li elabora tutti insieme... magari mantenendo il tutto nella variabile $_GET (o post che sia) con i nomi di variabile originali....
è possibile?? se si come?
... spero di non essere stata troppo macchiavellica nella spiegazione...
grazie :doh:
pata
mmmh form con più submit... mi pare siano fattibili ma per gestirli non saprei... so che l'ASP riesce tranquillamente a determinare qualle pulsante submit hai premuto ma la pagina a cui vengono inviati i dati del mi risulta possa essere solo una per form.
Secondo me, è più comodo gestire il tutto con una singola pagina php e usi dei parametri get per indicare ogni volta cosa deve fare lo script.
Spiacente ma non so risponderti esaurientemente, però forse ci sono vie più semplici.
pataciolla
06-07-2008, 23:09
grazie mille per il suggerimento :ave: ... purtroppo non conosco l'asp :wtf: oltre al fatto che per questo progetto ho ripreso in mano dopo anni 5 linguaggi di programmazione distinti, devo utilizzarne altri due e un ottavo onestamente non ho voglia di studiarlo... proverò con la seconda opzione con la pagina singola...
se però aveste altri suggerimenti più pratici vi sarei grata...:idea:
pata
pataciolla
07-07-2008, 00:28
Ok più o meno ho risolto utilizzando più strutture di controllo e funzioni all'interno della stessa pagina....
però mi rimane un dubbio ... come faccio reinviare i dati del $_GET del primo invio all'interno del secondo??
oppure come posso inviare attraverso $_GET (del secondo invio) una serie di variabili singole (non array) dove precedentemente salvo i dati di $_GET (del primo invio del form)??
vi prego ... una soluzione... sono ko e i due criceti che mi rimangono in testa non vogliono collaborare!! :ronf:
grazie
pata
Nel form della seconda pagina metti una serie di input di tipo hidden, per esempio:
<form action="pagina1.php" method="post">
<input type="hidden" name="variabile_form_precedente" value="<?php echo $_POST['variabile_form_precedente']; ?>" />
Ovviamente mi sono inventato il nome della variabile :D
pataciolla
07-07-2008, 09:54
e se io generassi dinamicamente i campi hidden...
(ho una marea di variabili ... divento scema a farlo per tutte... diciamo che sono pigra e odio le ridondanze di codice...)
...in quel caso come potrei assegnare al name del campo input hidden il nome e a value il valore della variabile contenuta in get???:confused: :confused: :confused:
possibile??:muro:
grazie pata
pataciolla
07-07-2008, 09:58
un'altra domanda.... come si può inserire un controllo che nel momento in cui si preme il bottone submit e prima di caricare la nuova pagina compare una finestra con la lista di campi non selezionati o compilati??? :confused: :confused: :confused:
grazie pata
pataciolla
07-07-2008, 10:42
e se io generassi dinamicamente i campi hidden...
(ho una marea di variabili ... divento scema a farlo per tutte... diciamo che sono pigra e odio le ridondanze di codice...)
...in quel caso come potrei assegnare al name del campo input hidden il nome e a value il valore della variabile contenuta in get???:confused: :confused: :confused:
possibile??:muro:
grazie pata
questo l'ho risolto.... ora mi manca di risolvere riguardo gli avvisi di mancata compilazione.... qualcuno sa aiutarmi??? :D
pata :bsod:
L'ho scritto di botto non so se funziona, il senso però è che chiami una funzione javascript nel momento in cui clicchi il submit e ti sputa fuori (per esempio) un alert con la situazione di tutti i campi. Qui ho fatto l'esempio del checkbox, poi puoi controllare se i textbox sono vuoti, quale radio button è selezionato ecc
<script language="JavaScript" type="text/javascript">
function validate() {
if(document.getElementById("provaCheck").checked) alert("checked");
}
</script>
<form>
<input type="checkbox" id="provaCheck" />
<input type="submit" id="invia" value="Invia" onClick="validate();" />
</form>
pataciolla
07-07-2008, 11:44
L'ho scritto di botto non so se funziona, il senso però è che chiami una funzione javascript nel momento in cui clicchi il submit e ti sputa fuori (per esempio) un alert con la situazione di tutti i campi. Qui ho fatto l'esempio del checkbox, poi puoi controllare se i textbox sono vuoti, quale radio button è selezionato ecc
<script language="JavaScript" type="text/javascript">
function validate() {
if(document.getElementById("provaCheck").checked) alert("checked");
}
</script>
<form>
<input type="checkbox" id="provaCheck" />
<input type="submit" id="invia" value="Invia" onClick="validate();" />
</form>
intanto ti ringrazio molto...:ave:
ma ho un problemino... i neuroni ormai arrancano...
se io ho una select tipo questa
<select name="selproprietari" id="proprietari" class="campinput">
<option value="" selected> Seleziona PROPRIETARIO - GESTORE </option>
<option value="Ignoto">...Proprietario e Gestore Ignoti...</option>
<option value="altro">...nuovo proprietario e/o gestore...</option>
</select>
l'alert deve uscire se rimane selezionata l'option:
<option value="" selected> Seleziona PROPRIETARIO - GESTORE </option>
cosa devo inserire ad posto di ...
if(document.getElementById("provaCheck").checked) alert("checked");
???
..e se il campo è
<label>Gestore:
<input name="gestore" id="gestore" type="text" class="campinput" size="50"/>
</label>
che non deve restare vuoto??
.. ci ho provato ma non mi funziona ... perciò ne approfitto per chiedere...:D
e se io generassi dinamicamente i campi hidden...
(ho una marea di variabili ... divento scema a farlo per tutte... diciamo che sono pigra e odio le ridondanze di codice...)
...in quel caso come potrei assegnare al name del campo input hidden il nome e a value il valore della variabile contenuta in get???:confused: :confused: :confused:
possibile??:muro:
grazie pata
I campi hidden li puoi generare tranquillamente in maniera dinamica. Anzi, se in $_POST (o $_GET, dipende da quale usi) hai solamente i valori del form precedente puoi fare in questo modo:
foreach($_POST as $key => $value) {
echo '<input type="hidden" name="'.$key.'" value ="'.$value.'" />\n';
}
In questo modo hai una copia esatta del form precedente. Ovviamente poi aggiungi ulteriori campi se ti servono.
Per quanto riguarda il controllo javascript fai attenzione ai tipi di input.
Per le checkbox:
if(document.getElementById('id_checkbox').checked) { /* codice per il controllo */ }
per verificare che sia selezionata
Per gli altri tipi di input:
if(document.getElementById('id_campo').value && document.getElementById('id_campo').value.length > 0) { /* codice per il controllo */ }
l'alert deve uscire se rimane selezionata l'option:
<option value="" selected> Seleziona PROPRIETARIO - GESTORE </option>
cosa devo inserire ad posto di ...
if(document.getElementById("provaCheck").checked) alert("checked");
???
devi dare un value a quell'affare (per es "nonSelezionato") e poi fare if(document.getElementById("proprietari").value == "nonSelezionato") alert ("Attenzione, non è stato selezionato nessun proprietario!")
..e se il campo è
<label>Gestore:
<input name="gestore" id="gestore" type="text" class="campinput" size="50"/>
</label>
che non deve restare vuoto??
.. ci ho provato ma non mi funziona ... perciò ne approfitto per chiedere...:D
if(document.getElementById("gestore").value.length == 0) alert("Attenzine, il campo 'gestore' è vuoto!");
pataciolla
07-07-2008, 14:01
l'ennesima domanda....:D
ora gli alert con i campi non compilati li ho ma nel momento in cui si da ok all'alert ricarica la pagina..cosa che non voglio che faccia.. non c'è modo di dirgli di non ricaricarla nel caso in cui generi un alert??? :confused: :confused:
grazie pata
pataciolla
07-07-2008, 14:32
so che potreste benissimo rispondermi di andare a farmi un bel corso... vista poi la banalità delle mie problematiche...:D
ma.. nessun suggerimento?? .. sono un pochino di corsa se non si nota :muro: ..
pata
Nell'attributo onsubmit del form devi avere una funzione che fa tutti i controlli (probabilmente la usi già). Quella funzione deve restituire false in caso di errore. Quindi, una funzione JS così:
function validateForm() {
//Validazione di tutti i campi
if(validazione_ok) return true;
else return false;
}
ed un form così:
<form action="tua_pagina.php" method="post" onsubmit="return validateForm();">
...
</form>
pataciolla
07-07-2008, 15:50
grazie mille... ora provo a farlo sperando di non dover postare ancora domande così banali!! :D
pata
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.