Formularios de contacto dinámicos múltiples -- php camp Relacionados El problema

Multiple dynamic contact forms


0
vote

problema

Español

He construido un formulario de consulta en mi sitio web, la idea es que me envía por correo cada vez que un usuario envía una consulta que se agrega a mi base de datos que luego puedo ir y ver a través de mi sistema de backend

Cada consulta se enumerará uno por uno con un formulario de contacto de área de texto a continuación, permitiéndome que responda a cada consulta individualmente

hasta ahora tengo esto (lo siento, es un poco desordenado)

  foreach ($listings as $row){     $loop.= "<h3 class='text-center'>".$row['question']."</h3>";     $loop.= "<p>".$row['message']."</p>";     $loop.= "Name: <b>".$row['name']."</b>";     $loop.= "<span class='pull-right'>Email: <b>".$row['email']."</b><br></span>";     $loop.= "<div class='clearfix'></div>";     if(isset($row['website'])){            $loop.="Website: <b>".$row['website']."</b>";        }     $loop.= "<span class='pull-right'>Date: <b>".$row['date']."</b></span>";     $loop.= "<form name='submit-response' method='POST'><fieldset>";     $loop.= "<div class='form-group'>       <label for='Message".$counter."'>Your Message</label>     <textarea id='Message".$counter."' name='Message".$counter."' class='form-control' rows='5'></textarea>    </div>";     $loop.= "<button type='submit' name='submit".$counter."' class='btn btn-default btn-block'>Reply</button>";     $loop.= "</fieldset></form>"; }   

Antes de eso es un bucle de foreach y el inicio del contador OH y $ se establece en Nill

Lo que quiero es que para cada formulario de contacto sea único, así que cuando hago clic en Enviar una de las consultas, se enviará y se eliminará para que pueda enviar otro, el único problema que estoy teniendo es hacer ejercicio. Si se ha presionado un envío, y qué envío ha sido presionado

El código deberá entrenar qué botón se ha presionado y dependiendo de qué botón luego enviará () al destinatario

Estoy bastante atascado en este y no estoy seguro del mejor curso de acción, por lo que cualquier consejo es realmente apreciado

luke

Original en ingles

I have built a inquiry form on my website, the idea is instead of mailing me each time a user submits a query it is added to my database which I can then go and view via my backend system

Each query will be listed one by one with a text-area contact form below it allowing me to reply to each query individually

So far I have this (sorry it's a bit messy)

foreach ($listings as $row){     $loop.= "<h3 class='text-center'>".$row['question']."</h3>";     $loop.= "<p>".$row['message']."</p>";     $loop.= "Name: <b>".$row['name']."</b>";     $loop.= "<span class='pull-right'>Email: <b>".$row['email']."</b><br></span>";     $loop.= "<div class='clearfix'></div>";     if(isset($row['website'])){            $loop.="Website: <b>".$row['website']."</b>";        }     $loop.= "<span class='pull-right'>Date: <b>".$row['date']."</b></span>";     $loop.= "<form name='submit-response' method='POST'><fieldset>";     $loop.= "<div class='form-group'>       <label for='Message".$counter."'>Your Message</label>     <textarea id='Message".$counter."' name='Message".$counter."' class='form-control' rows='5'></textarea>    </div>";     $loop.= "<button type='submit' name='submit".$counter."' class='btn btn-default btn-block'>Reply</button>";     $loop.= "</fieldset></form>"; } 

Before that is a foreach loop and the start of the oh and $counter is set to nill

What I want is for each contact form to be unique so when I click send on one of the queries it will be sent and removed so I can send another, the only issue I am having is working out how I will work out if a submit has been hit, and which submit has been hit

The code will need to workout which button has been hit and depending on which button it will then mail() to the recipient

I'm quite stuck on this one and I'm not sure of the best course of action so any advice is really appreciated

Luke

  

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

Si hace clic en un botón Enviar dentro de una etiqueta $counter4 , solo se enviará ese formulario.

Podría incluir un campo oculto con el ID de la fila en ella. De esa manera, podría deshacerse de las variables $counter6 en total.

Además, si planea repetir el $loop HTML, no recomendaría almacenar el HTML en una variable PHP.

  <?php foreach ($listings as $row) {     ?>     <h3 class="text-center"><?php echo $row['question']; ?></h3>     <p><?php echo $row['message']; ?></p>     Name: <b><?php echo $row['name']; ?></b>     <span class="pull-right">Email: <b><?php echo $row['email']; ?></b><br></span>     <div class="clearfix"></div>     <?php     if(isset($row['website']))     {         ?>         Website: <b><?php echo $row['website']; ?></b>         <?php     }     ?>     <span class="pull-right">Date: <b><?php echo $row['date']; ?></b></span>     <form action="" name="submit-response" method="POST">         <input type="hidden" name="id" value="<?php echo $row['id']; ?>" />         <fieldset>             <div class="form-group">                 <label>Your Message</label>                 <textarea name="Message" class="form-control" rows="5"></textarea>             </div>             <button type="submit" class="btn btn-default btn-block">Reply</button>         </fieldset>     </form>     <?php } ?>   
 

If you click a submit button inside a <form> tag, then only that form will be submitted.

You could include a hidden field with the ID of the row in it. That way you could get rid of the $counter variables altogether.

Also if you plan on just echoing out the $loop html, I wouldn't recommend storing the HTML in a PHP variable.

<?php foreach ($listings as $row) {     ?>     <h3 class="text-center"><?php echo $row['question']; ?></h3>     <p><?php echo $row['message']; ?></p>     Name: <b><?php echo $row['name']; ?></b>     <span class="pull-right">Email: <b><?php echo $row['email']; ?></b><br></span>     <div class="clearfix"></div>     <?php     if(isset($row['website']))     {         ?>         Website: <b><?php echo $row['website']; ?></b>         <?php     }     ?>     <span class="pull-right">Date: <b><?php echo $row['date']; ?></b></span>     <form action="" name="submit-response" method="POST">         <input type="hidden" name="id" value="<?php echo $row['id']; ?>" />         <fieldset>             <div class="form-group">                 <label>Your Message</label>                 <textarea name="Message" class="form-control" rows="5"></textarea>             </div>             <button type="submit" class="btn btn-default btn-block">Reply</button>         </fieldset>     </form>     <?php } ?> 
 
 
 
 
0
 
vote

Agregue una identificación única a la tabla de su base de datos y colóquela en una entrada oculta.

 

add a unique id to your database table, and put it in a hidden input.

 
 
0
 
vote

Dar a cada formulario un id , y posiblemente cada botón enviar un nombre único. De esta manera, puede determinar fácilmente qué botón de envío fue golpeado, o qué forma se envió, y eliminarlo o procesarlo a través de JavaScript.

  data-sap-ui-libs0  

Por supuesto que fue pseudo-código.

 

Give each form a id, and possibly each submit button a unique name. This way you can easily determine which submit button was hit, or which form was submitted, and remove it or process it via javascript.

$('form').each(function() {   $(this).submit(function(event) {     event.preventDefault();     // Add AJAX code here     $(this).remove();   }); }); 

Of course that was pseudo-code.

 
 

Relacionados problema

98  ¿Cómo accedería a las propiedades de objetos desde un método de objeto? [cerrado]  ( How would you access object properties from within an object method ) 
Según lo que actualmente representa, esta pregunta no es un buen ajuste para nuestro Q & Amp; un formato. Esperamos que las...

259  ¿Son las variables PHP pasadas por valor o por referencia?  ( Are php variables passed by value or by reference ) 
¿Las variables PHP pasan por valor o por referencia? ...

35  Conecte PHP a IBM I (AS / 400)  ( Connect php to ibm i as 400 ) 
Tengo un próximo proyecto en el que necesitaré conectar nuestro sitio web ( PHP5/Apache 1.3/OpenBSD 4.1 ) a nuestro sistema de back-end que se ejecuta en un i...

125  Seguridad de la sesión PHP  ( Php session security ) 
Bloqueado . Esta pregunta y sus respuestas son bloqueadas porque la pregunta es off-topic pero tiene importancia histórica. Actualmente no está a...

35  Cifrado contraseñas  ( Encrypting passwords ) 
¿Cuál es la forma más rápida y segura de cifrar contraseñas (en PHP preferiblemente), y para cualquier método que elija, es portátil? En otras palabras, si ...

76  ¿Cuál es la mejor manera de generar una nube de etiquetas de una matriz usando H1 a H6 para el tamaño?  ( Whats the best way to generate a tag cloud from an array using h1 through h6 fo ) 
Tengo las siguientes matrices: $artist = array("the roots", "michael jackson", "billy idol", "more", "and more", "and_YET_MORE"); $count = array(5, 3, 9, 1...

56  ¿La mejor manera de acceder a Exchange usando PHP?  ( Best way to access exchange using php ) 
Estoy escribiendo una aplicación CMS en PHP y uno de los requisitos es que debe poder interactuar con el servidor de Exchange del cliente. He escrito esta fun...

282  La mejor manera de permitir los complementos para una aplicación PHP  ( Best way to allow plugins for a php application ) 
Estoy iniciando una nueva aplicación web en PHP y esta vez quiero crear algo que las personas puedan extenderse utilizando una interfaz de complemento. ¿Cóm...

81  ¿Cómo rastreo las descargas de archivos?  ( How do i track file downloads ) 
Tengo un sitio web que reproduce MP3 en un reproductor Flash. Si un usuario hace clic en 'Play', el reproductor Flash descarga automáticamente un MP3 y comien...

126  Bases de datos de archivos planos [cerrados]  ( Flat file databases ) 
cerrado . Esta pregunta es basada en opinión . Actualmente no está aceptando respuestas. ¿...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos