Autor |
Nachricht |
Ladrogue
Threadersteller
Dabei seit: 11.03.2007
Ort: Gross-Gerau
Alter: 37
Geschlecht:
|
Verfasst So 11.03.2007 09:29
Titel Registrierungsformular |
|
|
Hi Leute,
hab heute angefangen mich näher mit PHP zu ebschäftigen und arbeite mich gerade durch einige Anleitungen. Meiner Meinung nach funktioniert auch bis jetzt alles meiner Registrierung bis auf das Formular. Ich denke mal dass da so ziemlich alles falsch ist . Würde mich freuen wenn mir mal jemand sagt wie so ein Formular auszusehen hat...
Sorry schonmal für den Code xD bin halt wie gesagt PHP Anfänger
Code: |
<?php
$username = $_POST["username"];
$email = $_POST["email"];
$password = $_POST["password"];
?>
<?php
$register = "INSERT INTO user (username, email, password) VALUES ('$username'. '$email', '$password')";
?>
<?php
$eintragen = mysql_query($register);
?>
<form id="form1" method="post" action="index.php">
<p>
<label>username
<input type="text" name="$username" />
</label>
</p>
<p>
<label>email
<input type="text" name="$email" />
</label>
</p>
<p>
<label>password
<input type="text" name="$password" />
<input type="submit" name="$eintragen" value="Senden" />
</label>
</p>
</form>
|
Zuletzt bearbeitet von Ladrogue am So 11.03.2007 09:38, insgesamt 1-mal bearbeitet
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
Verfasst So 11.03.2007 10:46
Titel
|
|
|
danke für die fehlermeldung.
im grunde ist aber schon einiges falsch, du prüfst nicht, ob irgendwas gesetzt ist, sprich dein php script wird bereits vor abschicken des formulars ausgeführt...
dann brauchst du nicht für jeden befehl einen eigenen php block erstellen.
Code: | if (isset($_POST["submit"]))
{
//hier dein php script
// bitte auch mal mit mysql_real_escape_string() befassen
}
<html>
<!-- hier dein html source -->
<form>
<input type="submit" name="submit" value="go" />
</form>
</html> |
|
|
|
|
|
Anzeige
|
|
|
Ladrogue
Threadersteller
Dabei seit: 11.03.2007
Ort: Gross-Gerau
Alter: 37
Geschlecht:
|
Verfasst So 11.03.2007 10:51
Titel
|
|
|
Code: |
<?php
include("connect.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/Strict.dtd">
<html>
<head>
<title>Ladrogue</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="IMG/G.css" />
</head>
<body>
<?php
$username = $_POST["username"];
$email = $_POST["email"];
$password = $_POST["password"];
?>
<?php
$register = "INSERT INTO user (username, email, password) VALUES ('$username', '$email', '$password')";
?>
<?php
$eintragen = mysql_query($register);
?>
<form action="index.php" method="post">
<p>Username:<br />
<input type="text" name="username" size="40"></p>
<p>E-Mail:<br>
<input type="text" name="email" size="40"></p>
<p>Password:<br>
<input type="text" name="password" size="40"></p>
<p><input type="submit" name="eintragen" value="go"></p>
</form>
</body>
</html>
|
Also so funktioniert das Formular, hatte nur einen Punkt anstatt ein Komma gesetzt xD
Zu deiner Antwort, soll ich das
Code: |
if (isset($_POST["submit"]))
{
//hier dein php script
// bitte auch mal mit mysql_real_escape_string() befassen
}
|
direkt mit bei dem Include der connect.php einbauen?
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst So 11.03.2007 21:17
Titel
|
|
|
Das kommt in die Datei, wo du die Daten aus dem Formular hinschickst und verarbeitest.
Da solltest Du prüfen, ob deine Variablen überhaupt Inhalt enthalten bzw. ob in dem Formular überhaupt was eingegeben wurde.
Dann solltest Du zusehen, daß du da aus den Eingaben jeglichen Müll rausfilterst, damit keiner dein Script mißbrauchen kann.
Z.B. dürfen im Emailfeld nur die alphanumerische Zeichen, der Punkt und das @-Zeichen eingegeben werden.
Zeichen wie /\; u.a. müssen in jedem Fall gekillt werden, damit man nicht vielleicht mehrere Adressen, CC-Felder o.a. mit übergeben kann. Dann wird aus dem Mailscript ganz schnell ein perfekter Spam-Versender.
Und hier:
Code: | $eintragen = mysql_query($register) |
solltest du besser sowas machen:
Code: | $eintragen = mysql_query($register) or die("Fehler: ") . mysql_error(); |
oder ähnliches. Damit dein Script bei einem Fehler nicht weiterläuft und noch mehr Fehler verursacht.
|
|
|
|
|
|
|
|