ERLEDIGT
JA
JA
ANTWORTEN
11
11
ZUGRIFFE
318
318
EMPFEHLEN
-
Hallo ihr Lieben,
da ihr mir nun schon so super geholfen habt, hoffe ich, das ihr das bei dem "Problem" auch tun könnt.
Also ich habe ein formular, in dem Daten eingegeben werden können, die dann in meiner Datenbank gespeichert werden sollen.
Nun möchte ich es aber sicherer machen.
Es kann nun schon kein html code mitgeschickt werden und leere Felder, werden bekannt gegeben und es wir um Änderung gebeten.
Nun möchte ich aber noch, das die leeren Felder nicht nur angezeigt werden, sondern das das speichern auch verhindert wird und das Formular so lange "geöffnet" bleibt, bis das alle Feler ausgefüllt wurden.
Und ich möchte das eine SQL-Injektion verhindert wird, dazu lese ich mir grade auch etwas durch, jedoch werde ich daraus nicht wirklich schlau und weiß nicht wie ich es verhindern kann.
aber eins nach dem anderen
Als erste würde ich gerne wissen, wie ich verhindern kann, das das leere Formular gespeichert wird:
PHP-Code://Fragt ab, ob das Feld Firma ausgefüllt ist
if(isset($_POST['Firma']) && trim($_POST['Firma']) != '') {
// Daten verarbeiten
}
else {
// Daten nicht vorhanden
echo ('Bitte Firmennamen eingeben bei ID '.$ID.'');
}
-
So sollte ich gehen.PHP-Code:
// empty prüft ob eine Variable einen Wert enthält
if(empty($_POST['Firma'])) {
echo ' Bitte Firmennamen eingeben bei ID '.$ID.' ';
} else {
// Daten verarbeiten
}
Und zu Injection les dir mal :durchPHP-Code:mysql_real_escape_string()
Edit: Und " isset " prüft nur ob das Feld gesetzt wurde also abgeschickt wurde.Geändert von Fanseite (03.02.12 um 12:04 Uhr)
-
danke Fanseite,
jedoch hat das den selbe effekt wie mein Code, ich kann es immer noch ohne Daten speichern und das will ich ja eben verhindern.
-
Schick mal bitte einen größeren Abschnitt deines Codes.
-
das ganze wiederholt sich immer wieder, jedoch möchte ich bei else noch sagen, das wenn das Feld leer ist, das nicht gespeichert werden soll und erst die nötwendigen Daten eingegeben werden sollen.

PHP-Code://Frag ab, ob das Feld Firma ausgefüllt ist
if(isset($_POST['Firma']) && trim($_POST['Firma']) != '') {
// Daten verarbeiten
}
else {
// Daten nicht vorhanden
echo ('Bitte Firmennamen eingeben bei ID '.$ID.'');
}
if(isset($_POST['Nachname']) && trim($_POST['Nachname']) != '') {
}
else {
echo ('Bitte Nachname eingeben bei ID '.$ID.'');
}
echo '<br />';
if(isset($_POST['Vorname']) && trim($_POST['Vorname']) != '') {
}
else {
echo ('Bitte Vorname eingeben bei ID '.$ID.'');
}
echo '<br />';
-
Probiere es mal so.
PHP-Code://Frag ab, ob das Feld Firma ausgefüllt ist
if(empty($_POST['Firma'])) {
echo ('Bitte Firmennamen eingeben bei ID '.$ID.'');
} else {
if(empty($_POST['Nachname'])) {
echo ('Bitte Nachname eingeben bei ID '.$ID.'');
} else {
echo '<br />';
if(empty($_POST['Vorname'])) {
echo ('Bitte Vorname eingeben bei ID '.$ID.'');
} else {
// Hier verarbeiten
}
}
}
-
nein leider immer noch nicht.
Das Formular wird immer noch mit leeren Daten in die Datenbank abgespeichert.
-
Hä das darf eigendlich nicht sein ...
Poste mal bitte den gesamten code.
-
03.02.12 12:41 #9
- Registriert seit
- May 2007
- Ort
- Dresden (Sachsen)
- Beiträge
- 1.961
Mh, versuche es mal so:
Code PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
$errors = array(); if(empty($_POST['Firma'])) { $errors['Firma'] = 'Bitte Firmennamen eingeben bei ID ' . $id; } if(empty($_POST['Nachname'])) { $errors['Nachname'] = 'Bitte Nachnamen eingeben bei ID ' . $id; } if(empty($_POST['Vorname'])) { $errors['Vornamen'] = 'Bitte Vornamen eingeben bei ID ' . $id; } if($errors === array()) { // Daten verarbeiten } else { foreach($errors as $error) { echo $error . '<br />'; } }
Ich mag:- positive Bewertungen meiner Beiträge
- ein Danke für meine hilfreichen Beiträge
Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX
... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.
-
Und dann poste hier hin was raus kommt.
-
Das Formular wird direkt wieder geschlossen und wenn ich die Seite neu lade, dann wurden die Daten trotzdem übernommen, obwohl nicht alles ausgefüllt wurde.
Wenn ich es abfrage kommt, das raus:
PHP-Code:array
'ID' => string '79' (length=2)
'Firma' => string '' (length=0)
'Nachname' => string 'Muster' (length=6)
'Vorname' => string 'Max' (length=3)
'Strasse' => string 'Musterweg' (length=9)
'Hausnummer' => string '3' (length=1)
'PLZ' => string '89764' (length=5)
'Ort' => string '' (length=0)
'Telefonnummer' => string '123456789' (length=9)
'Fax' => string '987654321' (length=9)
'Mail' => string '' (length=0)
'Datum' => string '2012-02-03' (length=10)
'speichern' => string 'speichern' (length=9)
Bitte Firmennamen eingeben bei ID 79
-
Könnten wir mal den gesamten Code sehen ? Mit den MySQL anweisungen ?
Ähnliche Themen
-
Formular - wird nicht abgeschickt
Von sight011 im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 06.05.10, 14:55 -
HTML Formular wird von Firefox automatisch ausgefüllt - wie kann ich das verhindern?
Von Andreas Dunstheimer im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 18.06.09, 15:49 -
Überprüfung ob Formular abgeschickt
Von mkoeni1 im Forum PHPAntworten: 5Letzter Beitrag: 14.12.07, 21:05 -
LOL, Formular wird abgeschickt, jedoch steht bei echo da "undefinierte variable"
Von -GS-Master im Forum PHPAntworten: 6Letzter Beitrag: 27.12.06, 16:22 -
Eintrag erfolgt automatisch, obwohl das Formular nicht abgeschickt wird
Von Eiszwerg im Forum PHPAntworten: 6Letzter Beitrag: 10.07.03, 15:54





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren