SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 02.04.2021, 13:11:18
DetlevK DetlevK ist offline
Anfänger
 
Registriert seit: Jan 2014
Alter: 59
Beiträge: 5
Ersatz von$_GET durch $_SESSION

Bisher wurden Variablen über $_GET weiter gereicht. Das funktioniert, stellt aber durch die Sichtbarkeit der Parametr in der Adresszeile ein Sicherheitsrisiko dar.

Codeausschnitt:
Code:
<!-- Vorbelegung von Sprache und Hauptkategorie -->
(isset($_GET['lang'])) ? $lang = $_GET['lang'] : $lang = "DE";
  $_SESSION['lang'] = $lang;
  (isset($_GET['hauptkat'])) ? $hauptkat = $_GET['hauptkat'] : $hauptkat = "Kleidung";
...
<!-- Sprachumschaltung Deutsch/Englisch -->
<section id="menubar">
  <ul>
    <li><a class="menubutton" href="#menu"><img src="../Buttons/menu.png"></a></li>
    <?php
      if ($lang == "DE")
      {
        ?>
        <li class="language"><a href="index.php?lang=EN&hauptkat=<?=$hauptkat?>">English</a></li>
        <li class="language"><a class="active" href="index.php?lange=DE&hauptkat=<?=$hauptkat?>">Deutsch</a></li>
        <?php
      }
      else
      {
        ?>
        <li class="language"><a class="active" href="index.php?lange=EN&hauptkat=<?=$hauptkat?>">English</a></li>
        <li class="language"><a href="index.php?lange=DE&hauptkat=<?=$hauptkat?>">Deutsch</a></li>
        <?php
      }
    ?>
  </ul>
</section>
...
<!-- Auswahl der Hauptkategorie -->
...
    <ul>
      <?php
      //Kategorien nach Hauptkategorien geordnet
      $sql_hk = "SELECT * FROM Hauptkategorien";
      $result_hk = mysqli_query($db, $sql_hk);
      while($object_hk = mysqli_fetch_object($result_hk))
      {
        $hkat = ($lang == "DE") ? $object_hk->Deutsch : $object_hk->Englisch; //Bezeichnung Link Hauptkategorie
        $hk = $object_hk->Deutsch; //Interne Bezeichnung der Hauptkategorie
        if ($hk == $hauptkat)
        {
          ?>
          <li><a href="index.php?hauptkat=<?=$hk?>&lang=<?=$lang?>" class="active"><?=$hkat?></a></li>
          <?php
        }
        else
        {
          ?>
          <li><a href="index.php?hauptkat=<?=$hk?>&lang=<?=$lang?>"><?=$hkat?></a></li>
          <?php
        }
      }
      ?>
    </ul>
...
Wenn ich jetzt analog anstelle von $_GET die Veriablen in $_SESSION versuche abzulegen, funktioniert entweder nichts mehr oder ich schaffe es zwar für die Sprachumschaltung aber nicht für die Auswahl der Hauptkategorie.

Falls gewünscht, kann ich auch einen nicht funktionierenden Ansatz hier einstellen, vielleicht findet ja jemand den Logik-Fehler, den ich hier vermute.

Wer den derzeitigen Code in Aktion sehen möchte:

http://reifrockmaus.de

mfg

Detlev
Mit Zitat antworten
  #2  
Alt 02.04.2021, 19:05:40
DetlevK DetlevK ist offline
Anfänger
 
Registriert seit: Jan 2014
Alter: 59
Beiträge: 5
Ergänzung: Ersatz von$_GET durch $_SESSION

Hier der erste fehlerhafte Ansatz

Code:
//Vorbelegung von Sprache und Hauptkategorie
  (isset($_SESSION['lang'])) ? $lang = $_SESSION['lang'] : $lang = "DE";
  (isset($_SESSION['hauptkat'])) ? $hauptkat = $_SESSION['hauptkat'] : $hauptkat = "Kleidung";

...

  <section id="menubar">
  <ul>
    <li><a class="menubutton" href="#menu"><img src="../Buttons/menu.png"></a></li>
    <?php
      if ($lang == "DE")
      {
        $_SESSION['lang'] = "EN";
        $_SESSION['hauptkat'] = $hauptkat;
        ?>
        <li class="language"><a href="index.php">English</a></li>
        <li class="language"><a class="active" href="index.php">Deutsch</a></li>
        <?php
      }
      else
      {
        $_SESSION['lang'] = "DE";
        $_SESSION['hauptkat'] = $hauptkat;
        ?>
        <li class="language"><a class="active" href="index.php">English</a></li>
        <li class="language"><a href="index.php">Deutsch</a></li>
        <?php
      }
    ?>
    
    
  </ul>
  </section>

...

//Auswahl der Hauptkategorie
<nav>
    <ul>
      <?php
      //Kategorien nach Hauptkategorien geordnet
      $sql_hk = "SELECT * FROM Hauptkategorien";
      $result_hk = mysqli_query($db, $sql_hk);
      while($object_hk = mysqli_fetch_object($result_hk))
      {
        $hkat = ($lang == "DE") ? $object_hk->Deutsch : $object_hk->Englisch; //Bezeichnung Link Hauptkategorie
        $hk = $object_hk->Deutsch; //Interne Bezeichnung der Hauptkategorie
        if ($hk == $hauptkat)
        {
          $_SESSION['hauptkat'] = $hk;
          ?>
          <li><a href="index.php?hauptkat=<?=$hk?>&lang=<?=$lang?>" class="active"><?=$hkat?></a></li>
          <?php
        }
        else
        {
          $_SESSION['hauptkat'] = $hk;
          ?>
          <li><a href="index.php?hauptkat=<?=$hk?>&lang=<?=$lang?>"><?=$hkat?></a></li>
          <?php
        }
      }
      ?>
    </ul>
  </nav>

...
Die Sprachumschaltung scheint so zu funktionieren.
Aber: Die Auswahl der Hauptkategorie funktioniert gar nicht, statt dessen schaltet die Sprache um!

Geändert von DetlevK (02.04.2021 um 19:08:14 Uhr) Grund: Kopierfehler
Mit Zitat antworten
Antwort

Stichworte
$_get, $_session


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ereg_replace ersatz preg_replace, wie richtig anwenden? DOSe PHP Grundlagen 1 06.01.2012 22:58:15
preg_replace Ersatz klappt nicht Corvin PHP für Fortgeschrittene und Experten 4 03.01.2005 11:13:57
Design / Ersatz für Iframe fizzle PHP für Fortgeschrittene und Experten 3 07.04.2004 13:30:26
Ersatz für file() unter v4.3 benötigt c4 PHP für Fortgeschrittene und Experten 2 04.02.2003 22:37:43


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:01:10 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.


© 2001-2021 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt