Casper <3 (24.02.2014)
-
20.02.2014, 12:29 #1
- Registriert seit
- 07.06.2012
- Beiträge
- 53
Thanked 9 Times in 8 PostsFormulardaten an Datenbank senden
Hallo Community,
und zwar habe ich ein Problem
PHP-Code:<html>
<head>
<title>Anmeldung</title>
</head>
<body background="Razers-Hardware-1280x960-7031.jpg" text="#FDFBFA" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<?php
//datenbank Verbindungsaufbau
$dbname="Verkaufsportal";
$dbhost="localhost";
$dbuser="root";
$dbpass="";
$dbconnection = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);
//Variablendeklaration
$Name=$_POST["name"];
$Vorname=$_POST["vorname"];
$Anrede=$_POST["anrede"];
$Straße=$_POST["straße"];
$Haus_Nr=$_POST["hsnr"];
$Ttelefon_nr=$_POST["tel"];
$Mobil_Nr=$_POST["mobil"];
$PLZ=$_POST["plz"];
$Ort=$_POST["ort"];
$Land=$_POST["land"];
// erstellung eines zufälligen Passwortes
function generatePW($length=10)
{
$dummy = array_merge(range('0', '9'), range('a', 'z'), range('A', 'Z'), array('#','&','@','$','_','%','?','+'));
// array funktionen
mt_srand((double)microtime()*1000000);
for ($i = 1; $i <= (count($dummy)*2); $i++)
{
$swap = mt_rand(0,count($dummy)-1);
$tmp = $dummy[$swap];
$dummy[$swap] = $dummy[0];
$dummy[0] = $tmp;
}
$passwort="INSERT INTO Kunden (Passwort) VALUES ('$Passwort')";
// das passwort und die funktion wird geschlossen
return substr(implode('',$dummy),0,$length);
}
// zehn stelliges Passwort an Variable übergeben
$passwort=generatePW(10);
//e-Mail an den Kunden
$empfaenger=$_POST["e-mail"]; //Adresse des Kunden
$absender="blabla@web.de";
$betreff="Ihr Passwort";
$mailtext="Ihr passwort für die Anmeldung an unserer Webseite ist $passwort";
$antwortan=$absender;
mail ($empfaenger,
$betreff,
$mailtext,
"From: $absender\nReply-to: $antwortan ");
echo"Mail wurde gesendet an die E-Mail: $empfaenger gesendet!";
//uebergabe Der Daten an die DatenBank
//Datenbank aktivieren
$dbname="Verkaufsportal";
$dbhost="localhost";
$dbuser="root";
$dbpass="";
$dbconnection = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);
$eintrag = "INSERT INTO Kunden (Kd_nr, Anrede, Name, Vorname, Straße, Haus_Nr, E-mail, Telefon_nr, Mobil_Nr, PLZ, Ort, Land,Passwort) VALUES ('$Kd_nr', '$Anrede', '$Name', '$Vorname', '$Straße', '$Haus_Nr', '$E-mail', '$Telefon_nr', '$Mobil_Nr', '$PLZ', '$Ort', '$Land', '$Passwort')";
$eintragen = mysql_query($db, $eintrag);
//ende der PHP datei
?>
</body>
</html>
Mfg RuffyGeändert von Ruffy (20.02.2014 um 12:29 Uhr)
-
20.02.2014, 12:44 #2
AW: Formulardaten an Datenbank senden
Lern bitte wie man debugt, hast du dir die daten mal ausgeben lassen?
Vor allem stehen die Daten in der $_POST variable und du musst die via $_POST['KEY'] auslesen/verwenden, kein Wunder also das es leer bleibt.
//EDIT man sollte sowas nicht am Handy machen. Sky kann nicht lesen xD.Java:
Spoiler:
Lustige Quotes:
Spoiler:
-
20.02.2014, 12:53 #3
- Registriert seit
- 07.06.2012
- Beiträge
- 53
Thanked 9 Times in 8 PostsAW: Formulardaten an Datenbank senden
Danke für die schnelle Antwort. Ich habe eine Frage wie meinst du das
$_POST['KEY']
-
20.02.2014, 13:34 #4
- Registriert seit
- 18.03.2013
- Beiträge
- 481
Thanked 264 Times in 168 PostsAW: Formulardaten an Datenbank senden
Kannst du mir weitere Informationen mal bitte per PN zukommen lassen? Also DBStruktur usw. Dann mach ich dir das heute Abend mit jeglicher benötigen Erklärung, warum was bei dir nicht funktioniert.
-
20.02.2014, 16:36 #5
- Registriert seit
- 15.11.2011
- Beiträge
- 6.142
- Blog Entries
- 5
Thanked 9.130 Times in 3.005 PostsAW: Formulardaten an Datenbank senden
1. Deine Datenbankabfragen ist voller Sicherheitslücken, über jede genutzte POST-Variable kann man belibig Schadcode in die Datenbankabfragen einschleusen. Ich empfehle dir folgendes zu lesen: http://u-hacks.net/tutorials-181/tut...von-php-15061/
2. Passwörter speichert man NIEMALS im Klartext in der Datenbank. Du hast irgendwo ne Sicherheitslücke drin (siehe 1.), jemand bekommt die Daten und deine Nutzer sind am Arsch, weil viele das gleiche Passwort bei mehreren Diensten benutzen. Passwörter speichert man mindestens mit Salt gehasht ab. Und per E-Mail verschickt man Passwörter auch nicht, spätestens seit dem NSA-Skandal sowieso schon 2x nicht.
3. Man nutzt eine Datenbankverbindung bis das Script beendet ist und stellt nicht vor jeder Abfrage eine neue her. Das ist inperformant weil der Verbindungsaufbau Zeit kostet und unnötige Last am DBServer erzeugt.
4. Achte auf die Konsistenz deiner Variablennamen.
PHP-Code:$passwort=generatePW(10);
5. Die Variable $E-mail wird in der INSERT-Anfrage verwendet, aber nirgends definiert. Wenn sie irgendwo deklariert worden wäre würde dir die Deklaration nämlich um die Ohren fliegen, weil nur Buchstaben, Zahlen (nicht am Anfang) und Unterstriche in Variablennamen erlaubt sind, keine Bindestriche. Dasselbe gibt für den Spaltenname in MySQL.
6. Die MySQL-Funktionen sollten nicht mehr genutzt werden da sie in nächster Zeit entfernt werden. Eine Alternative wäre zb mysqli. Aus solchen Gründen würde ich mir eine Datenbankklasse als Wrapper schreiben. Dann musst du nämlich nicht wie jetzt jeden einzelnen Funktionsaufruf ersetzen, sondern ersetzt jeden Aufruf nur 1x in deiner Wrapper-Klasse.
7. Code sollte vernünftig formatiert werden, z.B. durch sinnvolles Einrücken wie etwa bei geschweiften Klammernblöcken. So werden viele Fehler schon von vorne herein vermieden, weil man beispielsweise auf den ersten Blick sieht wo eine Funktion, Schleife etc. anfängt und wo sie aufhört. Du rückst an Stellen ein wo es keinen Sinn macht, und rückst dafür da wo es Sinn macht nicht ein.
8. In HTML immer valide Doctypes verwenden. Wenn man das nicht macht, kann es zu Darstellungsfehlern kommen (insbesonders in vorherigen IE-Versionen, da sind Probleme quasi Vorprogrammiert wenn der Doctype nicht vorhanden oder ungültig ist).
-
The Following User Says Thank You to DMW007 For This Useful Post:
Ähnliche Themen
-
[H] VB Text Senden
Von AmJano im Forum Knuddels ProgrammierungAntworten: 2Letzter Beitrag: 19.08.2012, 17:12 -
C# Klasse um E-Mails zu senden
Von The Don of NYC im Forum .NetAntworten: 1Letzter Beitrag: 10.08.2012, 16:53 -
Iphone app für sms senden...
Von helfen im Forum iOSAntworten: 5Letzter Beitrag: 04.02.2012, 15:15 -
e-mail senden?
Von helfen im Forum iOSAntworten: 0Letzter Beitrag: 13.01.2012, 23:11 -
Tastendruck in Prozess senden
Von Gangstersheep im Forum HochsprachenAntworten: 9Letzter Beitrag: 03.11.2011, 00:13
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.