tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
11
ZUGRIFFE
318
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Big-A Big-A ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    45
    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.'');
            
            } 
     

  2. #2
    Fanseite Fanseite ist offline Mitglied Bronze
    Registriert seit
    Feb 2012
    Beiträge
    33
    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 

    So sollte ich gehen.
    Und zu Injection les dir mal :
    PHP-Code:
    mysql_real_escape_string() 
    durch

    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)
     

  3. #3
    Big-A Big-A ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    45
    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.
     

  4. #4
    Fanseite Fanseite ist offline Mitglied Bronze
    Registriert seit
    Feb 2012
    Beiträge
    33
    Schick mal bitte einen größeren Abschnitt deines Codes.
     

  5. #5
    Big-A Big-A ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    45
    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 />'
     

  6. #6
    Fanseite Fanseite ist offline Mitglied Bronze
    Registriert seit
    Feb 2012
    Beiträge
    33
    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

    }
    }

     

  7. #7
    Big-A Big-A ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    45
    nein leider immer noch nicht.
    Das Formular wird immer noch mit leeren Daten in die Datenbank abgespeichert.
     

  8. #8
    Fanseite Fanseite ist offline Mitglied Bronze
    Registriert seit
    Feb 2012
    Beiträge
    33
    Hä das darf eigendlich nicht sein ...

    Poste mal bitte den gesamten code.
     

  9. #9
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    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.

  10. #10
    Fanseite Fanseite ist offline Mitglied Bronze
    Registriert seit
    Feb 2012
    Beiträge
    33
    Und dann poste hier hin was raus kommt.
     

  11. #11
    Big-A Big-A ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    45
    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 
     

  12. #12
    Fanseite Fanseite ist offline Mitglied Bronze
    Registriert seit
    Feb 2012
    Beiträge
    33
    Könnten wir mal den gesamten Code sehen ? Mit den MySQL anweisungen ?
     

Ähnliche Themen

  1. Formular - wird nicht abgeschickt
    Von sight011 im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 06.05.10, 14:55
  2. Antworten: 2
    Letzter Beitrag: 18.06.09, 15:49
  3. Überprüfung ob Formular abgeschickt
    Von mkoeni1 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 14.12.07, 21:05
  4. Antworten: 6
    Letzter Beitrag: 27.12.06, 16:22
  5. Antworten: 6
    Letzter Beitrag: 10.07.03, 15:54

Stichworte