Ein Berg Fehlermeldungen

jop :smiley:

Normalerweise Ja

phpmyadmin zeigt mir z.Z. auch nichts an :ps:

Edit: Comjag war wieder schneller :smiley:

So, jetzt geht es bei mir wieder.
Die Tabelle wurde definitiv nicht erstellt :neutral_face:
Weiß wirklich niemand, woran das liegen kann? Vielleicht hilft es ja,
wenn ich das Error-Reporting auf all setze?

probier es :wink:

Mhm, er hat auch schon was gefunden:

[quote]Notice: Undefined variable: sql in /users/trekwork/www/php/loginsystem/install.php on line 14
[/quote]
o.0 Die ist doch definiert?

Nein, ist sie nicht…
du hast eine Variable namens “slq” definiert :wink:

:astonished: Ich brauch wohl ne Brille :smiley:
Juhu, sie wurde angelegt!

Danke michi :hail:

Hi

Ich bin mein Script soweit durchgegangen, und habe noch einen Fehler gefunden:

[code]echo "

Passwort: ";[/code] funktioniert nicht so, wie ich es will. Da der enthaltene HTML-Code " enthält, geht php damit wie mit dem Ende des Variableninhalts um. Ich könnte mir vorstellen, dass es mit file_get_contents und einer externen Datei geht, aber das möchte ich nicht machen. Weiß jemand vielleicht eine Lösung?

Gruß,
TrekWork

[code]echo "

Passwort: ";[/code]

Entweder vor jedem " ein \ oder statt " einfach ’ nehmen beim echo
also

[code]echo ’

Passwort: ';[/code]

Mhm, perfekt, danke :wink:
Mir ist gerade ein neues Problem aufgefallen:

[code]<?php
include(“config.php”);
$PW = $_POST[‘PW’];
if (!isset($_POST[‘PW’])) {
echo ’

Passwort: '; }

{
if ($PW == $adminpw) {
define(‘SICHERHEIT’, true);
include(‘admin_user.php’);
}
if ($PW != $adminpw) {
die(‘Zugriff verweigert!’);
}
}
?>[/code]
Das hab ich mir so vorgestellt: Wenn noch keine Post-Variable überliefert wurde,
wird das Formular erscheinen. Sollte jedoch etwas eingegeben worden sein, wird
es auf Richtigkeit überprüft. Wenn das Passwort falsch ist, wird eine Fehlermeldung
ausgegeben.
Bloß wird immer die Fehlermeldung ausgegeben, obwohl

gar nicht erfüllt ist, weil ja noch keine Post-Variable übergeben wurde.

du hast das else vergessen -.-

Wieso? Es gibt doch auch ganz einfache if-Anweisungen …
//Edit: Lol, ok, ich seh gerade, dass ich irgendwelchen Mist geschrieben hab :p

if heißt: FALLS
else: Sonst
Also Falls die Variable nicht gesetzt ist soll er das Form zeigen.
Sonst prüft er ob das PW richtig oder Falsch ist.
Zur Zeit ist es bei dir So:
Falls Variable nicht da Form.
Ist das Passwort richtig? Hey das ist falsch also Fehlermeldung.

Soll ja aber so:
Falls Variable nicht da Form
Ansonsten ist das PW richtig? Ja ist es oder nein ist es nicht.

Ja, aber die Sache mit dem richtigen oder falschen Passwort soll er doch einfach
nur ignorieren, wenn keine Post-Variablen vorliegen.
Ich merk gerade, dass ich den falschen Code gepostet habe. Hier der Code:

[code]<?php
include(“config.php”);
$PW = $_POST[‘PW’];
if (!isset($_POST[‘PW’])) {
echo ’

Passwort: '; } if (isset($_POST['PW'])) { if ($PW == $adminpw) { define('SICHERHEIT', true); include('admin_user.php'); } if ($PW != $adminpw) { die('Zugriff verweigert!'); } } ?>[/code]

Jetzt versteh ich auch michis Post :wink:

<?php include("config.php"); $PW = $_POST['PW']; if (!isset($_POST['PW'])) { echo ' <form method="POST"> Passwort:<input type="text" size="20" name="PW"> </form>'; } elseif (isset($_POST['PW'])) { if ($PW == $adminpw) { define('SICHERHEIT', true); include('admin_user.php'); } elseif ($PW != $adminpw) { die('Zugriff verweigert!'); } } ?>

Machs entweder so oder

<?php include("config.php"); $PW = $_POST['PW']; if (!isset($_POST['PW'])) { echo ' <form method="POST"> Passwort:<input type="text" size="20" name="PW"> </form>'; } else { if ($PW == $adminpw) { define('SICHERHEIT', true); include('admin_user.php'); } else { die('Zugriff verweigert!'); } } ?>
Das 2. wär richtiges PHP. aber nur mit ifs arbeitet man nichtmal in c++^^

Mhm, das funktioniert - aber wieso hat meins nicht funkioniert?
Rein logisch hätte es doch klappen müssen, oder?
Danke, jedenfalls :wink:

Warum es nicht funzt weiß ich nicht genau.
Aber einen vorteil hat if else und elseif:
Es spart Zeit beim generieren.
Weil sobald PHP eine übereinstimmung beim if findet macht er das else nichtmehr und ignoriert es.
Bei dir schaut er bei jedem if nach ob es eine übereinstimmung findet.
Sobald man sehr viele hat würde es ziemlich lange dauern alles ifs zu überprüfen

Hi

Ich bin mittlerweile fast fertig mit dem Script. Einzig und allein ein Problem
habe ich noch:

[code]<?php
include(“config.php”);
session_start();
$Benutzername = $_POST[‘Benutzername’];
$Passwort = $_POST[‘Passwort’];
if (!isset($_POST[‘Benutzername’]) or !isset($_POST[‘Passwort’])) {
if (!isset($_SESSION[‘login’])) {
echo ’

Benutzername:

Passwort:

'; } elseif (isset($_SESSION['login'])) { echo 'Hier kann Inhalt rein, der erscheint, wenn der Benutzer eingeloggt ist'; } } elseif (isset($_POST['Benutzername']) && isset($_POST['Passwort'])) { //Verbindung aufbauen $db = mysql_connect($host, $dbuser, $dbpass); mysql_select_db("$dbname",$db); //Das Passwort zum User auslesen $sql = "SELECT Passwort FROM User WHERE Benutzername LIKE '$Benutzername'"; $result = mysql_query($sql,$db); if ($result == $Passwort) { $_SESSION['login'] = 1; echo "Du wurdest erfolgreich eingeloggt!"; } else if ($result != $Passwort) { echo "Es wurden falsche Daten eingegeben!"; } } ?>[/code] Das ist mein Login. Das mit den Sessions und dem nach dem Login verschwinden Formular klappt alles wunderbar. Bloß die Passwort-Prüfung mit der MySQL-Verbindung klappt noch nicht ganz. Egal was ich eingebe, das Passwort scheint immer falsch zu sein. Irgendwo da drin steckt ein Fehler ... aber ich bekomme keine Fehlermeldung. Nicht mal mit error_reporting auf all. Mein phpmyadmin spinnt auch gerade, aber das scheint im Moment bei vielen aufzutreten. Werden dadurch vielleicht die MySQL-Anfragen behindert?

Gruß,
TrekWork

//Verbindung aufbauen $db = mysql_connect($host, $dbuser, $dbpass); mysql_select_db("$dbname",$db); //Das Passwort zum User auslesen $sql = "SELECT Passwort FROM User WHERE Benutzername LIKE '$Benutzername'"; $query = mysql_query($sql); $result = mysql_fetch_row($query); if ($result[0] == $Passwort) {

Ersetz mal :wink:

Uhm, da stimmt wohl was nicht.
Aber mir fällt auch gerade ein, dass das Ergebnis ein Array ist :smiley: