Daten (für Login) in DB eintragen...

sonicks

Erfahrenes Mitglied
Hi Leutz...

Also ich möchte ein Regestrier formular für mein Login machen, womit die User sich per Formular regestrieren können und es sich dann automatisch in die DB einträgt. Wie mach ich das? Ich hab mal etwas rumprobiert, und wollt fragen ob das in die richtige Richtung geht. Wäre dankebar wenn ihr mir eine Lösung bringen könnt

@Moderatoren: Ich hab Suchfunktion 5 mal benutzt, also werft mir nicht vor das es sowas schon gibt ;)

Hier Code:
PHP:
<? 
$connID = mysql_connect ("localhost", "blabla", "blabla");
@mysql_select_db ("blabla", $connID);
  $eintrag = "INSERT INTO benutzerdaten (Benutzername, Kennwort, homepage, email,
  hobbys) VALUES ('$name', '$passwort', '$homepage', '$email',
  '$hobbys')";
  ?>
<?
  $eintragen = mysql_query($eintrag);
  ?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<?php echo $name; ?>
<form name="form1" method="post" action="$eintrag">
  <table width="50%" border="0" cellspacing="0" cellpadding="0">
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield" value="<?php echo $name; ?> ">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield2" value="<?php echo $passwort; ?> ">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield3" value="<?php echo $passwort; ?> ">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield4" value="<?php echo $homepage; ?> ">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield5" value="<?php echo $email; ?>">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield6" value="<?php echo $hobbys ?>">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="submit" name="Submit" value="Submit">
      </td>
    </tr>
  </table>
</form>
</body>
</html>
 
ja is schonmal durchaus richtig so nur:

1. woher kommt der value bei den input-feldern? die kannst du auch leer lassen, bei einer registrierung!

2. ich würde oben aus der gesamten abfrage ne if-schleife (ja is keine if-schleife, aber kA wie ich's sonst nennen soll) machen, denn sonst versucht der auch etwas einzutragen wenn das formular noch gar nicht abgesendet wurde
 
so:

PHP:
<?

$connID = mysql_connect ("localhost", "blabla", "blabla");
@mysql_select_db ("blabla", $connID);

if($Submit) {
  $eintrag = "INSERT INTO benutzerdaten (Benutzername, Kennwort, homepage, email,
  hobbys) VALUES ('$name', '$passwort', '$homepage', '$email',
  '$hobbys')";

if(@mysql_query($eintrag)) {
echo "Registrierung abgeschlossen!";
}
else {
echo "Fehler!";
}

}
?>

// und dann den ganzen anderen quelltext

ach ja, wenn du die mysql-query nur in einer variable speicherst, passiert nichts!
also statt $eintragen = mysql_query($eintrag); musst du mysql_query($eintrag); nehmen

und als beispiel hab ich noch mal ne andere if-schleife eingebaut, die überprüft ob auch wirklich eingetragen wurde und wenn ja, "Registrierung erfolgreich" ausgibt, aber siehste ja bestimmt selber
 
gouraud
1. woher kommt der value bei den input-feldern? die kannst du auch leer lassen, bei einer registrierung!

Die Idee an sich ist garnicht mal schlecht... man muesste es nur mit einem FormCheck koppeln.. somit hat man gleich wieder die voherigen Daten in den Feldern, wenn es zu einem FormFehler kommen sollte.. :-)


noch ein fehler hab ich hier endeckt action="$eintrag">
mach lieber datei.php?action=eintrag zb. oder ($PHP_SELF..) oder datei.php?var= falls Du ja doch noch vor hast ein FormCheck reinzupacken... $eintrag packs Du dann zu dein submit button und machst einfach eine if(isset($_POST['action']=='$eintrag')) (stimmt das ueberhaupt so nach den neuen reg*global richtlinien????)..schleife.. *g*

*schaem*

:-)
 
Zuletzt bearbeitet:
also ich habs jetzt probiert , und es hat immer noch nicht richtig geklappt.

Sieht jetzt alles so aus:
PHP:
<?

$connID = mysql_connect ("localhost", "", "");
@mysql_select_db ("", $connID);

if($Submit) {
  $eintrag = "INSERT INTO benutzerdaten (Benutzername, Kennwort, homepage, email,
  hobbys) VALUES ('$name', '$passwort', '$homepage', '$email',
  '$hobbys')";

if(@mysql_query($eintrag)) {
echo "Registrierung abgeschlossen!";
}
else {
echo "Fehler!";
}

}
?>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<?php echo $name; ?>
<form name="form1" method="post" action="$eintrag">
  <table width="50%" border="0" cellspacing="0" cellpadding="0">
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield2">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield3">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield4">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield5">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="text" name="textfield6">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="submit" name="Submit" value="Submit">
      </td>
    </tr>
  </table>
</form>
</body>
</html>
 
es kann auch nicht funktionieren.. jedenfalls nicht so:

<form name="form1" method="post" action="$eintrag">

..

<form name="form1" method="post" action="deindateiname.php"> sollte schon eher funktionieren.
 
sooo ... hier bin ich nochmal, aber immer noch mit dem selben Problem ! Ich hab jetzt denke ich den richtigen Code bekommen (mir hat jemand geholfen) und der sieht so aus :
PHP:
<?

$connID = mysql_connect ("", "", "");
@mysql_select_db ("", $connID);

if($Submit) {
  $eintrag = "INSERT INTO benutzerdaten (Benutzername, Kennwort, homepage, email,
  hobbys) VALUES ('$name', '$passwort', '$homepage', '$email',
  '$hobbys')";

if(@mysql_query($eintrag)) {
echo "Registrierung abgeschlossen!";
}
else {
echo "Fehler!";
}

}
?>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<?php echo $name; ?>
<form name="form1" method="post" action="<?=$PHP_SELF?>">
  <table width="50%" border="0" cellspacing="0" cellpadding="0">
    <tr> 
      <td width="28%">Benutzername:</td>
      <td width="72%"> 
        <input type="text" name="name" size="15">
      </td>
    </tr>
    <tr> 
      <td width="28%">Passwort:</td>
      <td width="72%"> 
        <input type="password" name="passwort" size="15">
      </td>
    </tr>
    <tr> 
      <td width="28%">Homepage:</td>
      <td width="72%"> 
        <input type="text" name="homepage" size="15">
      </td>
    </tr>
    <tr> 
      <td width="28%">eMail:</td>
      <td width="72%"> 
        <input type="text" name="email" size="15">
      </td>
    </tr>
    <tr> 
      <td width="28%">Hobbys:</td>
      <td width="72%"> 
        <input type="text" name="hobbys" size="15">
      </td>
    </tr>
    <tr> 
      <td width="28%">&nbsp;</td>
      <td width="72%"> 
        <input type="submit" value="Registrieren">
      </td>
    </tr>
  </table>
</form>
</body>
</html>

Jetzt hab ich nur noch eine Frage... wie muss ich das in der DB machen? Ich weiß das ich eine Tabelle mit dem namen Benutzerdaten brauche, und Felder mit benutername etc. Nur was für eigenschaften haben die Felder? Ich hab davon (MySQL) absolut keine ahnung... wär nett wenn ihr mir helfen könntet !
 
Zurück