| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: php -> insert into klappt nicht? Oo im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; hi, erstmal der code: inhalt der mysql_connect.php: Code: <?php $link = mysql_connect("127.0.0.1", "root", ""); if (!$link) { die('keine Verbindung möglich: ...
![]() |
| | #1 (permalink) |
| Registriert seit: 13.09.05 ![]() Likes: 5 | hi, erstmal der code: inhalt der mysql_connect.php: Code: <?php
$link = mysql_connect("127.0.0.1", "root", "");
if (!$link) {
die('keine Verbindung möglich: ' . mysql_error());
}
echo 'Verbindung erfolgreich';
error_reporting(E_ALL);
mysql_select_db('uno', $link);
?>
<br> Code: <?php
include("mysql_connect.php");
$_username = $_POST['username'];
$_prename = $_POST['prename'];
$_surname = $_POST['surname'];
$_email = $_POST['email'];
$_pwds = $_POST['pwds'];
$_school = $_POST['school'];
$_birthday = $_POST['birthday'];
$sql = "INSERT INTO user (username,prename,surname,email,pwd,school,birthday) VALUES ('$_username','$_prename',$_surname','$_email','$_pwds','$_school','$_birthday')";
echo "sql: " . $sql . "<br>";
if($group1){
"INSERT INTO uno (sex) VALUES ('1')";
}
else "INSERT INTO uno (sex) VALUES ('0')";
mysql_query($sql);
echo 'Werte wurden (hoffentlich) eintgetragen!';
mysql_close($link);
?> Code: <html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
</head>
<body>
<PRE>
<form action="form1.php" method="post">
Nickname: <input type="text" name="username" value=""><br>
Vorname: <input type="text" name="prename" value=""><br>
Nachname: <input type="text" name="surname" value=""><br>
E-Mail: <input type="text" name="email" value=""><br>
Passwort: <input type="text" name="pwds" value=""><br>
Schule: <input type="text" name="school" value=""><br>
Geburtstag(JJJJ-MM-TT): <input type="text" name="birthday" value=""><br>
</PRE>
<input type="radio" name="group1" value="1">weiblich
<input type="radio" name="group1" value="0">männlich<br>
<input type="submit" />
</form>
</body>
</html> Mein Problem ist, das das Script meine Datenbank nicht mit den Formulardaten füllt :( die datenbank "uno" hat die tabelle "user", die folgende felder hat: ID -> Mediumint, auto increment email -> char(255) username -> char(255) pwd -> -> char(255) sex -> tinyint(1) prename -> char(255) surname -> char(255) birthday -> date school -> char(255). da ID auto-increment ist brauche ich mich ja nicht drum zu kümmern. die frage is, was mache ich denn dann falsch? haaalp :D
__________________ und? |
| | |
| | #2 (permalink) |
| Senior Member | was sagt die ausgabe mysql_error();
__________________ cu Chakky we are dreaming in digital we are living in realtime we are thinking in binary we are talking in IP welcome to our world |
| | |
| HaBOT | |
| |
| | #3 (permalink) |
| Registriert seit: 06.06.09 ![]() Likes: 6 | 1) Dass du damit anfällig für SQL-Injection bist, ist dir klar? Niemals Userdaten direkt verarbeiten! 2) Du sagst birthday ist vom Typ date? Warum versuchst du dann einen String zu speichern? 3) Dieser Block macht genau nix Code: if($group1){
"INSERT INTO uno (sex) VALUES ('1')";
}
else "INSERT INTO uno (sex) VALUES ('0')";
__________________ A good programmer looks both ways before crossing a one-way street. Die Politik kann uns nur für so dumm verkaufen, wie wir sind. |
| | |
| | #4 (permalink) |
| Themenstarter Registriert seit: 13.09.05 ![]() Likes: 5 | 1) kann schon sein, es geht um die basics ^^ 2) hab das gefixt, habe die string teile weggelassen 3) block gelöscht funktioniert nich. warum macht denn block 3 nix? na gut...wenn ich "maennlich" eintrage, dann is $group1 doch auf 1 und wenn ich sage if($group1) dann is das true ;D dann sollte der doch den wert 1 eintragen. aber habs wie oben geschrieben gelöscht. trotzdem funktioniert es nicht >.> Code: INSERT INTO user (username,prename,surname,email,pwd,school,birthday) VALUES ('nicknick','Heinz',Becker','q3@gx.net','passwert','Realschule',2009-12-12)
__________________ und? |
| | |
| | #5 (permalink) |
| Senior Member | setzt mal den sql string per phpmyadmin ab und schau was er dort macht
__________________ cu Chakky we are dreaming in digital we are living in realtime we are thinking in binary we are talking in IP welcome to our world |
| | |
| | #6 (permalink) | |
| Registriert seit: 06.06.09 ![]() Likes: 6 | Zitat:
Was du machen wolltest war wohl dieses hier: Code: if($group1)
{
mysql_query("INSERT INTO uno (sex) VALUES ('1')");
}
else
{
mysql_query("INSERT INTO uno (sex) VALUES ('0')");
}
__________________ A good programmer looks both ways before crossing a one-way street. Die Politik kann uns nur für so dumm verkaufen, wie wir sind. | |
| | |
| | #7 (permalink) |
| Themenstarter Registriert seit: 13.09.05 ![]() Likes: 5 | danke chakky, auf diese echt einfache, aber total hilfreiche idee hätte ich auch mal kommen können !!! problem war ein ' << zuwenig.... hab das nich gesehen, aber wenn man das so in das statement eingibt gibt der ja einem gute hinweise. perfekt, sehr gut und nochmal vielen dank ^^
__________________ und? |
| | |
| | #8 (permalink) | |
| Themenstarter Registriert seit: 13.09.05 ![]() Likes: 5 | Zitat:
lol. hab ich glatt übersehen Oowär mir spätestens nach 3 stunden aufgefallen lol. ne spaß beiseite... bin ja noch php frischling ![]() ach statt uno muss ich natürlich user schreiben, denn uno ist die datendank und user die dazugehörige tabelle.
__________________ und? | |
| | |
| | #9 (permalink) |
| Member of Honour ![]() | noch ein kleiner Tipp bezüglich der SQL-Injection-Anfälligkeit: NEVER TRUST AN USER-INPUT!!! dein Code: PHP-Code: alles, was Strings sind (text, char, varchar,...), jagst du durch mysql_real_escape_string() und alles was rein numerisch ist, castest du auch explizit als solches. Bsp: PHP-Code: Bsp: PHP-Code: |
| | |
| | #10 (permalink) |
| Themenstarter Registriert seit: 13.09.05 ![]() Likes: 5 | hey beavisbee -> sehr nett und geil das du das so hier mal aufgecodet hast Oo ich wollte demnächst ne kleine admin oberfläche für ein fikitves projekt machen, warum also nicht gleich richtig. korrekte sache, ehrlich ^^
__________________ und? |
| | |
| | #11 (permalink) |
| Registriert seit: 06.06.09 ![]() Likes: 6 | Falls dich das Thema näher interessiert kann ich dir dieses Buch empfehlen: http://www.php-sicherheit.de/
__________________ A good programmer looks both ways before crossing a one-way street. Die Politik kann uns nur für so dumm verkaufen, wie wir sind. |
| | |
| | #12 (permalink) |
| Member of Honour ![]() | hab das Thema mal ganz grob in 'nem kleinen Vortrag für's Studium angerissen. http://studium.cs-bergann.de/inet/phpsecurity/ da einige der Zuhörer mit PHP noch keinerlei Erfahrung hatten, hab ich versucht, einen Überblick über Gefahren zu geben, ohne zu tief ins Detail zu gehen. (hätte wohl den Zeit-Rahmen gesprengt...) Es gibt Demo-Codes und Demo-Server-Config, um selbst mal auszuprobieren, unter welchen Umständen welcher PHP-Code gefährlich sein könnte... (hauptsächlich in Bezug auf File-Injection) (natürlich sind auch realitäts-ferne Demos dabei, wie das CD-Laufwerk-Öffnen-Script - aber am deutlichsten für's Publikum ist es schließlich, wenn bei dem Rechner, den man als Server hinstellt, tatsächlich ein gut sichtbares Eigenleben auftritt...) Wollte eigentlich die Code-Sammlung schon immer mal erweitern (mal paar MySQL-Injections, komplexere Code-Einschleusung über Log-Files oder über MySQL) und auch mal direkte Vergleiche machen, welche Angriffe von php-suhosin-Patch abgefangen werden können, welche von Apache-Modulen abgefangen werden können, etc., um zu zeigen, dass eine Seite, die auf EINEM Server problemlos läuft unter anderen Umständen große sicherheitstechnische Probleme bereiten kann - aber irgendwie fehlt mir die Zeit |
| | |
| | #13 (permalink) |
| Themenstarter Registriert seit: 13.09.05 ![]() Likes: 5 | so, sorry für die späte antwort. aber auch besten dank an beavisbee, sehr nice :-) werde jetzt mein project erstmal anpassen, is ja keine arbeit da ich ja noch nich viel gemacht hab ;-) also danke an alle die mir produktiv geholfen haben! -> ich habe in der if-schleife (kleiner scherz hahaha... is ne abfrage ich weiß... oh man!) bei der datumseingabe noch ein exit eingeben, damit der rest des scriptes nicht mehr ausgeführt wird.... ansonsten führt der ja den rest aus und die DB wird mit "falschen" werten gefüllt... >> statt exit nehm ich lieber die("TEXT warum script sterben musste");
__________________ und? |
| | |
![]() |
| | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Sound Klappt nicht! | Qk1ll3r | Die Problemzone | 4 | 31.03.07 13:34 |
| XP Pro SP2 Key ändern klappt nicht | a-t-2 | Windows | 9 | 02.03.07 01:31 |
| CIA Commander klappt nicht!! | kronwied | Windows | 3 | 07.03.05 13:54 |
| ide erkennung klappt nicht | trip2nite | Die Problemzone | 2 | 27.01.05 13:31 |