PROBLEM mit ANMELDUNGSSCRIPT!

daripper

Grünschnabel
Hy ich habe ein kleines Problem mit meinem Script :
die Funktionen werden eigentlich alle ausgeführt aber ich bekomme dann zum schluß eine fehlermeldung die ich in das script eingebaut habe falls es nicht klappt.

Aber was können Gründe dafür sein?
:confused: :confused: :confused:

PHP:
<?php 


// Adresse des Servers mit Port 
$servername = "***"; 

// Benutzername für die Datenbank 
$dbusername = "****"; 

// Passwort für die Datenbank 
$dbpassword = "****"; 

// Name der datenbank 
$dbname = "*****";



$username = $HTTP_POST_VARS["form_username"];



//mit dieser Funktion wird überprüft ob eine Tabelle bereits existiert

function mysql_table_exists($table,$db)
{

$temp = mysql_table_exists($username);

$table=mysql_list_tables($db);


 while (list($temp)=mysql_fetch_array($table))
{
if($temp == $table)
{
return 1;
}
}
return 0;


}


//eine Verbindung zum MySQL-Server wird hergestellt

@mysql_connect ("$servername", "$dbusername", "$dbpassword") OR die ("Verbindung zum MySQL-Server fehlgeschlagen");
mysql_select_db ("$dbname") OR die("Verbindung zur Datenbank fehlgeschlagen");


//in dieser Variable wird gespeichert ob die Tabelle bereits existiert
//wenn ja wird "1" zurückgegeben
//wenn nein "0"



if($temp=="0")
{

{

//falls die Tabelle noch nicht existiert:
//zuerst mal wird die Tabelle erzeugt
//die Tabelle heisst wie der ausgesuchte username

$sql= "CREATE TABLE $username


(id int(4) NOT NULL auto_increment,
name varchar(60) default NOT NULL,
vorname varchar (60) default NULL,
wohnort varchar (60) default NOT NULL,
plz varchar (10) default NOT NULL,
straße varchar (60) default NOT NULL,
land varchar (60) default NOT NULL,
email varchar (80) default NOT NULL,
username varchar (60) default NOT NULL,
passwort varchar(30) default NOT NULL,
passwortwiederholung varchar (30) default NOT NULL,
PRIMARY KEY (id))

";
TYPE=MyISAM

}

//Jetzt werden in die Tabelle die Daten eingefügt
//die Tabelle besitzt den gleichen Namen wie der Username

$query= "INSERT INTO $username (form_name, form_vorname, form_wohnort, form_plz, form_straße, form_land, form_email,
form_username, form_passwort, form_passwortwiederholung ) ";




if (mysql_query ($query))

{

echo "Geschafft";

}

else
{

echo "Ein Fehler ist aufgetreten:<br><br>\n\n";
echo mysql_error();
echo "<br><br>\n\n";

}


}



elseif($temp=="1")

{

//falls die Tabelle bereits existiert:

echo "Dieser Username ist bereits vorhanden!<br>\n";
echo "Bitte wählen Sie einen anderen aus.<br>\n";

}



else
{

echo "Ein Fehler ist aufgetreten!<br>\n";

}


@mysql_close();

?>


Kann mir jemand helfen?
schonmal danke im voraus
 
Willkommen im Forum.

Diese Query
PHP:
$query= "INSERT INTO $username (form_name, form_vorname, form_wohnort, form_plz, form_straße, form_land, form_email,
form_username, form_passwort, form_passwortwiederholung ) ";
sieht fuer mich total unsinnig aus.
$username steht bei dieser Query fuer eine Tabelle.
Gibt es fuer jeden User eine eigene Tabelle mit seinem Namen? :confused:
Ich denke eher nicht.
Ausserdem gibst Du die Felder an die gefuellt werden sollen, aber keine Werte.

Weiterhin solltest Du anstelle von $HTTP_POST_VARS besser $_POST nutzen.
$HTTP_POST_VARS ist die alte Schreibweise und wird vermutlich irgendwann aus PHP rausfliegen. Ausserdem koennen die langen Arraynamen der php.ini deaktiviert werden.

Nachtrag: Du scheinst wirklich fuer jeden User eine Tabelle anzulegen.
Ich wuerde mal sagen, dass das hochgradig unsinnig ist. Du kannst doch locker alle User in einer Tabelle speichern.
 
Ich versuche aber für jeden user einen eigenen member bereich zu bauen und dafür muss ich doch dann für jeden eine eigene tablle haben damit die user dann ihre daten selbst ändern können oder? :confused:
 
2 Dinge vorweg:
  1. Bitte schreib nicht alles fett, davon bekommt man Augenkrebs.
  2. Halte Dich bitte an Gross- und Kleinschreibung.
Nein, Du brauchst nicht fuer jeden eine eigene Tabelle anlegen. Du kannst die Daten aller User in eine Tabelle packen.
Dafuer ist es ja eine Tabelle.
Dann hast Du hinterher ungefaehr sowas:
Code:
id username    password    email
1  hugo        fggds;kfs  hugo@weissdergeier.ddr
2  harry        d;gd;k;ks harry@kleinkoenigreichschleswigholstein.pl
3  eva          d;fk;k       eva@wurstbu.de
4  walter      dkfksl       walter@arbeitsamt.no
Meine Guete, es ist echt nicht einfach eine "Tabelle" darzustellen. ;)
 
Zurück