• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

login system registriren funktioniert nicht ...

BDG

Mitglied
Ich habe wie viele schon wissen ja ein login system gebaut ... jetzt mache ich gerade eine Datei um sich zu registriren ... nur leider geht das nicht ... er zeigt mal wider kiner errors an .. wenn ich den sql befehl in phpmyadmin eingeben gehts ... Wiso ??? Also hier der Code der html formular datei :
HTML:
<html>
     <head>
  <title>Test...</title>
  </head>
  <body>
<form action="eintragen.php" method="post">
Dein Benutzername<br>
<input type="text" size="24" maxlength="50"
name="username"><br>
Dein Passwort<br>
<input type="text" size="24" maxlength="50"
name="passwort"><br>
Dein Name<br>
<input type="text" size="24" maxlength="50"
name="name"><br>
Dein NachName<br>
<input type="text" size="24" maxlength="50"
name="nachname"><br>
Deine E-mail Adresse<br>
<input type="text" size="24" maxlength="50"
name="email"><br>
<input type="submit" value="Registriren">
</form>
 
     </body>
</html>

So und dann die eintragen.php

PHP:
<?
$username = $_POST["username"];
$passwort = $_POST["passwort"];
$name = $_POST["name"];
$nachname = $_POST["nachname"];
$email = $_POST["e-mail"];
// Verbindung herstellen
$hostname = "localhost";
$hostuser = "root";
$hostpw = "";
$db = "test";
$tabelle = "user";
$verbindung = mysql_connect('$hostname','$hostuser','$hostpw') or die ("Keine Verbindung möglich");
mysql_select_db($db, $verbindung) or die ("Die Datenbank existiert nicht");
$sqlbefehl="insert into $tabelle (username,password,vorname,nachname,email) values ('$username','$passwort','$name','$nachname','$email')";
mysql_db_query($sqlbefehl);
mysql_close($verbindung);
?>

hab ich irgendwas Falsch gemacht ??
 
er zeigt mal wider kiner errors an ..
Wenn du dem PHP-Interpreter nicht sagst, dass du Fehlermeldungen willst, wird er auch keine ausgeben.

PHP:
$query = mysql_query(/*...*/) or die(mysql_error());

Dein Script ist übrigens noch recht unsicher. Prüfe die Eingabefelder erst auf seinen Inhalt (sonst könnte man einen leeren Benutzernamen eingeben oder es könnte ein Benutzername mehrmals existieren) und siehe dir SQL-Injections an.
 
PHP:
<?php
$username = $_POST['username'];
$passwort = $_POST['passwort'];
$name = $_POST['name'];
$nachname = $_POST['nachname'];
$email = $_POST['e-mail'];
// Verbindung herstellen
$hostname = 'localhost';
$hostuser = 'root';
$hostpw = "";
$db = 'test';
$tabelle = 'user';
$verbindung = mysql_connect($hostname,$hostuser,$hostpw) or die (mysql_error());
mysql_select_db($db, $verbindung) or die (mysql_error());
$sqlbefehl="insert into `$tabelle`  (username,password,vorname,nachname,email) values  ('$username','$passwort','$name','$nachname','$email')";
mysql_query($sqlbefehl) or die(mysql_error());
mysql_close($verbindung);
Was kommt dabei raus?
 
naja aber 1ne Frage hab ich noch ... Ich hab auch noch ne spalte mit date und die funktioniert nicht so wirklich ... mit date kenn ich mich nun garnicht aus ... da hab ich einfach nur die spalte "datum" genannt und dann date eingestellt ... muss da auch noch auto_increment ?? Oder warum zeigt er nur " 0000-00-00 "
 
Die PHP Funktion date(); oder der Datentyp DATE in MySQL?
Ich schätze, du gehst von MySQL aus. Ein weiteres auto_increment wird dir da nicht viel nützen, das erhöht das jeweilige Feld bloß um 1 des Vorgängerwertes bei einem neuen Eintrag. Ob das überhaupt beim Datentyp DATE möglich ist..? Du musst dieses Feld beim Schreiben selbst setzen.
Kurzes Beispiel:
PHP:
$sqlbefehl="insert into `$tabelle`  (username,password,vorname,nachname,email,datum) values  ('$username','$passwort','$name','$nachname','$email','" . date( "Y-m-d" ) . "')";
mysql_query($sqlbefehl) or die(mysql_error());
 
Zurück
Oben