tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
NEIN
ANTWORTEN
27
ZUGRIFFE
1920
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    timestamp hat nur deine "bedenkliche" Schreibweise wie folgt geändert:

    HTML-Code:
    <form action="./" method="post">
    Ändere du es nun so das du bei action ="" den Namen deiner Datei einträgst.

    Er hat dir ja auch dazugeschrieben warum er das gemacht hat ! ! !
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  2. #17
    Schniko Schniko ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    17
    Ok, danke! Jetzt funktioniert das mit den Fehlermeldungen schon mal
    Allerdings gibt es noch das Problem, dass die schon getätigten Eingaben gelöscht werden, wenn man nicht alle Felder ausgefüllt hat und auf speichern klickt...
     

  3. #18
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Kann es sein das du dir immer nur den Code kopierst und bei dir wieder einfügst?

    HTML-Code:
    <p>Name:<br>
    <input name="Name" value="<?php echo @$_POST['Name']; ?>" size="50" maxlength="150" type="text">
    </p>
    <p>E-Mail-Adresse:<br>
    <input name="Email" value="<?php echo @$_POST['Email']; ?>" size="50" maxlength="150" type="text">
    </p>
    <p>Beitrag:<br>
    <textarea name="Beitrag" rows="10" cols="50"><?php echo @$_POST['Beitrag']; ?></textarea>
    </p>
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  4. #19
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Wenn du nicht die index als Formular benutzt, musst du im action attribut den Dateinamen hineinschreiben. Zum Beispiel
    HTML-Code:
    <form action="./meineDatei.php">
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  5. #20
    Schniko Schniko ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    17
    Kann es sein das du dir immer nur den Code kopierst und bei dir wieder einfügst?
    äähm...sorry, aber wenn ich es selbst könnte, hätte ich mich nicht an ein Forum gewandt...
     

  6. #21
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Zitat Zitat von Schniko Beitrag anzeigen
    äähm...sorry, aber wenn ich es selbst könnte, hätte ich mich nicht an ein Forum gewandt...
    Naja, den betreffenden Code um es wieder anzeigen zulassen findest du in diesem Thread schon... Ein bisschen Eigeninitiative ist wünschenswert da zumindest ich keine Lust habe alles vorzukauen.
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  7. #22
    sheeba1507 sheeba1507 ist offline Mitglied Gold
    Registriert seit
    Jun 2007
    Ort
    Oldenburg (Niedersachsen)
    Beiträge
    119
    Hi,

    hier mal meine Version einer Formular-Verarbeitung :
    PHP-Code:
    <?php
    if (isset($_POST['submit']))
      {
      
    $name $_POST['name']; // vereinfachte Verarbeitung
      
    if ($name == "") { $message "Keinen Namen angegeben"; }
      else
        {
        
    // weitere Verarbeitung
        
    $message "Verarbeitung erfolgreich";
        }
      }
    ?>
    <form action="deine_datei.php" method="post">
      <?php echo $message?><br />
      <input type="text" name="name" value="<?php echo $name?>" /><br />
      <input type="submit" name="submit" value="absenden" />
    </form>
    Gruß, Mike
     
    ---------------------------------------------------------------------------------
    Mike's EEP-Welt
    Windows XP 2003, Internet Explorer 6.0, Firefox 2.0

  8. #23
    Schniko Schniko ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    17
    Also, jetzt funktioniert alles
    Habe die Fehlermeldung noch in eine Box umgewandelt, damit es ein bisschen schöner aussieht (und natürlich um noch ein bisschen Eigeninitiative mit einzubringen, lieber timestamp )

    Hier noch mal ein Code-Beispiel:
    PHP-Code:
    <?php
      
    if (!isset($_POST['Beitrag']) Or Trim($_POST['Beitrag']) == "") {
        
    $fehler 1;
        
    $fehlertext "Bitte geben Sie einen Beitrag ein.";
        
        
    ?>
        <script type="text/javascript">
        alert("<?php echo $fehlertext?>");
        </script>
        <?php
    Vielen Dank an alle Helfer!
    Liebe Grüße

    Ich hätte da doch noch mal eine Frage...
    Nach der Prüfung und erfolgreichem Speichern des Formulars werden in den Formularfeldern trotzdem noch die eingegebenen Daten angezeigt. Das soll aber eigentlich nicht so sein, da direkt unter dem Formular das Gästebuch inklusive dem neuen Eintrag angezeigt wird.
    Ich weiß, dass ich die Variablen einfach über
    PHP-Code:
    $Variable" "
    wieder zurücksetzen kann, allerdings klappt es an keiner Stelle des Scriptes, egal, wo ich es einfüge.
    Logisch wäre natürlich direkt nach dem Speichern:
    PHP-Code:
    <?php
     
    //Wenn kein Fehler: Speichern
      
    if ($fehler == 0) {

        
    $sql " INSERT INTO gbuch ";
        
    $sql .= " SET ";
        
    $sql .= " Name ='"$_POST['Name'] ."', ";
        
    $sql .= " Email ='"$_POST['Email'] ."', ";
        
    //UTC Zeit festlegen:
        
    date_default_timezone_set('Europe/Berlin');
        
    $sql .= " Datum ='"date("Y-m-d H:i:s") ."', ";
        
    $sql .= " Beitrag='"$_POST['Beitrag'] ."' ";
       
        
    ?>   
        <script type="text/javascript">
        alert("<?php echo "Eintrag gespeichert. Vielen Dank!" ?>");
        </script>
        <?php
        
        $_POST
    ['Name'] = "";
        
    $_POST['Email'] = "";
        
    $_POST['Beitrag'] = "";
        
        
    //Zugriff auf die MySQL Datenbank:
        
    $db_link = @mysql_connect (MYSQL_HOSTMYSQL_BENUTZERMYSQL_KENNWORT);
        if ( ! 
    $db_link ){
          die(
    'keine Verbindung zur Zeit m&ouml;glich - sp&auml;ter probieren ');
        }
        
    $db_sel mysql_select_dbMYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen");

        
    //Ausführen des mysql-Befehls/Speichern der Daten
        
    $db_erg mysql_query$sql );
        if ( ! 
    $db_erg ){
          die(
    'Ung&uuml;ltige Abfrage: ' mysql_error());
        }
    Das funktioniert aber leider nicht
    Kann mir jemand helfen?
    Geändert von Schniko (30.06.10 um 19:08 Uhr)
     

  9. #24
    Schniko Schniko ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    17
    Kann mir wirklich niemand weiterhelfen?
     

  10. #25
    Avatar von rd4eva
    rd4eva rd4eva ist offline Mitglied Brillant
    Registriert seit
    Feb 2003
    Beiträge
    756
    Falls die Reihenfolge immernoch so ist wie in den oberen Beiträgen ( erst Formular , dann PHP ) dann ist das doch völlig logisch das das nicht funktionieren kann.
    Immerhin schreibst du die Variablen demnach erst in dein Formular und "löschst" sie erst danach.
     
    In order to understand recursion, one must first understand recursion.

  11. #26
    Schniko Schniko ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    17
    Wenn ich Sie VOR der Ausgabe des Formulars lösche, klappt die Fehlerüberprüfung aber leider nicht mehr und die Variablen werden sofort nach dem Klick auf Speichern gelöscht.
     

  12. #27
    aGeNET aGeNET ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    113
    Hallo, da noch ein Anfänger bist, wie es schein, noch ein wichtiger Hinweis:
    du musst vor der Speicherung der Daten in der Datenbank noch die zu speichernden Daten filtern, da deine Datenbank sonst ein offenes Scheunentor ist.
    siehe http://de.wikipedia.org/wiki/SQL-Injection

    Das geht mit mysql_real_escape_string(). Kleines Beispiel:
    PHP-Code:
    $sql "INSERT INTO tabelle (feld1, feld2) VALUES ('".mysql_real_escape_string('wert1')."', '".mysql_real_escape_string('wert2')."');"
    mfg
    Geändert von aGeNET (07.07.10 um 15:13 Uhr) Grund: typo
     

  13. #28
    Avatar von rd4eva
    rd4eva rd4eva ist offline Mitglied Brillant
    Registriert seit
    Feb 2003
    Beiträge
    756
    Wenn ich Sie VOR der Ausgabe des Formulars lösche, klappt die Fehlerüberprüfung aber leider nicht mehr und die Variablen werden sofort nach dem Klick auf Speichern gelöscht.
    Ich meinte auch eigentlich das du die komplette Reihenfolge eventuell umdrehen solltest.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    if (Formular abgeschickt){
        Formular prüfen
        if(!fehler){
            Formular verarbeiten
            Formularwerte löschen
        }
    }
     
    Formular anzeigen
     
    In order to understand recursion, one must first understand recursion.

Ähnliche Themen

  1. GET-Eingabe überprüfen
    Von Dörti.Hermi im Forum PHP
    Antworten: 4
    Letzter Beitrag: 08.02.08, 17:56
  2. Formularfelder überprüfen
    Von FLASHStyler im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 05.10.07, 08:02
  3. GET eingabe auf URL überprüfen
    Von kase im Forum PHP
    Antworten: 13
    Letzter Beitrag: 11.08.07, 15:57
  4. Formularfelder überprüfen!
    Von soa im Forum PHP
    Antworten: 3
    Letzter Beitrag: 20.06.05, 00:24
  5. 3 Formularfelder überprüfen
    Von stefanrichardmueller im Forum PHP
    Antworten: 2
    Letzter Beitrag: 25.07.04, 23:37

Stichworte