Installations Problem mit meinem Code

Also der Verständnisshalber nocheinmal der gesamte Codeabschnitt:

PHP:
	// Dieser Code erzeugt die Tabellen
	$prefix = $_POST[prefix];
	$admin = $_POST[admin];
	$adminpass = $_POST[adminpass];
	$sql = "CREATE TABLE ".$prefix."_user(
			id  		INT( 8 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
			session  	VARCHAR( 32 ) NOT NULL default'',
			rechte  	VARCHAR( 80 ) NOT NULL default'',
			username 	VARCHAR( 80 ) NOT NULL default'',
			password 	VARCHAR( 80 ) NOT NULL default'',
			email	 	VARCHAR( 80 ) NOT NULL default''
			)";

	$query = mysql_query($sql);
	
	$eintragen = "INSERT INTO ".$prefix."_user(
			username, 
			password, 
			) VALUES(
			'$admin',
			'$adminpass'
			)";
	
	$eintrag = mysql_query($eintragen);
	
	$install = $query, $eintrag
	
	if ($query){
		echo "<div class=\"successful\">Die Tabelle <b>".$prefix."_user</b> wurde erfolgreich erstellt!</div>";
		}
	else{
		echo '<div class="failed">Installation fehlgeschladen!</div><br>';
		echo 'Query: '.$sql.'<br><br>';
		echo 'Fehler: '.mysql_error().'<br><br>';
		}
	if ($eintrag){
		echo "<div class=\"successful\">Der Account <b>".$admin."</b> wurde erfolgreich erstellt!</div>";		
		}
	else{
		echo "<div class=\"failed\">Der Account <b>".$admin."</b> konnte nicht erstellt werden!</div>";
		}
	if ($install){
		echo "<div class=\"successful\">Die Installation wurde erfolgreich abgeschlossen!</div>";
		}
	else{
		echo "<div class=\"failed\">Bei der Installation trat ein Fehler auf!</div>";
		}
		/*
	$datei="create_tables.php";
	unlink($datei);
		*/

Der auskommentierte Teil ist Absicht da ich sonst meine create_tables.php jedemals neu schreiben müsste. :D
 
Ich habs mir derweil dann doch so überlegt:

PHP:
	// Dieser Code erzeugt die Tabellen
	$prefix = $_POST[prefix];
	$admin = $_POST[admin];
	$adminpass = $_POST[adminpass];
	$sql = "CREATE TABLE ".$prefix."_user(
			id  		INT( 8 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
			session  	VARCHAR( 32 ) NOT NULL default'',
			rechte  	VARCHAR( 80 ) NOT NULL default'',
			username 	VARCHAR( 80 ) NOT NULL default'',
			password 	VARCHAR( 80 ) NOT NULL default'',
			email	 	VARCHAR( 80 ) NOT NULL default''
			)";

	$query = mysql_query($sql);
	
	$eintragen = "INSERT INTO ".$prefix."_user(
			username, 
			password, 
			) VALUES(
			'$admin',
			'$adminpass'
			)";
	
	$eintrag = mysql_query($eintragen);
	
	if ($query){
		echo "<div class=\"successful\">Die Tabelle <b>".$prefix."_user</b> wurde erfolgreich erstellt!</div>";
		}
	else{
		echo '<div class="failed">Installation fehlgeschladen!</div><br>';
		echo 'Query: '.$sql.'<br><br>';
		echo 'Fehler: '.mysql_error().'<br><br>';
		}
	if ($eintrag){
		echo "<div class=\"successful\">Der Account <b>".$admin."</b> wurde erfolgreich erstellt!</div>";
		$datei="create_tables.php";
		unlink($datei);
		}
	else{
		echo "<div class=\"failed\">Der Account <b>".$admin."</b> konnte nicht erstellt werden!</div>";
		}

Aber deine Variante mit dem && hat super funktioniert. ;)
Der Gedanke dahinter ist, sollte der Admin nicht erstellt worden sein und die create_tables.php gelöscht werden, wie soll man dann noch einen Acc einrichten können?
Genau, mit einer IF Anweisung sagt man PHP das er erst löschen soll sobald alles komplett erledigt wurde. ;)

Nur stehe ich nun vor einem neuen Problem, eigentlich schon die ganze Zeit schon.:confused:

Wie bekomme ich die eingegebenen Daten die durch $_POST übergeben wurden in die Datenbank?

Dies hier funktioniert nämlich nicht, dann kommt immer folgende Fehlermeldung:

Fehler: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') VALUES( 'Admin', 'test' )' at line 4
 
e is, naja ich will mich echt groß bei dir bedanken @ Gumbo.

Du hast mir schonmal echt weitergeholfen.
Wobei ich sagen muss, ich hätte tatsächlich googlen können aber meine Freundin zieht mir jedesmal ne Verbale Klatsche drüber wenn ich für eine Funktion die PHP ausführen soll, 2-3 Std suche. :D

Naja, thx bis hierher.
 
Dann solltest du dir die betreffende Datenbankabfrage noch einmal genauer anschauen. Passwörter solltest du übrigens niemals als Klartext in der Datenbank speichern!
 
Kannst du mir mal sagen warum nicht?
Meinst du für eventuelle Cookies das da nicht das Klar geschrieben PW drin steht?

Ich hatte als Webmaster neulich auf meiner Page einen Fall, da hat jemand sein PW nicht gehabt und hatte auch seine Mail Addy nicht mehr, naja Punkt ist das er sein PW brauchte und sich hatte keins zuschicken lassen können, ich konnte ihm nur noch helfen weil er sich wieder Zugang zu seiner Addy verschafft hatte, aber was wenn ein User da garnicht mehr ran kommt?
Die MD5 bringt ihm ja nichts beim Login.
 
Kannst du mir mal sagen warum nicht?
Vor allem aus Gründen des Datenschutzes. Denn die meisten Menschen sind faul und bequem und haben häufig nur ein paar, wenn nicht sogar nur ein einziges Passwort.
Zudem vertraut der Benutzer dir, dass du mit den dir anvertrauten Daten (dazu gehört auch das Passwort) vertraulich umgehst. Wenn du nun diese Daten nicht entsprechend schützt und jemand anderes Zugriff darauf hat, könnte er diese Daten missbrauchen und beispielsweise einfach mal das Klartextpasswort beim Anbieter des angegebenen E-Mail-Kontos ausprobieren. In den meisten Fällen wird er dabei sicherlich Erfolg haben.

Meinst du für eventuelle Cookies das da nicht das Klar geschrieben PW drin steht?
In Cookies haben diese Daten noch viel weniger zu suchen. Auch keine kodierte oder verschlüsselte Version des Passworts.

Ich hatte als Webmaster neulich auf meiner Page einen Fall, da hat jemand sein PW nicht gehabt und hatte auch seine Mail Addy nicht mehr, naja Punkt ist das er sein PW brauchte und sich hatte keins zuschicken lassen können, ich konnte ihm nur noch helfen weil er sich wieder Zugang zu seiner Addy verschafft hatte, aber was wenn ein User da garnicht mehr ran kommt?
Das ist eine kniffelige Frage, zu der es – außer auch hier das Klartextpasswort nicht zuzuschicken – keine Richtig- oder Falsch-Antwort gibt.
Es können unterschiedliche Methoden angewandt werden, wie beispielsweise das Beantworten einer Sicherheitsfrage, die bei der Registrierung angegeben wurde, mit der das gespeicherte Passwort zurückgesetzt werden kann. In jedem Fall sollte aber die angegebene E-Mail-Adresse als Authentifizierung dienen, sodass nicht jeder, der zufällig die Sicherheitsfrage beantworten kann, auch das Passwort zurücksetzen oder gar ein neues angeben kann.
Ist das E-Mail-Postfach allerdings nicht mehr zugänglich, lautet die einzige vernünftige Antwort allerdings: Pech gehabt, das Benutzerkonto ist an die E-Mail-Adresse gebunden.

Deswegen ist es auch nicht klug, für alles ein einziges Passwort zu verwenden.
 
... lautet die einzige vernünftige Antwort allerdings: Pech gehabt, das Benutzerkonto ist an die E-Mail-Adresse gebunden...

Eine Mail den User zu knechten und immer ins Dunkel zu binden! :D

Naja, ich werde ja noch vieles tun, ich habe großes vor aber mich übermannt dann immer so ein wunderbares Gefühl des Erfolgs wenn ich dann das sehe was ich bewirken wollte, also was ich damit meine ist, das bisher alles mit deiner Hilfe eingeschlossen funktioniert. ;)

Das PW habe ich nun so geklärt:

PHP:
$adminpass = md5($_POST[adminpass]);

und rate mal?^^
Es hat funktioniert.

Na jedenfalls habe ich folgende Dinge im groben vor:

Eine Platform die unseren eSport Clan mit einer eigenständigen Community verbinden soll.
Die Features im kurzen Überblick:

  1. Eigenes Userprofil mit expliziten Daten zu allen Bereichen (Person, Clan, Community, ...)
  2. Forum (sehr, sehr detailreich, wer ist wo, wie viele sind wo, stats, ...)
  3. Rechtevergabe (Rangsteigende Seitenbereiche, wer Rang 2 ist kann dies sehen, ...)
  4. Premium Service (E-Mail Konto über unsere HP, Videos und MP3s uploaden, ...)
  5. Veranstaltungen (Events öffentlich, Events eSport, ...)
  6. und vieles andere...

Naja, aber bis dahin werde ich wohl noch etwa 6-12 Monate brauchen und dann eventuell unter der GPL veröffentlichen, naja und die Verbalen Klatschen nicht zu vergessen die meine Freundin mir immer gibt wenn sie nichts zu tun hat. :D
 
Zurück