Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    15

    php "$_POST" non funziona su firefox e explorer

    scusate, sto impazzendo!
    già ho scritto di questo problema e non ho risolto.
    http://forum.html.it/forum/showthrea...readid=1476588
    quindi ho modificato i codici semplificandoli ma non trovo ancora il problema

    ora nella pagina
    http://www.terraditaliaproduction.it/APPOGGIO/file.html
    ci sono due form

    codice:
    <html>
    <body>
    stampa 200 biglietti 20 euro (qui si potrà aggiungere l'opzione della stampa con bordi rotondi)
    <form name="acquisto" method="post" action="modulo.php" target="_blank">
    <input type="hidden" name="prodotto" value="biglietti">
    <input type="hidden" name="quantita" value="200">
    <input type="hidden" name="prezzo" value="20">
    <input type="image" src="http://3.bp.blogspot.com/_pVHgkpOZv4E/TUpwEQlwPwI/AAAAAAAABME/qK1JFESMgBM/s1600/100.gif" name="tipo" value="bordirotondi">
    </form>
    stampa 100 A4 10 (qui si potrà aggiungere l'opzione della stampa fronteretro)
    <form name="acquisto" method="post" action="modulo.php" target="_blank">
    <input type="hidden" name="prodotto" value="Stampa A4">
    <input type="hidden" name="quantita" value="100">
    <input type="hidden" name="prezzo" value="10">
    <input type="image" src="http://www.zweihundert.de/wp-content/uploads/2008/12/myspace2.jpg" name="tipo" value="fronteretro">
    </form>
    </body>
    </html>
    nel file "modulo.php" che viene richiamato ho scritto un "semplice" codice

    <?php
    $tipo= $_POST["tipo"];
    $prova= "bordirotondi";
    echo $tipo;
    echo '| bordirotondi |';
    if(strcmp($tipo,$prova)==0) echo 'ciao';
    if($tipo=="bordirotondi") echo 'arrivederci';
    ?>

    ora io mi chiedo perchè il tutto funziona con chrome e con safari, ma non con firefox e con explorer..

    vi ringrazio anticipatamente anche non per soluzioni complete ma per idee e suggerimenti.
    grazie tante

    ps. nel titolo ho scritto che non funziona "$_post" perchè come vedrete su firefox o explorer sembra quasi che il valore non venga preso

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Inizia col dare nomi diversi alle 2 form.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    15
    grazie per la risposta!
    ho modificato i nomi
    il primo -> acquisto1
    il secondo -> acquisto2

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    15
    ho aggiunto nel file php
    $prodotto= $_POST[prodotto];
    echo $prodotto;

    e questo funziona

    questo vuol dire che firefox e explorer non prendono nessun valore dagli input type="image"? e neanche "button" perchè neanche lì funzionavano. è possibile una cosa del genere??

  5. #5
    $prodotto= $_POST[prodotto];

    O.o la sintassi pardonè moi può essere corretta non lo sò ma prova a metterci magari al posto degli apici doppi o addirittura senza apici, quelli singoli:

    $prodotto= $_POST['prodotto'];

    immagino che ['prodotto'] sia l'id dell'input/select/option che sia nell'html.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    15
    sisi sono l'id nella pagina html.
    anch'io l'ho sempre utilizzato senza apici, ma visto che non funzionava e sul sito della w3c ho visto che usa gli apici allora li ho messi. (comunque ora sui file sul server ho modificato i file togliendo le virgolette).

    comunque sarà che firefox e explorer non prendono valori da type image e button, mi sembra l'unica spiegazione.

    grazie comunque per le risposte!

  7. #7
    gli devi assegnare un id al type image... esempio:

    <input type="image" src="http://www.zweihundert.de/wp-content/uploads/2008/12/myspace2.jpg" id="prodotto" name="tipo" value="fronteretro">

    poi assegni alla variabile, il comando post con l'id dell'input type...
    ^^ tu hai messo l'input type senza l'd... ^^,

    ti mancano tutti gli id negli input ^^ io senza quelli non mai riuscito a passare ad una variabile un input.

    <input type="etc.etc." src="nel caso dell'immagine l'url dell'immagine" id="quello che vuoi tu" name="quello che vuoi tu" value="quello che vuoi tu">...

    prova con queste correzioni e miraccomando a passare alle variabili php l'id non il name.

    es $var1 = $_POST['id dell'input']
    etc.etc.

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    15
    ok, grazie per il consiglio.
    io uso sempre name invece di id perchè ho visto quasi sempre usare name.
    ad esempio anche qui
    http://www.w3schools.com/php/php_forms.asp

    comunque giusto o sbagliato, l'ho cambiato..ma non funziona ancora

    ps. comunque ho risolto creando un altro input hidden. ora voglio solo scoprire se davvero sono firefox e explorer ad essere "difficili" per viverci assieme (e sottolineo che li ho sempre evitati entrambi)

  9. #9
    xD per la serie chi li conosce li evita... ok l'importante è che hai risolto, mi spiace che non abbia funzionato.

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    15
    grazie a te e a tutti

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.