Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343

    form che invia la query ogni volta che si rinfresca la pagina

    Ciao a tutti ,
    una questione veloce , questo form ogni volta che si avvia la pagina o si rinfresca mi invia la query postandomi nickname e commenti ...

    come devo fare per far si che non invii ogni volta che si apre la pagina o si rinfresca !??!?!?! ++grazie mille


    <?php
    require ("db_commenti.php");


    $id = $_POST['id'];
    $name = $_POST['name'];
    $email = $_POST['email'];


    $descrizione = $_POST['descrizione'];

    if(get_magic_quotes_gpc()) {
    $name =stripslashes($name);
    $email =stripslashes($email);

    $descrizione=stripslashes($descrizione);
    }
    $name = mysql_real_escape_string($name);

    $email =mysql_real_escape_string($email);
    $descrizione =mysql_real_escape_string($descrizione);

    $insert = mysql_query("INSERT INTO paella VALUES
    ('', '$name', '$email', '$descrizione')", $db);

    $result = mysql_query("SELECT * FROM paella", $db);

    while ($records = mysql_fetch_array($result))
    {
    echo "<h1>Nickname: </h1><h3>" . $records['name'] . "</h3>";

    echo "<h1>Commento:</h1><h3> " . $records['descrizione'] . "</h3>
    ";

    }


    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    sorry avevo dimenticato un pezzo di codice ...

    forse cosi è più facile aiutarmi


    <form id="form1" name="form1" method="post" action="<?php echo ($_SERVER['PHP_SELF']) ?>">
    Nickname



    <label for="name"></label>
    <input type="text" name="name" id="name" />
    </p>
    email



    <label for="email"></label>
    <input type="text" name="email" id="email" />
    </p>

    Descrizione



    <label for="descrizione"></label>
    <input type="text" name="descrizione" id="descrizione" />
    </p>





    <input type="submit" name="invio" id="invio" value="Submit" />
    </p>
    </form>

    <?php
    require ("db_commenti.php");


    $id = $_POST['id'];
    $name = $_POST['name'];
    $email = $_POST['email'];


    $descrizione = $_POST['descrizione'];

    if(get_magic_quotes_gpc()) {
    $name =stripslashes($name);
    $email =stripslashes($email);

    $descrizione=stripslashes($descrizione);
    }
    $name = mysql_real_escape_string($name);

    $email =mysql_real_escape_string($email);
    $descrizione =mysql_real_escape_string($descrizione);

    $insert = mysql_query("INSERT INTO paella VALUES
    ('', '$name', '$email', '$descrizione')", $db);

    $result = mysql_query("SELECT * FROM paella", $db);

    while ($records = mysql_fetch_array($result))
    {
    echo "<h1>Nickname: </h1><h3>" . $records['name'] . "</h3>";

    echo "<h1>Commento:</h1><h3> " . $records['descrizione'] . "</h3>
    ";

    }


    ?>

  3. #3
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    ad occhio direi che devi fare una cosa del genere


    Codice PHP:
    if($_SERVER['REQUEST_METHOD'] == "POST")
    {
    //codice che invia il form

    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  4. #4
    Evita di mettere tutto in un'unica pagina, creane due: una con il form, e una che elabora i dati. La seconda dopo l'elaborazione deve redirigere verso un'altra pagina (che puo' essere la prima contenente il form, o un'altra completamente diversa a seconda delle esigenze). Il redirect fa si che l'utente alla fine si trovera' su una pagina che NON e' stata raggiunta direttamente tramite POST e quindi un refresh non avra' alcun effetto collaterale.

    E' un pattern talmente comune che ha anche un nome: http://en.wikipedia.org/wiki/Post/Redirect/Get

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Grazie mille a tutti e due ..

    Siccome e' un commento che deve rimanere li vorrei che si faccia tutto in uno script se possibile...

    Nel caso dove dovrei mettere il codice che mi hai postato !?!?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    @ k b ...

    In ogni caso se nn riesco a fare tutto in una pagina, cosa devo scrivere per far ritornare in automatico dopo l ' invio alla pagina dei commenti?!

  7. #7
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    se parli con me il codice va messo nell'if.....ovviamente ci devi mettere solo la parte che deve essere eseguita quando si invia un form.

    almeno di base si fa cosi
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  8. #8
    Originariamente inviato da ciro78
    ad occhio direi che devi fare una cosa del genere


    Codice PHP:
    if($_SERVER['REQUEST_METHOD'] == "POST")
    {
    //codice che invia il form

    Non serve a nulla, se fai un refresh il tipo di richiesta non cambia: se era POST prima rimane POST dopo.

  9. #9
    Originariamente inviato da searedone
    @ k b ...

    In ogni caso se nn riesco a fare tutto in una pagina, cosa devo scrivere per far ritornare in automatico dopo l ' invio alla pagina dei commenti?!
    Nella pagina che elabora i dati, al termine dell'elaborazione usa un redirect:

    Codice PHP:
    header("Location: http://host/pagina_dei_commenti"); 

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    GRazie mille .... risolto con il redirect ...++grande ... grazie ..

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.