Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Invio dati non corretto tramite $_POST

    Buon giorno, ho il seguente problema, in pratica:
    realizzo una tabella con dei valori estrapolati da un DB, e vorrei al click di un pulsante <input type="button" name="submit" value="Acquista"> mi inviasse i valori(giusti) nella pagina dove devo effettuare alcune operazioni..
    Il problema che ho risontrato è che, l'invio viene effettuato, ma sbagliato, ossia mi invia i dati dell'ultimo record, come mai?
    questa è la parte di script incriminata:
    codice:
    if($disponibilità<2){
    echo ("<td align='center' bgcolor='orange'>$Afont --> " . $disponibilità . " <--$Cfont</td>
    <input type='hidden' name='quantit' value='$disponibilità'>");
    }
    else{	
    $i=0;
    echo("<td align='center' bgcolor='orange'>$Afont" . $disponibilità . "$Cfont
    <SELECT name='quantit'>");
    	for($i=0;$i<=$disponibilità;$i++){
    		echo("<OPTION value='$i'>$i</OPTION>");
    	}
    	echo("</SELECT>
    $Afont Scegli la quantità $Cfont</td>");
    }							
    echo ("<td align='center' bgcolor='orange'>
    <input type=\"submit\" name=\"invia\" value=\"Acquista\"></td>\n</tr>");
    Poi nell'altra pagina diciamo cosi per abbreviare ho solo questo:
    codice:
    $quantit = trim($_POST["quantit"]);
    echo " Quantità: " . $quantit. "
    ";
    Aiutatemi perchè è importante..Vi ringrazio

  2. #2
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Hai due campi nel form che si chiamano "quantit" (l'hidden ed il select)

  3. #3
    grazie per avermi risposto,.. adesso ti spiego come è strutturata la cosa.. estrapolo un prodotto che ha (id,nome,prezzo,quantità etc etc..), quando clikko mi dovrebbe restituire dall'altra parte tutti i dati di quel prodotto, ma non è cosi, è come se non lo vede, e scegli sempre l'ultimo record.. sai come devo fare...?

  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    DOvresti postare il codice di riempimento dei dati del form.
    Prima non avevo fatto caso al fatto che ci fosse un if-else.
    Però il problema potrebbe essere quello che ti ho già detto.. magari c'è un altro campo che ha lo stesso nome del select il cui valore è quello che viene preso tramite post.

  5. #5
    ho cambiato il nome del campo.. questo è il codice che ho:
    codice:
    while($row=mysql_fetch_array($select)){
    $foto = trim($row['path_foto']);
    $cod_prod = trim($row['id_cod_prodotto']);
    $titolo=trim($row['titolo']);
    $fornitore = trim($row['fornitore_prodotto']);
    $prezzo = trim($row['prezzo']);
    $disponibilità = trim($row['disponibilità']);
    	if(trim($row['path_foto'])==trim("Nessuna Foto")){
               echo("<td></td>");
    	}
    	else {
               echo("<td align=center bgcolor='white'><img src= " . $foto ." border='0' width='35' height='30'></td>"); 
            }
    	echo("<td align='center' bgcolor='orange'>$Afont" . (int)$cod_prod . "$Cfont</td>
    								<input type='hidden' name='codice' value='$cod_prod '>
    	<td align='center'  bgcolor='orange'>$Afont<a href='descrizione.php?cod_prod=$cod_prod' onClick='window.open();'> " . $titolo . "
    ". $fornitore ."</a>$Cfont</td>
            <input type='hidden' name='titolo' value='$titolo'>
    	<input type='hidden' name='fornitore' value='$fornitore'>								  <td align='center' bgcolor='orange'>$Afont" . "Euro " . $prezzo . "$Cfont</td>
    	<input type='hidden' name='prezzo' value='$prezzo'>");
    	if($disponibilità<2){
    	echo ("<td align='center' bgcolor='orange'>$Afont --> " . $disponibilità . " <--$Cfont</td>
    									<input type='hidden' name='quantit' value='$disponibilità'>");
    	}
    	else{								$i=0;
    									echo("<td align='center' bgcolor='orange'>$Afont" . $disponibilità . "$Cfont
    	<SELECT name='quant'>");
    	for($i=0;$i<=$disponibilità;$i++){
    	echo("<OPTION value='$i'>$i</OPTION>");
    	}
    	echo("</SELECT>
    $Afont Scegli la quantità $Cfont</td>");
    	}							
    	echo ("<td align='center' bgcolor='orange'>
    	<input type=\"submit\" name=\"invia\" value=\"Acquista\"></td>\n</tr>");
    }
    questo è quanto...

  6. #6
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Hai provato a vedere il codice html della pagina generata?
    Da come hai postato sembra essere corretto. Verifica che le varie opzioni del select abbiano valori differenti.
    Comunque è strano perchè il codice sembra essere corretto.

  7. #7
    non è problema solo di <select>, ma di tutti i valori... se scelgo il primo prodotto, mi restituisce l'ultimo, non capisco come mai!!!
    Aiutami per favore, altrimenti sto nei casini...

  8. #8
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Non è che sbagli a fare la query per l'estrazione dei dati?

  9. #9
    questa è la query: i dati che mi estrae per costruire la tabella sono giusti
    codice:
    $select = mysql_query("select * from catalogo where scadenza_offerta<>'00/00/0000' and scadenza_offerta<>'' order by scadenza_offerta") or die ("Impossibile eseguire la Query".mysql_error());
    poi non so..

  10. #10
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Ah cacchio GIUSTO! il ciclo

    E' normalissimo che prenda i valori solo dell'ultimo record. Devi differenziare i nomi dei campi.
    COn il ciclo while tu crei n campi che hanno lo stesso nome ma valori differenti.
    Se in un form metto
    <input name="valvo" value="1" />
    <input name="valvo" value="2" />
    <input name="valvo" value="3" />

    Quando nella pagina dell'action andrò a prendere la variabile $_POST['valvo'] questa sarà unica e varrà 3.

    Ora o trasformi tutti i campi in array
    <input type="hidden" name="titolo[]" />
    O ci aggiungi un identificativo
    <input type="hidden" name="titolo<?=$row['id']?>" />

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.