10
votes

Boutons radio avec manipulation de formulaire PHP

J'ai une forme de base que je soumettez en utilisant un PHP de base. J'ai la soumission de formulaire fonctionnant bien, sauf que j'ai un bouton radio (pour la méthode de contact préférée) et je ne sais pas comment ajouter cela dans le PHP afin que cela envoie dans l'e-mail. Les deux options de bouton radio ont le même nom, de sorte que cela ne fonctionne pas comme valeur. Mon code est ci-dessous.

Le PHP est le suivant: P>

  <form method="post" id="form" action="handle_form.php">
    <div class="field">
      <input type="text" name="human" id="human" class="txt" />
    </div>
    <div class="field form-inline">
      <label class="contact-info" for="txtName">Name*</label>
      <input type="text" name="name" id="name" class="txt" value=""/>
    </div>
    <div class="field form-inline">
      <label class="contact-info" for="txtEmail">Email*</label>
      <input type="text" name="email" id="email" class="txt" value=""/>
    </div>
    <div class="field form-inline">
      <label class="contact-info" for="txtPhone">Phone</label>
      <input type="text" name="phone" id="phone" class="txt" value=""/>
    </div>
    <div class="field form-inline radio">
      <label class="radio" for="txtContact">Preferred Method of Contact</label>
      <input class="radio" type="radio" name="contact" checked /> <span>Email</span>
      <input class="radio" type="radio" name="contact" /> <span>Phone</span>
    </div>
    <div class="field form-inline">
      <textarea rows="10" cols="20" name="message" id="message" class="txt" value=""></textarea>
    </div>
    <div class="submit">
      <input class="submit" type="submit" name="submit" value="Submit Form">
    </div>
  </form>


2 commentaires

Vous devez également relier vos étiquettes et vos entrées d'entrée en fournissant l'ID d'entrée dans l'attribut pour l'étiquette.


Un moyen plus simple de relier des étiquettes avec radio et cases à cocher consiste à envelopper le texte et l'entrée dans une balise <étiquette> . De cette façon, aucun ID ou pour Les attributs doivent être spécifiés. Ces attributs sont toujours utiles si vous ne voulez pas l'étiquette juste à côté de l'entrée, cependant.


4 Réponses :


2
votes

Vous avez besoin de valeurs:

  <input class="radio" type="radio" value="email" name="contact" checked /> <span>Email</span>
  <input class="radio" type="radio" value="phone" name="contact" /> <span>Phone</span>


0 commentaires

18
votes
$contact = $_POST['contact']
//Will return either "email" or "phone".

3 commentaires

Wow, merci à tout le monde pour la réponse rapide. Je pensais que j'avais essayé cela et ça n'a pas fonctionné, mais je viens de le réessayer et ça marche parfaitement! Merci!


@Chris léger mod à noter sur votre code ci-dessus, "Téléphone" devrait être entre guillemets.


Merci. Édité mon post pour refléter cela.



2
votes

Donnez simplement à vos entrées radio un attribut de valeur. C'est ce qui sera soumis via Post. Vous pouvez ensuite y accéder via $ _Post ['nameofradio'] xxx


0 commentaires

1
votes

facile! Il suffit d'ajouter une valeur à vos boutons radio.

<input class="radio" type="radio" name="contact" value="Email" checked /> <span>Email</span>
<input class="radio" type="radio" name="contact" value="Phone" /> <span>Phone</span>


0 commentaires