Trägt keine Daten in der SQL Bank ein.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Trägt keine Daten in der SQL Bank ein.

    Hallo,
    habe eine Sprunganweisung direkt beim Beginn des Bodies reingeschrieben, aber es werden keine Daten in die DB geschrieben. Weiß jemand von Euch wieso?
    Danke jetzt schon für eure Hilfe.
    Peter

    <?
    if ($submit) {
    $verbindung = mysql_connect($db_host, $db_user, $db_pass);
    mysql_select_db($db_name, $verbindung);
    mysql_query("INSERT INTO $db_table (id,name,email,strasse,plz,ort,land,telefon,nachricht)
    VALUES ('$id','$name','$email','$strasse','$plz','$ort','$land','$telefon','$nachricht')", $verbindung);
    }
    ?>

    WICHTIG:
    Bei den values sind im Original Code keine $ Zeichen, sondern das kaufmännische "und".

    Dann noch eine Frage:
    Die Formulardateien liegen im pw geschützten PHP Ordner, also domain/php.
    Was muss ich in ein php Skript schreiben, das im root Ordner liegt - also für alle zugänglich und auf die kontakt.php Datei im geschützten Ordner zugreifen soll, damit die angezeigt wird?
    Nochmals Danke.

  • #2
    PHP-Code:
    error_reporting(E_ALL);
    //werden Fehler ausgegeben ? 
    Ansonsten meint meine Glaskugel, dass es die Register Globals sein könnten. Poste doch mal den relevanten Code und schau auch gleich ob deine register globals on oder off sind --> echo phpinfo();
    Was muss ich in ein php Skript schreiben, das im root Ordner liegt - also für alle zugänglich und auf die kontakt.php Datei im geschützten Ordner zugreifen soll, damit die angezeigt wird?
    Zur Ausgabe, wenn kein direkter Zugriff des Clients möglich, könnte readfile() etwas für dich sein.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Thx Tobi und nochmal hallo

      Die Globals sind on
      Das Skript habe ich im Anhang, weil es zu lang zum Posten ist.
      Mit dem readfile bleibt es finster bzw. der Schirm entweder weiß oder es kommt die Meldung: Datei nicht gefunden.

      Mit include geht's auch nicht.

      <?php include("php/kontakt.php") ?>

      in einem Php außerhalb des geschützten Ordners im Root Verzeichnis.



      Ich bin ja Laie punkto php, habe mir jetzt einiges angelesen und die Syntax von dem Skript ist für mich verständlich, aber in die Datenbank schreibt es nur die ID den Code und die Codeanzeige. Alle anderen Felder bleiben leer.

      Im ersten Block direkt nach dem Body Beginn habe ich nochmals zusätzlich diese 3 Felder reingeschrieben aber die werden wohl aus Befehlen weiter unten in die DB übertragen.
      Hoffentlich findest Du was - danke schon jetzt dafür.
      thx Peter
      Angehängte Dateien

      Kommentar


      • #4
        Thx hat sich erledigt

        Zum Glück hat mir der Autor des Skripts geantwortet und die Sache ist jetzt klar.
        Danke nochmals Tobi
        Peter

        Kommentar


        • #5
          Habe mir den Code mal kurz angeschaut. Folgende Punkte sind mir aufgefallen:
          1. Das Form könnte ggf zum Spammen missbraucht werden. Bei den Formdaten, die an mail() übergeben werden, wird nur der Inhalt der Nachricht geprüft. Es könnte möglich sein der Funktion weitere header unterzuschieben z.B. ein paar Bcc Header damit die Mail an viele verschickt würde.
          2. Das Script läuft nur mit globals on --> ist ein mögliches Sicherheitsleck
          3. Die Daten werden ungerpüft in die DB eingetragen -->SQL-Injections
          4. Userdaten werden auch ungeprüft für MySql Abfragen verwendet
          Code:
          $abfrage=mysql_query("SELECT Code FROM $db_table WHERE ID='".$_REQUEST['ID']."'", $verbindung);
          Mit dieser Methode weiss man nicht mal ob die ID nun via GET oder POST gekommen ist.

          So my 5 cents
          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Mensch Tobi THX THX THX

            Hallo Tobi, Thx 1000 mal. Das sind so die Feinheiten, an die man als Laie natürlich nicht denkt.
            Das Skript ist ja Freeware und mir ist auch klar, dass ich nicht was Gott was Ausgefeiltes erwarten kann.
            In diesem Fall nimm ich halt ein professionelles Skript -
            bei http://www.php-komponenten.de/contactform.php
            bieten Sie eins mit SQL Anbindung an um 29 €

            oder

            bei www.webspacestar.de zugeschnitten auf meine Bedürfnisse um 29 €.

            Vielen Dank nochmals für deine Mühen.
            Gruß
            Peter

            Kommentar

            Lädt...
            X