Post + form + action + risultati sulla stessa pagina

10 ago 2017, 13:11:44
Visualizzazioni: 59.9K
Voti: 1

Sto cercando di inserire in un post un form personalizzato e, sulla stessa pagina, vorrei visualizzare i risultati di un'azione sul form.

Ma mi mancano le basi.

In sostanza vorrei fare qualcosa del genere. È possibile?

<?php
    if(isset($_REQUEST['submit_btn']))
    {
       echo "<div>";
       $name = $_POST["names"];
       echo "</div>";
    }
?>

<form action="" method="POST">
   <input type="text" name="names" id="names">
   <input type="submit" value="submit" name="submit_btn">
</form>

AGGIUNTA (dopo la risposta di Tejas gajjar):

Grazie per la risposta. In realtà non ho bisogno di interagire con il DB quindi ho rimosso alcune delle righe suggerite.

Se uso questo:

Esempio di codice PHP nel post WordPress

Domanda: Sai perché viene renderizzato così?:

Risultato non corretto del rendering PHP

AGGIUNTA (dopo il commento di Milo):

OK ha funzionato. Sono riuscito anche ad accedere al campo del form.

<form action="" method="POST">
   <input type="text" name="names" id="names">
   <input type="submit" value="submit" name="submit_btn">
</form>

[insert_php]
    if(isset($_REQUEST['submit_btn']))
    {
       echo "<div>";
       $name = $_POST["names"];
       echo "</br>";
       echo "RISPOSTA:</br></br>", $name;
       echo "</div>";
    }
[/insert_php]
3
Commenti

Non puoi inserire PHP nel contenuto del post. Considera di creare uno shortcode o un template personalizzato.

Milo Milo
10 ago 2017 16:10:11

Ok, ho usato il plugin https://it.wordpress.org/plugins/insert-php/ e ora sembra funzionare, MA non sono riuscito ad accedere ai campi del form (nomi). "Sul loro sito ho letto: Il codice tra i tag deve essere completo in sé stesso. I riferimenti a variabili o blocchi di codice al di fuori dell'area tra i tag falliranno. Vedi l'URL 'ulteriori informazioni' per una spiegazione di questo." Non riesco ad accedere al campo nomi del form. Qualche suggerimento?

Mario Stefanutti Mario Stefanutti
10 ago 2017 16:49:23

Io Milo. Ha funzionato bene. Ho inserito un'AGGIUNTA alla domanda originale. Grazie

Mario Stefanutti Mario Stefanutti
10 ago 2017 17:06:03
Tutte le risposte alla domanda 1
5

Utilizza questo codice

<?php
    if(isset($_REQUEST['submit_btn']))
    {
       echo "<div>";
       $name = $_POST["names"];
       echo "</div>";
       $ins="insert into tablename (fieldname)values('$name') ";                
       $conn->query($ins);
       ?>
       <script>
       alert('Inserimento avvenuto con successo');
       </script>
       <?php
          $sel="select * from tablename";
          $r=$conn->query($sel);
          while($u=$r->fetch_object())
          {
      echo $u->fieldname;
          }
    }
?>

<form action="" method="POST">
   <input type="text" name="names" id="names">
   <input type="submit" value="Invia" name="submit_btn">
</form>

Spero che questo ti sia utile

10 ago 2017 13:26:08
Commenti

Ho ancora problemi a far funzionare il post. Vedi note aggiuntive.

Mario Stefanutti Mario Stefanutti
10 ago 2017 15:02:18

Stai suggerendo di inserire variabili $_POST direttamente in una query SQL senza sanificazione? Cattiva idea

Robert Dundon Robert Dundon
10 ago 2017 17:55:27

Leggi bene la domanda @RobertDundon.

User User
11 ago 2017 08:10:23

che problema stai riscontrando @MarioStefanutti

User User
11 ago 2017 08:12:34

Già risolto: Il problema che avevo era preparare un post WP con un form, poi usare PHP per chiamare un servizio JSON esterno e dopo presentare i dati nella stessa pagina. Non avevo bisogno di un DB. Ho usato il plug-in "insert-php" per incorporare php nella pagina. Per quanto riguarda i form, possono essere fatti direttamente usando HTML o Ninja Forms o altri.

Mario Stefanutti Mario Stefanutti
11 ago 2017 16:16:42