Ankündigung

Einklappen
Keine Ankündigung bisher.

Überprüfung und schützung einer HTML Seite.

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Überprüfung und schützung einer HTML Seite.

    Hallo,

    ich bin relativ unerfahren mit PHP und habe daher eine Frage:

    Ich habe eine eingabe auf einer HTML-Datei. Die Eingabe wird in einer MySQL-Datenbank überprüft und gibt dann das ergebnis aus.

    Wenn die Eingabe falsch ist, wird nicht weitergeleitet und es kommt ein Text.
    Ist die Eingabe richtig, wird auf einer andere .php datei weitergeleitet.

    Die Überprüfung in der MySQL-Datenbank funktioniert soweit und auch der rest.
    Nur möchte ich das die .php Seite auf die weitergeleitet wird, nicht ganz oder gar nicht angezeigt wird, wenn die Eingabe vorher nicht richtig war.

    Wie mache ich das am besten? Einfach eine Variable übergeben? Mit Session?

    Eine art grundgerüst würde mir schon reichen, da der rest soweit funktioniert.

    Danke.


  • #2
    du speicherst die eingabe in einer session-variable:
    PHP-Code:
    session_start();
    $_SESSION['deine_eingabe']=$_POST['eingabe'] / $_GET['eingabe']; //je nachdem 
    Auf die seite,auf die weitergeleitet wird prüfst du die eingabe:
    PHP-Code:
    session_start();
    if(
    $_SESSION['deine_eingabe']== $mysql_abfrage)
    {
    //zeige den inhalt;
    }
    else
    {
    exit;

    session_start(); am Anfang(vor jeglicher Ausgabe) des Dokumentes vorher nicht vergessen;

    Kommentar


    • #3
      PHP-Code:
      $_POST['eingabe'] / $_GET['eingabe'
      Autsch.

      Stell dir nur vor jemand ruft ?eingabe=0 auf :O
      Das Problem an Javascript:

      Code:
      Array(16).join('hero' - 1) + ' Batman!'

      Kommentar


      • #4
        Zitat von easyAnfaenger26 Beitrag anzeigen
        session_start(); am Anfang(vor jeglicher Ausgabe) des Dokumentes vorher nicht vergessen;
        PHP-Code:
        if(session_status() == PHP_SESSION_NONE ){
        session_start();

        Und das bitte nicht vor jeder Ausgabe.

        Kommentar


        • #5
          Gut danke hat geklappt bisher...

          Ich habe jedoch ein Problem.
          Ich habe jetzt einfach eine Variable erstellt und dort einen wert gespeichert,
          auf der nächsten Seite überprüft er ob der wert richtig ist
          wenn ja zeigt er den Inhalt.

          Funktioniert aber irgendwie nicht... er zeigt gar nichts mehr (außer den Header).

          Ich poste mal den Code:

          Seite 1, eingabe:
          PHP-Code:
          <?php
                      
          if(@$_GET["page"] == "keyRight")
                      {
                          
          $key mysql_real_escape_string($_POST["key"]);
                          
          $sec 0;
                                      
                          
          //Prüfen ob Key leer
                          
          ...
                              
          // Wenn Key Richtig, zu RegisNeu verbinden.
                              
          else
                              {
                                  
          $sec 1;
                                  echo 
          "<weiterleitung... />";
                                  
          $_SESSION['sec'] = $_POST['sec'];
                              }
                                              
                              
          mysql_close($verbindung);
                          }
                      }
                  
          ?>
          Seite 2 (überprüfung):
          PHP-Code:
          <?php
                          
          if($_SESSION["sec"] == 1)
                          {
                                  
          // Wenn Key Richtig - alles anzeigen?
                                  // Ausgabe mit echo des HTML Inhaltes.
                          
          }
                          else
                          {
                              exit();
                          }
                          
          ?>
          Habe am Anfang beider .php Dateien, den session_start(); Befehl.
          Die DB Abfrage wurde natürlich nicht komplett hier rein kopiert .

          Kommentar


          • #6
            Da fehlt ein doppeltes Anführungszeichen.

            Kommentar


            • #7
              Zitat von Andante Beitrag anzeigen
              Da fehlt ein doppeltes Anführungszeichen.
              Wo genau?
              Auf Seite 2 bei der Abfrage? Habe ich bereits geändert...zeigt aber trotzdem nichts an.

              Kommentar


              • #8
                Drücke mal da, wo er nichts anzeigt STRG + U und guck dir mal an, ob das wirklich leer ist (also Quelltext der Seite anzeigen)
                Ich vermute mal, dass dort was drin steht.

                Kommentar


                • #9
                  Zitat von Andante Beitrag anzeigen
                  Drücke mal da, wo er nichts anzeigt STRG + U und guck dir mal an, ob das wirklich leer ist (also Quelltext der Seite anzeigen)
                  Ich vermute mal, dass dort was drin steht.

                  Ja, sobald ich an der Stelle in der HTML-Datei den <?php Befehl gebe, kommt nichts mehr danach....desswegen ist auch der footer etc. weg.

                  Liegt es vielleicht am exit(); befehl?

                  Kommentar


                  • #10
                    Poste doch bitte mal den Quellcode.. nach den Schnippseln, die hier rumfliegen, dürfte nur eine Ausgabe erfolgen in Form eines falschen HTML-Tags
                    Code:
                    <weiterleitung... />
                    und nichts weiter. Kein exit-Befehl nichts.. Wenn du den Quellcode postest, kann man dir wesentlich besser helfen.

                    Kommentar


                    • #11
                      Ok konnte es grade selbst lösen....trotzdem danke für die Hilfe.

                      Kommentar


                      • #12
                        Die älteste der drei mysql-Erweiterungen ist veraltet (mysql_*-Funktionen, nicht die MySQL-Datenbank) und wird in den kommenden Versionen aus PHP entfernt. Aktuell wirft sie schon E_DEPRECATED-Fehler bei einer Verbindung zur Datenbank. Des Weiteren stehen dir sehr viele tolle Features von mysql mit diesen Funktionen nicht zur Verfügung! Weiterführende Links:
                        Choosing an API
                        Warum man mysql* generell nicht (mehr) nutzen sollte.
                        Wie man von mysql* auf PDO umsteigt
                        Wissenswertes zum Thema SQL-Injection
                        Standards - Best Practices - AwesomePHP - Guideline für WebApps

                        Kommentar


                        • #13
                          Dabei noch der Hinweis dass das Wort Schützung nicht gleichbedeutend mit Beschützung oder Schutz ist, sondern etwas mit Pfändung zu tun hat.
                          [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                          Kommentar


                          • #14
                            upps

                            Kommentar

                            Lädt...
                            X