Ich erstelle eine Hochzeits-Website mit einem PHP-Formular für RSVPs. Ich bin bestenfalls ein Neuling.Wie öffnet man einen Bootstrap Modal mit PHP?
Was ich versuche zu tun ist, sobald ein Benutzer das Formular ausfüllt und abschickt, nimmt die Webseite sie entweder zu einer Erfolgs-/Dankes-Seite. (dieser Teil funktioniert).
Oder wenn das Formular nicht korrekt ausgefüllt ist, zeigt es ein Bootstrap-modal, das ihnen sagt, was sie falsch gemacht haben. (das ist, was ich habe Probleme mit).
Hier ist mein Code, der mit dem modalen Teil zu tun hat.
In meiner Meinung sollte meine PHP if
Anweisung das JavaScript ausführen, wenn irgendeine Art von Fehler vorliegt. Und das JavaScript sollte ein modales Fenster öffnen, das die Fehler anzeigt. Was verbindet nicht?
<?php
if ($_POST["submit"]) {
$result='<div class="alert alert-success">Form submitted</div>';
if (!$_POST["name"]) {
$error.="<br> Please enter the name on your invitation.";
}
if (!$_POST["head-count"]) {
$error.="<br> Please enter the size of your party.";
}
if (!$_POST["reception-check"]) {
$error.="<br> Please let us know if you will be attending the reception.";
}
if ($error) { ?>
<script type="text/javascript"> $('#myModal').modal('show'); </script>
<?php
} else {
if (mail("[email protected]", "RSVP", "
Name: ".$_POST['name']."
Head Count: ".$_POST['head-count']."
Reception Check: ".$_POST['reception-check']."
Comments: ".$_POST['comments'])) {
header("location: http://www.ourpeachwedding.com/pages/thankyou.php");
exit();
} else {
$result='<div class="alert alert-danger"><strong>Sorry, there was an error submitting your rsvp, please try again.</strong>'.$error.'</div>';
}
}
}
?>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<?php echo $result ?>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
<div id="rsvp">
<div class="jumbotron">
<?php echo $result; ?>
<div class="container-fluid">
<p class="text-center h1">RSVP</p>
<p class="lead text-center">Even if you are not planning to attend, please RSVP anyway.</p>
<div class="row">
<div class=" col-md-6 col-md-offset-3">
<form method="post">
<div class="input-group">
<span class="input-group-addon">Name:</span>
<input name="name" type="text" class="form-control" placeholder="What was the name on the invitation?" value="<?php echo $_POST['name']; ?>">
</div> <!--/.input-group-->
<hr>
<div class="input-group">
<span class="input-group-addon">Head Count:</span>
<input name="head-count" type="text" class="form-control" placeholder="How many in your party?" value="<?php echo $_POST['head-count']; ?>">
</div> <!--/.input-group-->
<hr>
<div class="input-group">
<span class="input-group-addon">Reception?</span>
<input name="reception-check" type="text" class="form-control" placeholder="Will you be attending the reception?" value="<?php echo $_POST['reception-check']; ?>">
</div> <!--/.input-group-->
<hr>
<div class="input-group">
<span class="input-group-addon">Comments:</span>
<textarea name="comments" type="text" class="form-control" placeholder="eg. gluten/food allergies, not attending, etc."><?php echo $_POST['comments']; ?></textarea>
</div> <!--/.input-group-->
<hr>
<div class="text-center">
<input type="submit" name="submit" class="btn btn-success btn-large" value="Submit">
</div> <!--/.text-center-->
</form>
</div> <!--/.col-->
</div> <!--/.row-->
</div> <!--/.container-fluid-->
</div> <!--/.jumbotron-->
</div> <!--/#rsvp-->
Ihre Annahme-Datensatz ist fraglich –
Zunächst würde das Modal durch das Javascript auf der Seite im Browser angezeigt werden, nicht direkt durch den PHP-Code. Wenn Sie das Modal anzeigen möchten, benötigen Sie etwas auf der Seite, das an den Browser gesendet wird, damit es angezeigt wird. –
was bedeutet das @ Fred-ii- –