Ein Berg Fehlermeldungen

N’Abend allerseits :wink2:

Ich bin seit ein paar Tagen dabei ein etwas größeres Script zu programmieren:
Ein User-Management-System mit Login, Registrierung, Installation, Admin-Bereich.
Das Programmieren ist eigentlich noch das leichtere an der Sache. Viel schwerer ist
es für mich, die ganzen Fehler rauszusortieren.
Ich fange mal beim Installations-Script an:

<?php
include('config.php');
//Verbindung herstellen
$db = mysql_connect($host, $dbuser, $dbpass);
mysql_select_db("$dbname",$db);
//Anlegen der Tabelle
$slq="CREATE TABLE IF NOT EXISTS `User` (
  `ID` int(6) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `Username` varchar(30) default NULL,
  `Passwort` varchar(32) default NULL,
  `Email` varchar(70) default NULL
) TYPE = MYISAM;";
$result=mysql_query($sql,$db);
echo "Vorgang ausgef&uml;hrt"
mysql_close($db);
?>

Das Script legt nur eine Tabelle an. Die MySQL-Daten sind in der config.php definiert.
Bloß gibt das ganze im Moment das hier aus:

Irgendwie find ich den Fehler nicht :neutral_face: " und ; hab ich doch immer gesetzt.
Kann mir bitte jemand von den Experten hier helfen?

Gruß,
TrekWork

Ich kann da keinen Fehler feststellen… :astonished:


..was steht in dieser datei? dort wird ja der fehler verursacht.


ciao

…was steht in dieser datei? dort wird ja der fehler verursacht.

ciao

Ahh, das hab ich doch glatt übersehen :wink:

[quote]…was steht in dieser datei? dort wird ja der fehler verursacht.
[/quote]
Stimmt, darauf bin ich noch gar nicht gekommen. Ich überprüf das mal.

Jup, okay, da hatte ich nen Fehler drin. Danke.
Eine Fehlermeldung gibt er jetzt nicht mehr, aber eine Tabelle wird
auch nicht angelegt :astonished:

Öhm, achja, der Code von der config.php:

<?php
//MySQL-Daten:
$host = 'localhost'; //Der Datenbankserver
$dbuser = 'username'; //Der Datenbank-Username
$dbname = 'dbname'; //Der Datenbank-Name
$dbpass = 'passwort'; //Das Passwort für den Datenbank-Benutzer

//Login-Einstellungen
$logintime = 2700; //Zeit, die der User eingeloggt bleibt (in Sekunden)

//Admin-Einstellungen
$adminpw = "adminpasswort"; //Das Passwort für den Admin-Bereich
?>

wird wahrscheinlich nicht der fehler sein, aber ein ; hast du noch vergessen

Hmm, die Datenbank hast du in Anführungszeichen gesetzt.

Ich bin mir jetzt nicht sicher, ich mache es jedenfalls ohne:

Daturch wird ein String daraus gemacht, bleibt sich aber egal…

Mhm, danke für den Hinweis. Ich habs mal ausprobiert, aber ich kann gerade
nicht nachvollziehen, ob es geklappt hat. Mein phpmyadmin zeigt mir auf einmal
keine Tabellen mehr an o.0
Würde eigentlich ein Fehler kommen, wenn das MySQL-PW falsch wäre?

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.