Pase error

ich bekomme immer folgende info

so sieht line 20 aus:

wo ist der fehler? oO

Manchmal liegt der Fehler nicht direckt in der angegebenen Zeile.
Geb uns bitte mal das ganze Script mit Zeilennummerierung :wink:

[quote]
1
2
3
4
5 <?php require("config.php"); require("copyright.php"); ?>
6
7 <?=$titel?>
8
9
10
11
12
13
14
15
16
17
18 <?php if($_GET['request']=="add_ok"){ echo "

19
20 echo “

<span class=“Stil1”>Du bist registriert

”;
21 }
22 ?>
23
24


25
26
27
28
29
30
31
32
36
37
38
39
40
41
42
43
45
46
47
48
49
50
51
52
54
55
56
57
58
59
60
61 [/quote]
Nickname: <input style="width: 200px;"
33 name=“name” id=“name” type=“text”>

34
35
Passwort: <input style=“width: 200px;” name="passwort"
44 id=“passwort” type=“passwort”>
Nachname: <input style=“width: 200px;” name=“nachname” id="nachname"
53 type=“text”>

Zeile 18 - das ‘?>’ darf an der Stelle nicht stehen - entweder
ist das ? an der Stelle völlig falsch oder da fehlen ganz Teile
vom echo und von der if-Klammer…

das wars danke :wink:
aber nochwas anderes in dem registrierungsfprmular soll das passwort berschlüsselt in meine mysql dantenbank stehen, also das ich es nicht richtig sehen kann, der user sich aber natürlich sich mit dem richtigen einloggen kann

18 <?php if($_GET['request']=="add_ok"){ echo "<b?><br> 19 20 echo "<br><br><span class=\"Stil1\">Du bist registriert</span><br><br>"; 21 } 22 ?>

muss das hier sein:

18 <?php if($_GET['request']=="add_ok"){ echo "<b?><br>"; 19 20 echo "<br><br><span class=\"Stil1\">Du bist registriert</span><br><br>"; 21 } 22 ?>

das erste echo ist ganricht geschlossen…

[quote=“janpage”]das wars danke :wink:
aber nochwas anderes in dem registrierungsfprmular soll das passwort berschlüsselt in meine mysql dantenbank stehen, also das ich es nicht richtig sehen kann, der user sich aber natürlich sich mit dem richtigen einloggen kann[/quote]

beim registrieren und einloggen den string mit md5() verschlüsseln

sorry aber ich lerne nur aus tutorailas
wo genau muss md5 hin?

md5() ist keine Verschlüsselung, sondern ein Algorithmus zum errechnen eines Hash eines beliebig langen Strings.
Das bedeutet auch, dass man den md5-Hash nicht rückgängig machen kann.

php.net/md5

Man geht üblicherweise wie folgt vor:
Nach einer Registration wird das bei der Registration eingegebene Passwort als md5-Hash in die Datenbank gespeichert. Das originale Passwort wird verworfen und darf nicht gespeichert werden.

Da man das Passwort in der Datenbank nicht wieder herstellen kann muss man anders vorgehen.
Bei einem Login wird das Passwort ja in der originalen Form übermittelt.
Wenn das Passwort im PHP-Script ankommt, wird das eingegebene Passwort ebenfalls in einen md5-Hash umgewandelt, und dann mit dem md5-Hash der Datenbank verglichen.

mfg Balmung

sorry, aber die seite hilft mir nicht :frowning:

ganz einfach, du lässt die md5-funktion über das Passwort laufen, etwa so:
$password = md5($_POST[“password”]);
Und danach speicherst du es ganz normal in der Datenbank mit den anderen daten.
Dann auf der einlog seite musst du halt den ver"hash"ten passwort-string mit dem aus der db vergleichen so:
if($datenbank->password != md5($_POST[“password”]) exit();
(exit oder was auch immer :wink: )

mfg Joey

ich habe das jetzt eingefügt aber es kommt fehler in line5

das is line5

Du hast hinter $_POST[“pwd”] “)” vergessen :wink:

Danke !haue

aber im liogin script bekomme ich auch so ein fehler es sieht ohne md5 wie folgt aus:
nur ein kleiner auszug

[quote]$sql = "SELECT ".
"Id, Nickname, Nachname, Vorname ".
"FROM ".
"benutzerdaten ".
„WHERE „.
„(Nickname like '“.$_REQUEST[„name“].“’) AND „.
„(Kennwort like '“.$_REQUEST[„pwd“].“’)“;
$result = mysql_query ($sql); [/quote]

wie genau füge ich das md5 dort ein?

Da musst du um das “$_REQUEST[“pwd”]” “md5()” setzen, wichtig ist aber das es so aussieht “.md5($_REQUEST[“pwd”]).”, also das du nicht die Punkte mit einbeziehst

Also praktisch so:

$sql = "SELECT ". "Id, Nickname, Nachname, Vorname ". "FROM ". "benutzerdaten ". "WHERE ". "(Nickname like '".$_REQUEST["name"]."') AND ". "(Kennwort like '".md5($_REQUEST["pwd"])."')"; $result = mysql_query ($sql);

Danke an alle :wink:
Es klappt jez alles.

Jetzt kann ich mich mal endlich an den rest setzen :wink: