2017-08-23 1 views
0

Je suis une recrue quand il s'agit de conception de site Web, mais j'ai réussi à mettre en place un site Web avec bootstrap et jquery, y compris une petite forme pour les invités à s'inscrire à un événement. Le formulaire envoie ses données (participation, nom, etc) à un script php qui l'envoie ensuite à la messagerie et fait écho au mailbody qui est ensuite également affiché dans un iFrame pour que l'utilisateur puisse voir la confirmation.formulaire HTML soumet des variables vides sur les téléphones mobiles, mais fonctionne bien sur les navigateurs pc

Tout fonctionne correctement sur PC. Je l'ai testé sur trois machines différentes avec chrome, firefox et IE.

Cela fonctionne aussi bien sur mon téléphone Android personnel.

Voici le piège: Sur ma compagnie Blackberry et sur Android de ma soeur ça ne marche pas. La forme semble fonctionner et déclenche le PHP mais il semble ne transmettre que des variables vides. Le courrier généré et la confirmation dans l'iFrame sont vides.

Des idées quel est le problème? Paramètres de sécurité ou tout ce qui empêche l'envoi de données réelles? Je suis perplexe et googlé cela pendant une heure sans trouver une solution ...

Le code (raccourci):

<form action="rueckmeldung.php" method="post" autocomplete="off" target="hiddenForm" onsubmit="this.reset();" content="text/html; charset=UTF-8" > <!-- onsubmit="this.submit(); this.reset(); return false; window.location.assign('#close')"--> 

    <IFRAME style="display:none; width:100%; height:auto; border:0; margin-left: 5rem; margin-right: 5rem;" name="hiddenForm" id="hiddenframeID" class="mdlRMhide2"></IFRAME> 

    <!-- Modal Body --> 
    <div class="modal-body mdlRMhide1" novalidate="novalidate"> 
      <!-- Ja/Nein--> 
      <section id="secJaNein" class="modal-section"> 
       <div class = "row"> 
        <div class="col-xs-12 col-sm-6"> 
         <div class="input-wrap"><input type="radio" name="entrykommejanein" id="e1" value="Ja" required /> 
         <label for="e1"><h3>Natürlich komme ich!</h3></label></div> 
        </div> 
        <div class="col-xs-12 col-sm-6"> 
         <div class="input-wrap"><input type="radio" name="entrykommejanein" id="e2" value="Nein" required /> 
         <label for="e2"><h3>Leider schaffe ich es nicht</h3></label></div> 
        </div> 
       </div> 
      </section> 

      <!-- Name Gast --> 
      <section id="secGast" class="modal-section"> 
       <div class= "row"> 
        <div class="col-xs-12 col-sm-6 "> 
         <div class="form-group has-feedback"> 
          <label for="gastVorname"><h2>Vorname</h2></label> 
          <input type="text" name="entryvorname" id="gastVorname" class="form-control" required > 
          <!-- <small class="help-block" data-fv-validator="notEmpty" data-fv-for="guest-first-name" data-fv-result="NOT_VALIDATED" style="display: none;">First name is required</small> --> 
         </div> 
        </div> 
        <div class="col-xs-12 col-sm-6"> 
         <div class="form-group has-feedback"> 
          <label for="gastNachname"><h2>Nachname</h2></label> 
          <input type="text" name="entrynachname" id="gastNachname" class="form-control" required > 
         </div>   
        </div> 
       </div> 
      </section> 

    </div> 

    <!-- Modal Footer -->    
    <div class="modal-footer"> 
     <div class = "row"> 
      <div class="col-xs-6 mdlRMhide1"> 
       <button class="button btn btn-lg form-btn" type="submit" value="Submit" >Abschicken</button> 
      </div> 
      <div class="col-xs-12 mdlRMhide2" style="display:none"> 
       <button class="button btn btn-lg form-btn btnModalRMClose" data-dismiss="modal">Schließen</button> 
      </div>          
     </div>    
    </div>      

</form> 

PHP:

<?php 
$myemail = '[email protected]'; 

$kommejanein = $_POST['entrykommejanein']; 
$vorname = $_POST['entryvorname']; 
$nachname = $_POST['entrynachname']; 

$to = $myemail; 
$email_subject = "Rückmeldung von $vorname $nachname : $kommejanein"; 
$email_body = "\n Teilnahme: $kommejanein \n Gast: $vorname $nachname"; 

$headers = array(); 
$headers[] = "From: $myemail"; 
$headers[] = "Reply-To: $myemail"; 
$headers[] = "Content-type: text/plain; charset=utf-8"; 

mail($to,$email_subject,$email_body,implode("\r\n",$headers)); 

echo nl2br($email_body); 
?> 

Répondre

0

pourrait-il que l'ouverture form- tag est manquant? Utilisez var_dump($_POST) pour vérifier les résultats sur la page ciblée.

+0

Merci pour la réponse rapide. L'étiquette de forme est là mais j'ai foiré le format dans ma question. Je l'ai juste changé. – Three2one

0

Alors, j'ai finalement trouvé le problème, même si je ne comprends pas tout à fait, pourquoi il a causé des problèmes sur un Android mais pas sur une autre et non sur PC ...

Après avoir sorti

onsubmit="this.reset();" 

cela a fonctionné sur tous les périphériques (jusqu'ici) et le contenu formular est expédié à PHP.