Webdesign in Siegen

Register.php

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

Register.php

Beitragvon ProGam3r am 03.01.2008, 08:38

Hallo Leute,

ich hab einen LoginSystem programmiert und jetzt hab ich auch eine Register.php gemacht damit man sich Registrieren kann per Formular nur klappt der Code nicht warum??

Das passwort habe ich mit .... zensiert.
Code: Alles auswählen
<?php
// Definition der Benutzer
$benutzer = $_POST["nickname"];
$benutzer = $_POST["passwort"];

// Sie können an dieser Stelle beliebig viele Benutzer anlegen.
// Achten Sie dabei nur auf die Fortführung der Nummer.

// Aufbau der Datenbankverbindung
$connectionid  = mysql_connect('localhost', 'jackphp', '....');
if (!mysql_select_db ("jackphp", $connectionid))
{
  die ("Keine Verbindung zur Datenbank");
}

// Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen.
mysql_query ("DELETE FROM login");

  // SQL-Anweisung erstellen
  $sql = "INSERT INTO ".
    "login (name, pwd) ".
  "VALUES ('".$value["nickname"]."', '".
                       md5 ($value["passwort"])."', '".
                       $value["Nachname"]."', '".
                       $value["Vorname"]."')";
  mysql_query ($sql);

  if (mysql_affected_rows ($connectionid))
  {
    echo "Benutzer erfolgreich angelegt.<br>\n";
  }
  else
  {
   echo "Fehler beim Anlegen der Benutzer.<br>\n";
  }
?>


und hier das Formular:
Code: Alles auswählen
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<link href="css.css" rel="stylesheet" type="text/css" />
</head>

<body>
<form action="register.php" method="post">
<table width="500" border="0">
  <tr>
    <td>Nickname</td>
    <td><input type="text" name="nickname" id="nickname" /></td>
  </tr>
  <tr>
    <td>passwort</td>
    <td><input type="text" name="passwort" id="passwort" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="senden" value="Senden" /></td>
  </tr>
</table>
</form>
</body>
</html>
Bild
ProGam3r
Mitglied
 
Beiträge: 218
Registriert: 10.11.2007

Re: Register.php

Beitragvon snoeber am 03.01.2008, 09:40

ProGam3r hat geschrieben: // SQL-Anweisung erstellen
$sql = "INSERT INTO ".
"login (name, pwd) ".
"VALUES ('".$value["nickname"]."', '".
md5 ($value["passwort"])."', '".
$value["Nachname"]."', '".
$value["Vorname"]."')";
mysql_query ($sql);
[/code]


Also ich glaub ich weis vo der Fehler liegt. Ich hoffe mein Gehirn spielt mir zur Zeit keine Streiche mehr (Gott lob den Alkohol).

Für Was brauchst du $value? bei INSERT INTO login (vars) hast du gar nicht alle Spalten gewählt, welche nacher gefüllt werden. Das md5 () musst du glaub ich auch an die Klammer schreiben md5().

Ich hoffe du weisst was ich meine...

$sql = "INSERT INTO ".
"login (name, pwd) ".
"VALUES ('".$_POST["nickname"]."', '".
md5($_POST["passwort"])."', '".
$_POST["Nachname"]."', '". // Wo hast du diese deklariert?
$_POST["Vorname"]."')"; // und diesen hier?
mysql_query ($sql);
kleines dorf - grosses business - 7012er...POW

Webdesign: Aexer.com
Photos: photos.aexer.com
Benutzeravatar
snoeber
Mitglied
 
Beiträge: 297
Registriert: 26.10.2006
Wohnort: Felsberg ( CH )

Re: Register.php

Beitragvon ProGam3r am 03.01.2008, 10:13

Vielen DANKK :DD
Bild
ProGam3r
Mitglied
 
Beiträge: 218
Registriert: 10.11.2007

Re: Register.php

Beitragvon ProGam3r am 03.01.2008, 10:37

noch ne frage wie macht man das, dass man den passwort widerholen muss beim registrieren
Bild
ProGam3r
Mitglied
 
Beiträge: 218
Registriert: 10.11.2007

Re: Register.php

Beitragvon Manuel am 03.01.2008, 13:36

Du machst einfach 2 Textfelder untereinander, liest diese beide getrennt aus und vergleichst diese dann einfach. Wenn das gleiche drin steht => mache weiter, wenn nicht => Fehler.

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8791
Registriert: 10.12.2004
Wohnort: Asbach

Re: Register.php

Beitragvon ProGam3r am 03.01.2008, 14:50

wie mach ich im code das z.b der name und das passwort pflichfelder sind?
Bild
ProGam3r
Mitglied
 
Beiträge: 218
Registriert: 10.11.2007

Re: Register.php

Beitragvon SilentStormer am 03.01.2008, 16:05

Mit der Funktion empty() bei der Auswertung überprüfen, ob in diesen beiden Feldern etwas eingetragen wurde.
Bild
Benutzeravatar
SilentStormer
Mitglied
 
Beiträge: 384
Registriert: 24.09.2005
Wohnort: Österreich

Re: Register.php

Beitragvon ProGam3r am 03.01.2008, 16:28

ich weis net wo es hinmus kannst du es zeigen?

Code: Alles auswählen
<?php
// Definition der Benutzer
$nickname = $_POST["nickname"];
$pwd = $_POST["passwort"];

// Sie können an dieser Stelle beliebig viele Benutzer anlegen.
// Achten Sie dabei nur auf die Fortführung der Nummer.

// Aufbau der Datenbankverbindung
$connectionid  = mysql_connect('localhost', 'jackphp', '.....');
if (!mysql_select_db ("jackphp", $connectionid))
{
  die ("Keine Verbindung zur Datenbank");
}

  // SQL-Anweisung erstellen
  $sql = "INSERT INTO ".
"login (name, pwd) ".
"VALUES ('".$_POST["nickname"]."', '".$_POST["passwort"]."')";
mysql_query ($sql);

  if (mysql_affected_rows ($connectionid))
  {
    echo "Benutzer erfolgreich angelegt.<br>\n";
  }
  else
  {
   echo "Fehler beim Anlegen der Benutzer.<br>\n";
  }
?>
Bild
ProGam3r
Mitglied
 
Beiträge: 218
Registriert: 10.11.2007

Re: Register.php

Beitragvon snoeber am 03.01.2008, 17:19

ProGam3r hat geschrieben:ich weis net wo es hinmus kannst du es zeigen?

Code: Alles auswählen
<?php
// Definition der Benutzer
$nickname = $_POST["nickname"];
$pwd = $_POST["passwort"];

// zum beispiel hier

if(empty($_POST['passwort']) {
   echo 'Passwortfeld wurde nicht ausgefüllt';
   exit;
}
// Sie können an dieser Stelle beliebig viele Benutzer anlegen.
// Achten Sie dabei nur auf die Fortführung der Nummer.

// Aufbau der Datenbankverbindung
$connectionid  = mysql_connect('localhost', 'jackphp', '.....');
if (!mysql_select_db ("jackphp", $connectionid))
{
  die ("Keine Verbindung zur Datenbank");
}

  // SQL-Anweisung erstellen
  $sql = "INSERT INTO ".
"login (name, pwd) ".
"VALUES ('".$_POST["nickname"]."', '".$_POST["passwort"]."')";
mysql_query ($sql);

  if (mysql_affected_rows ($connectionid))
  {
    echo "Benutzer erfolgreich angelegt.<br>\n";
  }
  else
  {
   echo "Fehler beim Anlegen der Benutzer.<br>\n";
  }
?>
kleines dorf - grosses business - 7012er...POW

Webdesign: Aexer.com
Photos: photos.aexer.com
Benutzeravatar
snoeber
Mitglied
 
Beiträge: 297
Registriert: 26.10.2006
Wohnort: Felsberg ( CH )

Re: Register.php

Beitragvon ProGam3r am 04.01.2008, 01:07

ich weis jetzt nich ob es klappt erstmal meine seite http://jackphp.ja.funpic.de/index.php

irgendwie wurde ein nick erstellt der kein name und kein pw hat und wenn ich auf registrieren kliicke und registriere und dann bestätige dann logt er sich ein weil ich ja links auch ein submit knopf hab kann jemadn noch den ganzen code das man ab 4buchstaben ein nick erstellen kann und ein pw ab 4
Bild
ProGam3r
Mitglied
 
Beiträge: 218
Registriert: 10.11.2007

Re: Register.php

Beitragvon ProGam3r am 05.01.2008, 04:54

weis es keiner oda versteht ihr nicht was ich meine?
Bild
ProGam3r
Mitglied
 
Beiträge: 218
Registriert: 10.11.2007

Re: Register.php

Beitragvon snoeber am 05.01.2008, 12:00

ProGam3r hat geschrieben:weis es keiner oda versteht ihr nicht was ich meine?


ich glaube schon das dich einige hier nicht verstehen.. ich musste auch zweimal durchlesen. Aber das grösste Problem:
Du fragst was und willst gleich den Code dazu. So lernst du doch nicht PHP. Schau dir die Manuals an.. Dann hättest du schon lange herausgefunden das mit strlen() die Länge eines Strings auslesbar sind.. Ich will dich nicht diskriminieren, ich will dir nur helfen richtig zu lernen, Dinge selbst in die Hand zu nehmen und wenn's nicht mehr klappt kannst du ja immer noch fragen ;)

Also mit Strlen() könntest du das so machen: (einfach vor der SQL INSERT)

Code: Alles auswählen
if(strlen($_POST['benutzer']) < 4)) {
    echo 'Der Benutzername braucht mindestens 4 Zeichen';
    exit;
}


Ich hoffe du bist mir jetzt nicht böse :oops:

gruss snoeber
kleines dorf - grosses business - 7012er...POW

Webdesign: Aexer.com
Photos: photos.aexer.com
Benutzeravatar
snoeber
Mitglied
 
Beiträge: 297
Registriert: 26.10.2006
Wohnort: Felsberg ( CH )

Re: Register.php

Beitragvon ProGam3r am 05.01.2008, 17:15

ich bin nicht sauer du helfst mir ja :)

der code klappt zwar aber es kommt auch wenn ich 5buchstaben hab das es mindestens 4buchstaben brauche warum?
Bild
ProGam3r
Mitglied
 
Beiträge: 218
Registriert: 10.11.2007

Re: Register.php

Beitragvon mstrauss am 05.01.2008, 18:15

Hi,

wenn die Meldung immer kommt, würde ich mal vermuten, dass dein Feld im Formular nicht "benutzer" heisst und somit die Variable $_POST['benutzer'] immer kleiner 4 ist.

Gruß
Markus
Menschen - kleine Säcke aus denkendem Wasser, zusammengehalten von fragilen Kalzium-Ansammlungen.
Terry Pratchett
Benutzeravatar
mstrauss
Mitglied
 
Beiträge: 160
Registriert: 22.10.2005
Wohnort: Duisburg

Re: Register.php

Beitragvon snoeber am 05.01.2008, 18:22

schreib die 4 mal in ''.. also

Code: Alles auswählen
if(strlen($_POST['benutzer']) < '4' ) {
  echo 'bla bla';
  exit;
}
kleines dorf - grosses business - 7012er...POW

Webdesign: Aexer.com
Photos: photos.aexer.com
Benutzeravatar
snoeber
Mitglied
 
Beiträge: 297
Registriert: 26.10.2006
Wohnort: Felsberg ( CH )

Nächste

Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste