Ankündigung

Einklappen
Keine Ankündigung bisher.

sql Eintrag

Einklappen

Neue Werbung 2019

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

  • rest
    hat ein Thema erstellt sql Eintrag.

    sql Eintrag

    ich habe folgenden code
    Code:
    <?
    if($_POST[flag==1]);
    {
    $tabelle = "stammdaten";
    $benutzer = "root";
    $passwort ="";
    $dbname="kunden";
    $sql="INSERT INTO $tabelle(id, anrede, name, ansprechpartner, strasse, plz, ort, telefon, mail) values ('".$_POST[anrede]."','".$_POST[name]."','".$_POST[ansprechpartner]."','".$_POST[strasse]."','".$_POST[plz]."','".$_POST[ort]."','".$_POST[telefon]."','".$_POST[mail]."')";
    $link = mysql_connect("localhost", $benutzer, $passwort) or die( "<H2>Abfragefehler</H2>" . mysql_error()); 
    mysql_select_db("kunden", $link) or die( "<H2>Abfragefehler</H2>" . mysql_error()); 
    mysql_query($sql, $link) or die( "<H2>Abfragefehler</H2>" . mysql_error()); 
    $meldung = "Angaben wurden eingetragen";
    echo $meldung;
    }
    if(!$POST[flag])
    {
    ?>
    <form action="<? echo $PHP_SELF; ?>" method="post">
    <input type="hidden" name="flag" value="1" />
    <p>Anrede:<br />
    <input type="text" name="anrede" value="<? echo $_POST[anrede]; ?>"></p>
    <p>Name:<br />
    <input type="text" name="name" value="<? echo $_POST[name]; ?>"></p>
    <p>Ansprechpartner:<br />
    <input type="text" name="ansprechpartner" value="<? echo $_POST[ansprechpartner]; ?>"></p>
    <p>Strasse:<br />
    <input type="text" name="strasse" value="<? echo $_POST[strasse]; ?>"></p>
    <p>PLZ:<br />
    <input type="text" name="plz" value="<? echo $_POST[plz]; ?>"></p>
    <p>Ort:<br />
    <input type="text" name="ort" value="<? echo $_POST[ort]; ?>"></p>
    <p>Telefon:<br />
    <input type="text" name="telefon" value="<? echo $_POST[telefon]; ?>"></p>
    <p>Mail:<br />
    <input type="text" name="mail" value="<? echo $_POST[mail]; ?>"></p>
    <input type="submit" value="Eintragen" />
    </form>
    <?
    }
    ?>
    Nun meine Fragen
    warum wird alles doppelt eingetragen ?
    und wie kann ich "id" überspringen ?

  • litterauspirna
    antwortet
    Hallo!

    nickosch hat recht man kann das machen. Über das Thema der Sicherheit scheiden sich die geister,viele haben unterschiedliche Ansichten!

    Einen Kommentar schreiben:


  • Wolla
    antwortet
    Oder ein leeres Action Attribut. Tuts auch.
    Ahhh - ich hab immer ein leeres Action-Attribut genommen, wenn das Script sich selbst aufrufen sollte, hab dann hier irgendwo gelesen, dass das eher nur zufällig funktioniert und man da besser was gescheites reinschreibt, und schau grade meine Scripts durch, wo es was zu verbessern gibt - und nu schreibst du, dass man das machen kann.

    Ich geh erstmal Kaffee trinken

    Einen Kommentar schreiben:


  • Leibi
    antwortet
    Zitat von nikosch77-new Beitrag anzeigen
    Einen? Eher drei...
    War damit gemeint - Denk dir einfach ne drei hin
    Mit XSS-Sicherheitslücken sollte man vorsichtig sein. Auf keinen Fall unterschätzen!

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Oder ein leeres Action Attribut. Tuts auch.

    Einen Kommentar schreiben:


  • litterauspirna
    antwortet
    Hallo!

    Davon würde ich dir auch abraten,das ist XSS anfällig!
    PHP-Code:
    <form action="<? echo $PHP_SELF; ?>" method="post">
    Wenn dann eher so hier schreiben!

    PHP-Code:
    <form action="<?php echo htmlentities($_SERVER['SCRIPT_NAME']); ?>" method="post">

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Zitat von Leibi Beitrag anzeigen
    Code:
    <?
    if($_POST[flag==1]);
    {
    Da sehe ich schonmal einen Fehler. Richtig würde es heißen:
    Einen? Eher drei...

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    Zitat von rest Beitrag anzeigen
    warum wird alles doppelt eingetragen ?
    Das ist Quatsch, es wird gar nichts eingetragen, sonder MySQL generiert einen Fehler, weil die Anzahl Werte nicht der Anzahl der Felder entspricht.
    Zitat von rest Beitrag anzeigen
    wie kann ich "id" überspringen ?
    Lass doch die Angabe bei den Feldern einfach weg (dann verschwindet auch die oben genannte Fehlermeldung).

    Ansonsten gilt alles, was hier schon gesagt wurde.

    Einen Kommentar schreiben:


  • Chriz
    antwortet
    Hey,
    willkommen bei uns im Forum PHP kann dir bei der Fehlersuche helfen, wenn du das Error-Reporting hochschraubst. Dazu error_reporting(E_ALL | E_STRICT) an den Anfang deines Skriptes stellen

    Auch mal hier vorbeischauen:
    PHP: Arrays - Manual

    Einen Kommentar schreiben:


  • Leibi
    antwortet
    Hallo rest,

    Code:
    <?
    if($_POST[flag==1]);
    {
    Da sehe ich schonmal einen Fehler. Richtig würde es heißen:

    Code:
    if($_POST['flag'] == 1) {
    Auf keinen Fall Semikolon hinter der If-Anweisung!

    Gruß,
    Leibi

    Einen Kommentar schreiben:


  • Manko10
    antwortet
    Kannst du den Code bitte vorher noch in PHP-Tags setzen und sinnvolle Einrückungen vornehmen? Dann wird dir auch geholfen.

    Einen Kommentar schreiben:

Lädt...
X