1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

bootstrap-tab mit php deaktivieren

Dieses Thema im Forum "PHP" wurde erstellt von Zwiebelschale, 25. Dezember 2016.

  1. Zwiebelschale

    Zwiebelschale Grünschnabel

    Hi,

    Der Benutzer registriert sich und die Daten werden in eine CSV geschrieben:
    Code (Text):
    1. Name, Passwort, 1         //1 steht für admin, 0 für kein admin
    Dann prüfe ich ob der Benutzer beim Anmelden in der .csv ist:
    PHP:
    1. $search      = $anmelden_name;
    2. $lines       = file('Benutzer.csv');
    3. $line_number = false;
    4.  
    5. while (list($key, $line) = each($lines) and !$line_number) {
    6.    $line_number = (strpos($line, $search) !== FALSE );}
    7.  
    8. if($line_number){
    9.    header('Location:  nächsteSeite.php');}
    10.  
    11. else{header('Location: alert_anmelden_NICHT_erfolgreich.php');
    12. }
    Jetzt möchte ich prüfen, ob $admin 1 oder 0 ist. Wenn 0, dann soll auf nächsteSeite.html (bootstrap) ein Tab deaktiviert werden.

    Ich hab keine Ahnung wie ich das anstellen soll. Meine versuche haben nicht geklappt.

    HTML:
    1. <!DOCTYPE html>
    2. <html lang="de">
    3.   <title>Bootstrap Case</title>
    4.   <meta charset="utf-8">
    5.   <meta name="viewport" content="width=device-width, initial-scale=1">
    6.   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    7.   <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    8.   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    9. </head>
    10.  
    11. <div class="container">
    12.  
    13.   <ul class="nav nav-pills">
    14.  
    15.     <li><a data-toggle="pill" href="#menu1">x</a></li>
    16.     <li><a data-toggle="pill" href="#menu2">x</a></li>
    17.     <li><a href="#menu3">x</a></li>
    18.   </ul>
    19.  
    20.   <div class="tab-content">
    21.  
    22.     <div id="menu1" class="tab-pane fade">
    23.       <h3>x</h3>
    24.     </div>
    25.     <div id="menu2" class="tab-pane fade">
    26.       <h3>x</h3>
    27.     </div>
    28.     <div id="menu3" class="tab-pane fade">
    29.       <h3>x</h3>
    30.     </div>
    31.   </div>
    32. </div>
    33.  
    34. </body>
    35. </html>
    36. </html>
     
  2. EuroCent

    EuroCent KlappStuhl 2.0

    Warum prüfst du nicht in nächstenSeite.php die Daten ab?! :)
    Ist admin = 0 -> Tabs entfernen/nicht anzeigen und bei 1 -> leitest du an deine stelle :)

    PHP:
    1. <?php
    2. $admin = 0;
    3.  
    4. if($admin == 1) header('LOCATION: index.php');
    5. else header('LOCATION: weiter.php');
    6. ?>
    weiter.php
    PHP:
    1. <?php
    2. if($admin == 1) {
    3.    
    4. }
    5. ?>
    Sollte theoretisch fuktionieren :)
     
  3. Zwiebelschale

    Zwiebelschale Grünschnabel

    Soll in beiden Fällen dieselbe Seite sein
     
  4. EuroCent

    EuroCent KlappStuhl 2.0

    Dann passe es doch einfach an :)
     
  5. Zwiebelschale

    Zwiebelschale Grünschnabel

    Mein Probelm ist eh
    Mein Probelm ist eher, das zusammenspiel zwischen php und html.
    html erstellt die Tabs, und der php teil prüft ob admin 1 ist.
    Wenn 1, dann html mit 3. tab
    Wenn 0, dann html ohne 3. tab

    HTML:
    1.    
    2. <?php  
    3. $isAdmin = false;
    4. $fp = fopen('Benutzer.csv', 'r');
    5. if (!$fp) exit('datei nicht gefunden');
    6. // fgets($fp); // zeile 1 überspringen
    7. while (!feof($fp)) {
    8.  $line = fgetcsv($fp);
    9.  if (!$line) break; // ende oder fehler
    10.  if (!isset($line[0])) continue; // leere zeile
    11.  list($name, $pass, $id) = $line;
    12.  if ($id === 1) {
    13.    $isAdmin = true;
    14.    break;
    15.  }
    16. }
    17. fclose($fp);
    18. if ($isAdmin) {
    19.   //istAdmin
    20. } else {
    21.    //nichtAdmin
    22. }
    23.  
    24. ?>  
    25.  
    26. <div class="container">
    27.  
    28.   <ul class="nav nav-pills">
    29.  
    30.     <li><a data-toggle="pill" href="#menu1">QUIZ</a></li>
    31.     <li><a data-toggle="pill" href="#menu2">HIGHSCORE</a></li>
    32.     <li><a href="#menu3">NEUES QUIZ ERSTELLEN (ADMIN)</a></li>
    33.   </ul>
    34.  
    35.   <div class="tab-content">
    36.  
    37.     <div id="menu1" class="tab-pane fade">
    38.       <h3>QUIZ</h3>
    39.     </div>
    40.     <div id="menu2" class="tab-pane fade">
    41.       <h3>HIGHSCORE</h3>
    42.     </div>
    43.     <div id="menu3" class="tab-pane fade">
    44.       <h3>NEUES QUIZ ERSTELLEN</h3>
    45.     </div>
    46.   </div>
    47. </div>
    48.  
    49. </body>
    50. </html>
    51. </html>
     
  6. Jan-Frederik Stieler

    Jan-Frederik Stieler Monsterator Moderator

    Hi,
    Warum packst Du dein HTML nicht in die if-Abfrage rein und passt es jeweils entsprechend an?

    Gruß
     
  7. Zwiebelschale

    Zwiebelschale Grünschnabel

    Also einfach so?:

    HTML:
    1. if ($isAdmin) { ?>
    2.  
    3.     <div class="container">
    4.  
    5.   <ul class="nav nav-pills">
    6.  
    7.     <li><a data-toggle="pill" href="#menu1">QUIZ</a></li>
    8.     <li><a data-toggle="pill" href="#menu2">HIGHSCORE</a></li>
    9.     <li><a href="#menu3">NEUES QUIZ ERSTELLEN (ADMIN)</a></li>
    10.   </ul>
    11.  
    12.   <div class="tab-content">
    13.  
    14.     <div id="menu1" class="tab-pane fade">
    15.       <h3>QUIZ</h3>
    16.     </div>
    17.     <div id="menu2" class="tab-pane fade">
    18.       <h3>HIGHSCORE</h3>
    19.     </div>
    20.     <div id="menu3" class="tab-pane fade">
    21.       <h3>NEUES QUIZ ERSTELLEN</h3>
    22.     </div>
    23.   </div>
    24.  
    25. </div>
    26.  
    27.  
    28. <?php } else { ?>
    29. </body>
     
  8. DerKleene1

    DerKleene1 Mitglied

    So z.B.:
    PHP:
    1. <body>
    2.  
    3. <?php
    4. $isAdmin = false;
    5. $fp = fopen('Benutzer.csv', 'r');
    6. if (!$fp) exit('datei nicht gefunden');
    7. // fgets($fp); // zeile 1 überspringen
    8. while (!feof($fp)) {
    9. $line = fgetcsv($fp);
    10. if (!$line) break; // ende oder fehler
    11. if (!isset($line[0])) continue; // leere zeile
    12. list($name, $pass, $id) = $line;
    13. if ($id === 1) {
    14.    $isAdmin = true;
    15.    break;
    16. }
    17. }
    18. fclose($fp);
    19. if ($isAdmin) {
    20.   $isAdminHTML1 = "<li><a href=\"#menu3\">NEUES QUIZ ERSTELLEN (ADMIN)</a></li>";
    21.   $isAdminHTML2 = "<div id=\"menu3\" class=\"tab-pane fade\">
    22.    <h3>NEUES QUIZ ERSTELLEN</h3>
    23.  </div>";
    24. } else {
    25.    $isAdminHTML1 = "";
    26.    $isAdminHTML2 = "";
    27. }
    28. ?>
    29. <div class="container">
    30.   <ul class="nav nav-pills">
    31.     <li><a data-toggle="pill" href="#menu1">QUIZ</a></li>
    32.     <li><a data-toggle="pill" href="#menu2">HIGHSCORE</a></li>
    33.     <?php echo $isAdminHTML1; ?>
    34.   </ul>
    35.   <div class="tab-content">
    36.     <div id="menu1" class="tab-pane fade">
    37.       <h3>QUIZ</h3>
    38.     </div>
    39.     <div id="menu2" class="tab-pane fade">
    40.       <h3>HIGHSCORE</h3>
    41.     </div>
    42.     <?php echo $isAdminHTML2; ?>
    43.   </div>
    44. </div>
    45. </body>
    46. </html>
    47. </html>
    Habe es nicht getestet, aber so kann es aussehen. Nun kann man ja erkennen wie es funktionieren sollte.
     
  9. Jan-Frederik Stieler

    Jan-Frederik Stieler Monsterator Moderator

    @Zwiebelschale Grundsätzlich ja, auch wenn Du da Schreibfehler drinnen hast und die else Variante nicht befüllt hast.
    Die Variante von @DerKleene1 ist eleganter da hier nur der HTML Code durch PHP beinflusst wird welcher sich ändern soll.
    Funktionieren würden aber beide Varianten.

    Grüße
     
Die Seite wird geladen...