2016-04-02 43 views
0

angezeigte ich durch die Kontrolle einer modal angezeigt werden soll, wenn eine PHP-Session vorhanden ist, ist die nach dem Code:eine Bootstrap-modal in PHP ohne Verwendung eines Triggertaste

<?php if(isset($_SESSION['login'])) { ?> 
    <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
    <h3 id="myModalLabel">Modal header</h3> 
    </div> 
    <div class="modal-body"> 
    <p>Body</p> 
    </div> 
    <div class="modal-footer"> 
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> 
    <button class="btn btn-primary">Save changes</button> 
    </div> 
    </div> 
    <script>$("#myModal").modal("show");</script> 
<?php } ?> 

Das funktioniert nicht.

Ich habe auch vorherige ähnliche Fragen verwiesen, aber sie geben kein klares Bild.Bitte helfen.

+0

vielleicht Sitzung ist nicht eingestellt? – guradio

+0

Ich habe überprüft, eine echo-Anweisung innerhalb der if-Anweisung setzen. Es ist gesetzt – bargad

+1

enthalten js und alle relevanten Code :) – guradio

Antwort

0

Zuerst würde ich vorschlagen, die .js Datei aus den .php zu trennen Weil -sometimes- Ich muß auch PHP-Code in meinen js Dateien laufen, das ist ein wenig „Trick“, die ich mag:

Die js-Datei sollte die Erweiterung .php haben (um den PHP-Interpreter auszulösen) und somit könnte der Dateiname ungefähr so ​​aussehen: scripts.js.php. Hier gehe ich auch davon aus, dass Sie Ihre Hauptdatei beispielsweise aufgerufen haben: index.php. Jetzt

, lassen Sie uns den Kuchen backen:

Probe der index.php Datei:

<html> 
<head> 
    <!-- here include your head elements and styling --> 
    <link href="path/to/bootstrap.css" rel="stylesheet"> 
    <link href="path/to/other.css" rel="stylesheet"> 
</head> 
<body> 
<!-- here goes the body code --> 
    <!-- my practice is to include the modal code and scripts at the end of the file --> 
     <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
     <h3 id="myModalLabel">Modal header</h3> 
     </div> 
     <div class="modal-body"> 
     <p>Body</p> 
     </div> 
     <div class="modal-footer"> 
     <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> 
     <button class="btn btn-primary">Save changes</button> 
     </div> 
     </div> 

    <?php 
     $show_modal=""; 
     if(isset($_SESSION["login"])){$show_modal="1";}else{$show_modal="0";} 
     include("scripts.js.php"); 
    ?> 
    </body> 
    </html> 

Und hier ist mein Vorschlag für die scripts.js.php Datei:

<script src="path/to/jquery.js"></script> 
<script src="path/to/bootstrap.js"></script> 
<script src="path/to/otherfile.js"></script> 
<script> 
$(document).ready(function(){ 
    var showModal = '<?php echo $show_modal; ?>'; 
    if(showModal=="1"){$("#myModal").modal("show");} 
}); 
</script> 

Diese ist eine Lösung, die immer für mich funktioniert ... Hoffe, es funktioniert auch für Sie!

Verwandte Themen