Sponsor-Board.de
Thema geschlossen  Thema schreiben 
 Seiten (2): « Erste 1 2 Nächste > Letzte »

*gelöst* Login von PHP Seite ist Fehlerhaft

Verfasser Nachricht

Beiträge: 433
Bewertung: 6
Registriert seit: Mar 2011
Status: offline


Beitrag: #1
*gelöst* Login von PHP Seite ist Fehlerhaft

Guten Tag liebe Community,

Mein Name ist Stephen M. bin 21 Jahre alt und komme aus Luxemburg.

Aktuell habe ich wieder ein Problem, das mir letztes Jahr nicht aufgefallen beziehungsweise nicht aufgetretten ist. Für mein Schulprojekt soll ich einen simplen Login erstellen und mir ist aufgefallen, dass man sich unter egal welchen Eingaben einloggen kann.

Hier einmal mein Code

Code:
//Eingabe des Datenbankdaten
    $con = mysqli_connect($SQLIP, $SQLAccount, $SQLPassword)
        or die("Verbindungsaufbau Fehlschlag.");
    
    //Auswahl der Datenbank
    mysqli_select_db($con, "RaspPiThermo");
    
    
    function CheckNow()
    {
      echo shell_exec("sudo ./TempNow.sh");
    }
    
    function LogOff()
    {
      unset($_SESSION['LoggedIn']);
      unset($_SESSION['Username']);
      unset($_SESSION['Password']);
      unset($_SESSION['LoggedIn']);
      unset($Check3);
      echo "
        <script type='text/javascript'>
          window.setTimeout(location.href='index.php', 500);
        </script>
      ";
    }
    
    
    echo"
      <form method='post' action='index.php'>
    ";
        
    echo "
      <body>
        <div>
          <div>  
            <p>
    ";
    
    if (isset($_SESSION['LoggedIn']))
    {
        
      echo"   <input type='submit' name='logout' value='Log Off' onclick='LogOff()' /> Eingeloggt
            </p>
      ";
    }
    else
    {
      echo"
        <table border='0'>
          <tr>
            <td>
              Username:    
            </td>
            <td>
              <input type='text' name='Username' maxlength='20' >
            </td>
          </tr>
          <tr>
            <td>
              Passwort:    
            </td>
            <td>
              <input type='password' name='Password' maxlength='20'>
            </td>
          </tr>
          <tr>
            <td colspan='2'>
              <input type='submit' name='Login' value='Login'>      
            </td>
          </tr>
        </table>
      ";
    
    
      //übergabe der Registrationsdaten
      $Username = $_POST['Username'];
      
      $Password = $_POST['Password'];
      
      
      //Prüfen ob Daten eingegeben wurden
      if (isset($_POST['Username']) AND
          isset($_POST['Password']))
      {
        
        //Code für Logindaten Überprüfung
        $sqlLoginData = "SELECT * FROM `tblUser`
          WHERE `Name` = '$Username'
          AND `Password` = '$Password'
        ";
          
          
        //Ausführung des MySQL-Befehls
        $ausführen = mysqli_query($con, $sqlLoginData)
          or die("Login Fehler");
        
        if ($ausführen)
        {
          $_SESSION['Username'] = $Username;
          $_SESSION['Password'] = $Password;
          $_SESSION['LoggedIn'] = "Set";
          $Check3 = "OK";
          
          echo "
          <script type='text/javascript'>
            window.setTimeout(location.href='index.php', 500);
          </script>
          ";
        }
        else
        {
          echo "Login Fehlgeschlagen!";
        }
        
        if (isset($Check3))
        {
          
        }
      }
    }


Ich würde außerdem noch gerne das Problem mit meinem Include lösen, wobei ich leider keine Ahnung habe, was genau ich ändern soll. Mittlerweile habe ich schon die richtige Datei gefunden, in der es geändert werden muss.

Die Rede ist von "/etc/php5/apache2/php.ini". Dort gibt es die Zeile

Code:
PHP's default setting for include_path is ".;/path/to/pehp/pear"


Die Frage ist, wie muss ich den Pfad verändern, dass er in den Ordner /var/www/Include die Dateien suchen geht. In der /var/log/apache2/error.log steht immer wieder

Code:
PHP Warning: include(Include/table.php): failed to open stream: Permission denied in /var/www/index.php on line 145
PHP Warning: include(): Failed opening 'Include/table.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/index.php on line 145


Würde mich über eure Hilfe freuen

Mit freundlichen Grüßen
VarmintLP


War der Beitrag hilfreich? Dann kann ein einfacher Klick auf den Danke-button ja wohl nicht schaden. Biggrin

Dieser Beitrag wurde zuletzt bearbeitet: 18.03.2015 09:27 von VarmintLP.

10.12.2014 10:50
 
Alle Beiträge dieses Benutzers finden

Beiträge: 370
Bewertung: 48
Registriert seit: Mar 2011
Status: offline


Beitrag: #2
RE: Login von PHP Seite ist Fehlerhaft

PHP-Code:
//Eingabe des Datenbankdaten
    
$con mysqli_connect($SQLIP$SQLAccount$SQLPassword
        or die(
"Verbindungsaufbau Fehlschlag.");
    
    
//Auswahl der Datenbank
    
mysqli_select_db($con"RaspPiThermo"); 
    
    
    function 
CheckNow()
    {
      echo 
shell_exec("sudo ./TempNow.sh");
    }
    
    function 
LogOff()
    {
      unset(
$_SESSION['LoggedIn']);
      unset(
$_SESSION['Username']);
      unset(
$_SESSION['Password']);
      unset(
$_SESSION['LoggedIn']);
      unset(
$Check3);
      echo 
"
        <script type='text/javascript'>
          window.setTimeout(location.href='index.php', 500);
        </script>
      "
;
    }
    
    
    echo
"
      <form method='post' action='index.php'>
    "
;
        
    echo 
"
      <body>
        <div>
          <div>  
            <p>
    "
;
    
    if (isset(
$_SESSION['LoggedIn']))
    {
        
      echo
"   <input type='submit' name='logout' value='Log Off' onclick='LogOff()' /> Eingeloggt
            </p>
      "

    }
    else
    {
      echo
"
        <table border='0'>
          <tr>
            <td>
              Username:    
            </td>
            <td>
              <input type='text' name='Username' maxlength='20' >
            </td>
          </tr>
          <tr>
            <td>
              Passwort:     
            </td>
            <td>
              <input type='password' name='Password' maxlength='20'>
            </td>
          </tr>
          <tr>
            <td colspan='2'>
              <input type='submit' name='Login' value='Login'>      
            </td>
          </tr>
        </table>
      "
;
    
    
      
//übergabe der Registrationsdaten
      
$Username $_POST['Username'];
      
      
$Password $_POST['Password'];
      
      
      
//Prüfen ob Daten eingegeben wurden
      
if (isset($_POST['Username']) AND 
          isset(
$_POST['Password']))
      {
        
        
//Code für Logindaten Überprüfung
        
$sqlLoginData "SELECT * FROM `tblUser`
          WHERE `Name` = '
$Username
          AND `Password` = '
$Password'
        "
;
          
          
        
//Ausführung des MySQL-Befehls
        
$ausführen mysqli_query($con$sqlLoginData)
          or die(
"Login Fehler");
         
        if (
$ausführen)
        {
          
$_SESSION['Username'] = $Username;
          
$_SESSION['Password'] = $Password;
          
$_SESSION['LoggedIn'] = "Set";
          
$Check3 "OK";
          
          echo 
"
          <script type='text/javascript'>
            window.setTimeout(location.href='index.php', 500);
          </script>
          "
;
        }
        else
        {
          echo 
"Login Fehlgeschlagen!";
        }
        
        if (isset(
$Check3))
        {
          
        }
      }
    } 


Du checkst nur ob der Query ausgeführt wird.

PHP-Code:
if($ausführen) { [...] 


Versuch mal das hier

PHP-Code:
//Eingabe des Datenbankdaten
    
$con mysqli_connect($SQLIP$SQLAccount$SQLPassword
        or die(
"Verbindungsaufbau Fehlschlag.");
    
    
//Auswahl der Datenbank
    
mysqli_select_db($con"RaspPiThermo"); 
    
    
    function 
CheckNow()
    {
      echo 
shell_exec("sudo ./TempNow.sh");
    }
    
    function 
LogOff()
    {
      unset(
$_SESSION['LoggedIn']);
      unset(
$_SESSION['Username']);
      unset(
$_SESSION['Password']);
      unset(
$_SESSION['LoggedIn']);
      unset(
$Check3);
      echo 
"
        <script type='text/javascript'>
          window.setTimeout(location.href='index.php', 500);
        </script>
      "
;
    }
    
    
    echo
"
      <form method='post' action='index.php'>
    "
;
        
    echo 
"
      <body>
        <div>
          <div>  
            <p>
    "
;
    
    if (isset(
$_SESSION['LoggedIn']))
    {
        
      echo
"   <input type='submit' name='logout' value='Log Off' onclick='LogOff()' /> Eingeloggt
            </p>
      "

    }
    else
    {
      echo
"
        <table border='0'>
          <tr>
            <td>
              Username:    
            </td>
            <td>
              <input type='text' name='Username' maxlength='20' >
            </td>
          </tr>
          <tr>
            <td>
              Passwort:     
            </td>
            <td>
              <input type='password' name='Password' maxlength='20'>
            </td>
          </tr>
          <tr>
            <td colspan='2'>
              <input type='submit' name='Login' value='Login'>      
            </td>
          </tr>
        </table>
      "
;
    
    
      
//übergabe der Registrationsdaten
      
$Username $_POST['Username'];
      
      
$Password $_POST['Password'];
      
      
      
//Prüfen ob Daten eingegeben wurden
      
if (isset($_POST['Username']) AND 
          isset(
$_POST['Password']))
      {
        
        
//Code für Logindaten Überprüfung
        
$sqlLoginData "SELECT * FROM `tblUser`
          WHERE `Name` = '
$Username
          AND `Password` = '
$Password'
        "
;
          
          
        
//Ausführung des MySQL-Befehls
        
$ausführen mysqli_query($con$sqlLoginData)
          or die(
"Login Fehler");
$checkforRow mysqli_num_rows($ausführen);
         
        if (
$checkforRow != 0)
        {
          
$_SESSION['Username'] = $Username;
          
$_SESSION['Password'] = $Password;
          
$_SESSION['LoggedIn'] = "Set";
          
$Check3 "OK";
          
          echo 
"
          <script type='text/javascript'>
            window.setTimeout(location.href='index.php', 500);
          </script>
          "
;
        }
        else
        {
          echo 
"Login Fehlgeschlagen!";
        }
        
        if (isset(
$Check3))
        {
          
        }
      }
    } 


PS: Was hat Israel mit Böcken und Unsicherheit zu tun? Glaubst du, dass die deine Daten an die Hamas senden und dir ein Terorkommando schicken oder hast du Angst vor dem Mossad? Tongue

Allgemeine Fragen: support[at]sponsor-board.de | persönliche Fragen: kevin[at]sponsor-board.de

Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2014 11:12 von Kevv.

10.12.2014 11:09
 
Alle Beiträge dieses Benutzers finden

Beiträge: 433
Bewertung: 6
Registriert seit: Mar 2011
Status: offline


Beitrag: #3
RE: Login von PHP Seite ist Fehlerhaft

Naja mit dem Code funktion iert es zwar, dass nicht alle gleich eingeloggt werden mit egal welchen werten, aber ich kann mich auch nicht mit anderen Usern die existieren einloggen.

Leider funktioniert es auch nur einmal :/

P.S.: brauchst nicht den ganzen Code zu schreiben. Der betreffende Ausschnitt reicht.


War der Beitrag hilfreich? Dann kann ein einfacher Klick auf den Danke-button ja wohl nicht schaden. Biggrin

10.12.2014 11:31
 
Alle Beiträge dieses Benutzers finden

Beiträge: 370
Bewertung: 48
Registriert seit: Mar 2011
Status: offline


Beitrag: #4
RE: Login von PHP Seite ist Fehlerhaft

Du lieferst auch keinen kompletten Code.
Was steht denn noch vor dem Abschnitt hier:

PHP-Code:
/Eingabe des Datenbankdaten
    $con 
mysqli_connect($SQLIP$SQLAccount$SQLPassword
        or die(
"Verbindungsaufbau Fehlschlag."); 


Außer das die Variablen da irgendwo definiert werden ?
Du bräuchtest auch noch ein session_start() ganz am Anfang.

Und die Variablen sollten auch mal escaped werden (SQL Injection).
Würde das ganze ja mal gerne Lokal bei mir testen.


PS: Was hat Israel mit Böcken und Unsicherheit zu tun? Glaubst du, dass die deine Daten an die Hamas senden und dir ein Terorkommando schicken oder hast du Angst vor dem Mossad? Tongue

Allgemeine Fragen: support[at]sponsor-board.de | persönliche Fragen: kevin[at]sponsor-board.de

10.12.2014 11:39
 
Alle Beiträge dieses Benutzers finden

Beiträge: 24
Bewertung: 1
Registriert seit: Aug 2012
Status: offline


Beitrag: #5
RE: Login von PHP Seite ist Fehlerhaft

Zudem kann ich Dir vorweg sagen, dass dein LogOff() nicht funktionieren wird. Du kannst keine PHP-Funktion mit onclick="" aufrufen.

VarmintLP schrieb:

Code:
[...]

    function LogOff()
    {
      unset($_SESSION['LoggedIn']);
      unset($_SESSION['Username']);
      unset($_SESSION['Password']);
      unset($_SESSION['LoggedIn']);
      unset($Check3);
      echo "
        <script type='text/javascript'>
          window.setTimeout(location.href='index.php', 500);
        </script>
      ";
    }

    [...]

    if (isset($_SESSION['LoggedIn']))
    {
        
      echo"   <input type='submit' name='logout' value='Log Off' onclick='LogOff()' /> Eingeloggt
            </p>
      ";
    }
    
    [...]


MfG
Freddy

Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2014 11:49 von Freddy.

10.12.2014 11:48
 
Alle Beiträge dieses Benutzers finden

Beiträge: 334
Bewertung: 4
Registriert seit: Sep 2010
Status: offline


Beitrag: #6
RE: Login von PHP Seite ist Fehlerhaft

Du hast da verdammt noch mal das aller wichtigste im Umgang mit Sessions vergessen.
Hier lesen:
[Link: Registrierung erforderlich]

und Sessions verstehen und zu benutzen verstehen.

PS: Wenn du entwickelst, lerne zu debuggen.
Ansonsten wirst du vor jeder 2. Zeile fragend stehen und nicht weiter wissen.


Ahh myfarynet.eu war schneller. Ich wollte lieber das er den Fehler selber erkennt und sich informiert. Sonst lernt er nicht weil er scheinbar nicht weiß wie Sessions funktionieren oder er hat es vergessen(wobei ich auf erstes tippe).
Mfg Scharock


SponsorBoard
GEIZ - Geil Ein Idiot Zahlt

Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2014 12:01 von Scharock.

10.12.2014 11:57
 
Alle Beiträge dieses Benutzers finden

Beiträge: 433
Bewertung: 6
Registriert seit: Mar 2011
Status: offline


Beitrag: #7
RE: Login von PHP Seite ist Fehlerhaft

@myfarynet.eu der session_start ist vorhanden. Und im Header stehen nun wirklich keine weiteren relevanten Informationen nur das Übliche Titel, Charset und nach dem Header die Variablen für den Server (die ich nicht zeigen möchte, da man ja weiß, dass das große weite Internet von Überall zugänglich ist. Das mal vorweg.

@Scharock ich kann richtig Debuggen, nur manchmal komme ich auch nicht weiter, da nicht jedes Problem vorgekommen ist.

@Freddy die Funktion habe ich nur eben so dahin gesetzt, damit ich das später ändern kann. Sogesehen, kann man die Funktion einfach entfernen und so tun, als ob sie nicht da gewesen wäre.

@all Ich habe in der Zwischenzeit ein wenig weiter an der Index.php gearbeitet, aber da mir das nötige Material hier Zuhause fehlt und mir manche Möglichkeiten einfach nicht gegeben sind, kann ich nicht so ohne weiteres meinen Raspberry Pi Permanent eingeschaltet lassen.

Außerdem kenne ich mich sehr wohl ausreichend mit Sessions aus, um diese ohne weiteres Verwenden zu können.

Das Gesamtprojekt ist außerdem nur dafür gedacht in einem geschlossenen Firmennetz verwendet zu werden. Das soll heißen: Von außen wird man später nicht auf die Geräte Zugriff erhalten, außer man ist innerhalb des Firmen/Schulnetzwerks.

Um wieder auf das Problem zurück zu kommen. Mit der Idee

PHP-Code:
if($ausführen) { [...] 


durch folgendes zu ersetzen, hat leider nicht geholfen.

PHP-Code:
//Ausführung des MySQL-Befehls
        
$ausführen mysqli_query($con$sqlLoginData)
          or die(
"Login Fehler");
$checkforRow mysqli_num_rows($ausführen);
         
        if (
$checkforRow != 0)[...] 


Leider bin ich jetzt genau so entfernt von der Lösung als vorher. -_-

Vlt hat ja einer von euch eine andere Lösung parat.


War der Beitrag hilfreich? Dann kann ein einfacher Klick auf den Danke-button ja wohl nicht schaden. Biggrin

10.12.2014 17:03
 
Alle Beiträge dieses Benutzers finden

Beiträge: 334
Bewertung: 4
Registriert seit: Sep 2010
Status: offline


Beitrag: #8
RE: Login von PHP Seite ist Fehlerhaft

VarmintLP schrieb:
@myfarynet.eu der session_start ist vorhanden. Und im Header stehen nun wirklich keine weiteren relevanten Informationen nur das Übliche Titel, Charset und nach dem Header die Variablen für den Server (die ich nicht zeigen möchte, da man ja weiß, dass das große weite Internet von Überall zugänglich ist. Das mal vorweg.

@Scharock ich kann richtig Debuggen, nur manchmal komme ich auch nicht weiter, da nicht jedes Problem vorgekommen ist.

@Freddy die Funktion habe ich nur eben so dahin gesetzt, damit ich das später ändern kann. Sogesehen, kann man die Funktion einfach entfernen und so tun, als ob sie nicht da gewesen wäre.

@all Ich habe in der Zwischenzeit ein wenig weiter an der Index.php gearbeitet, aber da mir das nötige Material hier Zuhause fehlt und mir manche Möglichkeiten einfach nicht gegeben sind, kann ich nicht so ohne weiteres meinen Raspberry Pi Permanent eingeschaltet lassen.

Außerdem kenne ich mich sehr wohl ausreichend mit Sessions aus, um diese ohne weiteres Verwenden zu können.

Das Gesamtprojekt ist außerdem nur dafür gedacht in einem geschlossenen Firmennetz verwendet zu werden. Das soll heißen: Von außen wird man später nicht auf die Geräte Zugriff erhalten, außer man ist innerhalb des Firmen/Schulnetzwerks.

Um wieder auf das Problem zurück zu kommen. Mit der Idee

PHP-Code:
if($ausführen) { [...] 


durch folgendes zu ersetzen, hat leider nicht geholfen.

PHP-Code:
//Ausführung des MySQL-Befehls
        
$ausführen mysqli_query($con$sqlLoginData)
          or die(
"Login Fehler");
$checkforRow mysqli_num_rows($ausführen);
         
        if (
$checkforRow != 0)[...] 


Leider bin ich jetzt genau so entfernt von der Lösung als vorher. -_-

Vlt hat ja einer von euch eine andere Lösung parat.

Ich kann dir rein gar nichts davon glauben.

Ich habe den Code komplett kopiert und bei mir getestet.
Mit dem Code von myfarynet.eu hat alles perfekt funktioniert.

Sorry, ich kann dir nicht ansatzweise glauben, dass du deinen Code gedebuggt hast.
Der Code funktioniert fehlerfrei.
Dann debugge das und schreib uns wo genau welcher Wert fehlt oder falsch ist.

Deine Aussagen sind recht grob.
Und wie gesagt bei mir lokal läuft der Code Problemlos.


SponsorBoard
GEIZ - Geil Ein Idiot Zahlt

10.12.2014 17:47
 
Alle Beiträge dieses Benutzers finden

Beiträge: 433
Bewertung: 6
Registriert seit: Mar 2011
Status: offline


Beitrag: #9
RE: Login von PHP Seite ist Fehlerhaft

Scharock schrieb:
Ich kann dir rein gar nichts davon glauben.

Ich habe den Code komplett kopiert und bei mir getestet.
Mit dem Code von myfarynet.eu hat alles perfekt funktioniert.

Sorry, ich kann dir nicht ansatzweise glauben, dass du deinen Code gedebuggt hast.
Der Code funktioniert fehlerfrei.
Dann debugge das und schreib uns wo genau welcher Wert fehlt oder falsch ist.

Deine Aussagen sind recht grob.
Und wie gesagt bei mir lokal läuft der Code Problemlos.


Ok dann welches System benutzt du und welche PHP Version verwendest du. Bei mir kommt halt Login Fehler dahinstehen, ich bekomme dann die Eingegebenen Werte angezeigt und das wars dann. Mehr kommt da echt nicht bei mir.


War der Beitrag hilfreich? Dann kann ein einfacher Klick auf den Danke-button ja wohl nicht schaden. Biggrin

10.12.2014 19:04
 
Alle Beiträge dieses Benutzers finden

Beiträge: 3.413
Bewertung: 33
Registriert seit: Oct 2010
Status: offline


Beitrag: #10
RE: Login von PHP Seite ist Fehlerhaft

Wenn da "Login Fehler" steht, hast du nen Fehler in der Mysql Abfrage - check das mit mysqli_error() - da wären wir wieder beim Thema: richtig debuggen ... was du ja laut eigener Aussage drauf hast Tongue

Das hat hier auch nichts mit dem OS oder der PHP Version zu tun - wie kommst du da drauf?


Portfolio: [Link: Registrierung erforderlich]

Projekte
[Link: Registrierung erforderlich]
[Link: Registrierung erforderlich]

Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2014 19:10 von Aaron.

10.12.2014 19:08
 
Alle Beiträge dieses Benutzers finden
Thema geschlossen  Thema schreiben 
 Seiten (2): « Erste 1 2 Nächste > Letzte »

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  *gelöst* jquery Werte in Select laden VarmintLP 2 1.558 15.12.2014 13:42
Letzter Beitrag: VarmintLP
  *gelöst* Wasserkühlung für CPU AM3+ VarmintLP 10 2.964 04.12.2014 13:30
Letzter Beitrag: VarmintLP
  [Hilfe] Facebook eigene Seite FDGOD 5 1.683 17.03.2013 22:17
Letzter Beitrag: push
  (Chrome) Teklab Login Problem phillux1 2 1.396 02.02.2013 11:48
Letzter Beitrag: phillux1
  Login Fenster öffnet sich nicht. - League of Legends Techno 6 9.290 02.08.2012 14:36
Letzter Beitrag: JezArts

 Druckversion anzeigen
 Thema einem Freund senden
 Thema abonnieren
 Thema zu den Favoriten hinzufügen

Sponsor-Board.de

Community
Über uns
Partner
Powered by Mybb: Copyright 2002-2024 by MyBB Group - Deutsche-Übersetzung von Mybb.de
 
© 2007-2024 Sponsor-Board.de - Hosted by OVH

Willkommen auf SB!   Sie benötigen ein Sponsoring?   1. Anmelden   2. Sponsoring-Anfrage erstellen   3. Nachrichten von Sponsoren erhalten   Kostenlos!   Jetzt registrieren