| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: MySQL Datenbank füllen - Wo ist der Fehler? im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hey Leute! Ich möchte gerne das neue User sich über meine HTML/PHP Maske registireren können. Allerdings schaffe ich es ...
![]() |
| | #1 (permalink) |
| Registriert seit: 12.10.05 ![]() Likes: 0 | MySQL Datenbank füllen - Wo ist der Fehler? Anzeige Hey Leute! Ich möchte gerne das neue User sich über meine HTML/PHP Maske registireren können. Allerdings schaffe ich es nicht das die Daten auch tatsächlich eingetragen werden in die DB Das ganze sieht bisjetzt so aus: Code: <html>
<head>
<title>anmeldung</title>
<meta name="author" content="sps">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<form action="anmeldung.php">
<b>Username: </b><input type="text" name="name"></input> <br>
<b>Passwort:   </b><input type="password "name="pwd"></input><br>
                     <input type="submit" method="post" action="anmeldung.php" value="Daten senden"></input>
<?php
if ($name !='' and $pwd !='') {
$connect = mysql_connect ("localhost","root","***") or die ("Keine VErbindung möglich - Benutzername oder Passwort ist falsch ... vll auch der table?!");
$connect2 = mysql_select_db("user")
or die ("Die Datenbank existiert nicht.");
$insert = INSERT INTO user (name,passwort)
}
else {
echo "Datenbank nicht erreichbar!";
}
?>
</form></body>
</html> Also wenn mir da jemand helfen könnte - und das könnt ihr ;) - wäre das toll :) Danke im Vorraus!! Bye, Tko? |
| | |
| | #2 (permalink) |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | hab jetzt mal die syntaxfehler entfernt...das ganze ist nicht getestet und nur mal so aus dem kopf gecodet PHP-Code: |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 12.10.05 ![]() Likes: 0 | Hi, ersteinmal danke für deine Antwort. Doch da hab ich noch gleich ein paasr Fragen zu !*Schwups* die erste hat sich nach 3 min. google erledigt aber hier: Code: if ( !empty($_POST['name']) AND !empty($_POST['password']) Und muss man unbedingt die globalen Variablen benützen, meine mich zu erinnern das somit das ganze mehr als anfällig für SQL-Injections wird. Danke, MfG, Tko? |
| | |
| | #4 (permalink) |
| Registriert seit: 22.05.05 ![]() Likes: 0 | !empty überprüft, ob die variable leer ist. != kannst du nur die Variable mit einem String vergleichen die Globalen Variablen sind normalerwiese sicherer, und udem unterstützen manche Server nur Globale Variablen. Gegen SQL-Injection helfen einige passende funktionen vor dem reinschreiben. |
| | |
| | #5 (permalink) | |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | Zitat:
1) es ist schneller 2) es ueberprueft, die variable ueberhaupt vorhanden ist (wenn du ohne dies zu ueberpruefen auf diese zugreifst gibts eine NOTICE meldung von php) "globalen Variablen": bei deiner variante hast du folgende nachteile: - RegisterGlobals muss in der php.ini auf on sein - RegisterGlobals = on kann zu sicherheitsrisiken fuehren bezueglich SQL-Injections: dafuer ist das addslashes da....eigentlich muesste man noch schauen ob das ganze bereits mit magic_quote_gpc (oder wie das auch immer heisst) bereits gequotet wird und anhand dieser einstellung quoten odr nicht....dann waere eis eigetnlich erst vollkommen richtig. ach ja....wenn du die moeglichkeit hast (also php 5.1) benutze doch die pdo klasse fuer eine db connection. dort hast du mit der 'prepare' moegichkeit das SQL-injection erschlagen | |
| | |
| | #6 (permalink) |
| Themenstarter Registriert seit: 12.10.05 ![]() Likes: 0 | Hi, Danke für eure Hilfe, das nötigste funktioniert soweit!! Er schreibt Usernamen und Passwort in die Tabelle *freu* Code:
<?php
if ($name !='' and $pwd !='') {
$connect = mysql_connect ("localhost","root","***") or die ("Keine Verbindung möglich - Benutzername oder Passwort ist falsch ... vll auch der table?!");
mysql_select_db("user")or die ("Die Datenbank existiert nicht.");
mysql_query( "INSERT INTO `user` (`user`, `passwort`) VALUES ( '$name', '$pwd')");
echo "Dateneintrag war erfolgreich!";
}
else
{
echo "Irgendwo ist hier der Haken...";
}
?> MfG, Tko? |
| | |
| | #7 (permalink) |
![]() Registriert seit: 17.01.06 ![]() Likes: 7 | @soox das ist so nicht ganz korrekt... wenn du addslashs beim eintragen in die db machst, schreibt er es dir so in die db richtig wäre es wenn man vorher prüft ob diverse unerlaubte zeichen sind und dazu eine fehler ausgabe macht... weil sonst haste ein paar spezis die ihr passwörter besonders geschützt machen wollen mit zeichen wie: ' " * // /* und schon steht in der db z.b. pass\'wort und das weiss der user nicht der sich angemeldet hat. also vorher prüfen oder im nachhinein per email oder direkt ausgeben bzw. bestätigung der daten die er eintragen möchte (im klartext) und dann nach der bestätigung erfolgt der eintrag... ich hoffe es ist verständlich was ich damit meinte ? |
| | |
| | #8 (permalink) | |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | Zitat:
mit addslash ( da gibts auch was db abhaengiges, welches nur die entsprechend benoetigten zeichen quotet) quote ich ja genau diese zeichen und in der query werden sie somit als daten behandelt. das problem, dass da komische pw's in der db landet (also solche die bereits gequotet worden sind) kommt vor, sofern magic_quote_gpc eingeschaltet ist und man zusaetzlich mit addslashes noch einmal quotet --> man muss da halt ueberpruefen hoffe ich hab das jetzt richtig verstanden und eine entsprechende antwort gegeben....ansonsten bitte nochmals genauer beschreiben? | |
| | |
| | #9 (permalink) |
![]() Registriert seit: 17.01.06 ![]() Likes: 7 | *lach* du hast vollkommen recht gehabt! war ein denkfehler von mir sorry irgend wie hatte ich gedacht das addslash den string verändert also mit \ vor bestimmten zeichen, was es auch tut, und dann so in die db einträgt so das dann in der db "pass\'word" drin steht |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| der Postfix Mailserver + MySQL Datenbank... | keksinat0r | Internet Allgemein | 39 | 26.03.07 22:48 |
| FTP-kennungen aus mysql-datenbank | flame | Linux/UNIX | 3 | 10.09.05 08:37 |
| Daten in mySQL Datenbank speichern | sfil | Code Kitchen | 5 | 30.08.04 21:34 |
| MYSQL Datenbank auslesen/hacken | MayDay | (In)security allgemein | 8 | 03.05.04 16:37 |
| Datenbank mit unbestimmter Anzahl Daten füllen... | ph0x | (Web-) Design und webbasierte Sprachen | 8 | 16.05.02 08:38 |