Installations Problem mit meinem Code

Radiate

Mitglied
Also ich bin nicht der schlauste in diesem Bereich, könnte mir jemand helfen?
Ich möchte das der User das Tabellen Prefix aussuchen kann und das die Admin und die Passwort Daten in die Tabelle eingetragen werden.
Bei beiden Aufgaben soll eine if Prüfung durchgeführt werden und sollte eines richtig sein dann Grün ausgeben und das andere falsche dann Rot ausgeben.
Hinterher sollte dann die gesamte Installation mit if geprüft werden, aber wie geht das?

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>";
		}
 
PHP:
$install = $query, $eintrag
Das hier müsste einen Fehler bringen. Was soll das bewirken?

Ist die Verbindung zur Datenbank hergestellt?

Was funktioniert nicht?
Gibt es irgendwelche Fehlermeldungen?
 
Das hier
PHP:
$install = $query, $eintrag
soll überprüfen ob beide IF Anweisungen richtig durchgeführt worden sind und dann als if($install) dienen.
Ja eine Fehlermeldung ist diese hier:

Parse error: parse error, unexpected ',' in F:\Programme\xampp\htdocs\dxcp1.0\install\create_tables.php on line 65
 
$prefix = $_POST[prefix];
$admin = $_POST[admin];
$adminpass = $_POST[adminpass];

muss es nicht so sein

$prefix = $_POST['prefix'];
$admin = $_POST['admin'];
$adminpass = $_POST['adminpass'];
 
Also da ich davon ausgehe, mein Script irgendwann mal frei zugeben, denke ich nicht das jemand bereits eine Tabelle mit prefix_user bsitzt. ;)
Daher also nicht nötig, ausserdem benutze ich schon einen Code denn sehr viele veröffentlicher nicht beachtet habe, nämlich die Löschung der create_tables.php File nach der Install.

Und nein. ;) es ist so schon richtig:

PHP:
$prefix = $_POST[prefix]

Wenn du es so schreiben würdest:

PHP:
$prefix = $_POST['prefix'];
$admin = $_POST['admin'];
$adminpass = $_POST['adminpass'];

dann würde er es als Text interpretieren bzw. speichern. ;)
Variabeln die als Variablen dienen sollen müssen so gespeichert werden:

PHP:
$prefix = $_POST[prefix];
$admin = $_POST[admin];
$adminpass = $_POST[adminpass];

es funktioniert sogar, halt nur meine $install nicht. :confused:

Also das soll jetzt kein Klugscheisser Thread sein, doch da wo ich mein PHP gelernt habe steht auch dies hier:

Soll $_POST["vorname"]; in einer Variable ($vorname) gespeichert werden, darf $_POST["vorname"]; nicht in Anführungszeichen stehen, da dieses sonst als Text interpretiert wird.
 
Zuletzt bearbeitet:
Wenn du es so schreiben würdest […] dann würde er es als Text interpretieren bzw. speichern. ;)
Und das ist auch richtig. Denn anders, also ohne Anführungszeichen, wird es als Konstante interpretiert. Nur PHP ist bei solch einem schlechten Stil nachgiebig und interpretiert beim Fehlen einer gleichnamigen Konstante das Ganze doch als Zeichenkette. Es gilt jedoch als falsch.

Wenn du während der Entwicklung deiner Anwendungen den Fehlermeldungslevel auf den höchsten Wert setzt (siehe auch die error_reporting()-Funktion), sodass alles ausgegeben wird, was dem Interpreter missfällt – was ich dir aus Gründen der Portabilität und der Verbesserung des eigenen Programmierstils auch unbedingt empfehle, gerade wenn du auch Anwendungen nicht nur für dich selbst schreibst –, wirst du vermutlich von Meldungen nur so überhäuft werden.

Nachtrag: Wo hast du denn PHP gelernt? Vom PHP-Handbuch sicherlich nicht, denn dort steht auch, warum die Sschreibweise $foo[bar] (meistens) falsch ist.
 
Ja, das habe ich getan, meine Fehler ausgabe sieht so aus:

Parse error: parse error, unexpected ',' in F:\Programme\xampp\htdocs\dxcp1.0\install\create_tables.php on line 65

und das ist doch schon klar dargestellt, das er ein unerwartetes , in Zeile 65 gefunden hat.
Nur ist die Frage bei Zeile 65, wie bekomme ich diese Variabel hin? :

$install = $query, $eintrag
 
Zurück