tutorials.de Buch-Aktion 05/2012
Seite 1 von 3 123 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
35
ZUGRIFFE
771
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    diamonds diamonds ist offline Mitglied Bronze
    Registriert seit
    Dec 2008
    Beiträge
    27
    Guten morgen Leute!
    habe das forum durchsucht aber nichts dergleichen gefunden falls es doch schon so einen thread gibt SRY.

    also
    Ich habe eine php Seite mit einer tabelle wo ID Vname und Nname steht hab ich in mysql db eingetragen so jetzt hab ich einen button um neue Benutzer hinzuzufügen.
    damit komm ich auf eine html seite mit einem einfachen Formular:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    <form action="myscreen.php" method="post">
        <p>Vorname:<br><input name="vorname" type="text"></p>
        <p>Nachname:<br><input name="nachname" type="text"></p>
        <input type="button" value="Hinzufügen">
        <input type="reset" value="Reset">      
     
            
            
            </form>

    so ich hätte gerne gewusst wie man hier Vname und Nname einträg und durch zubmit(hinzufügen)
    die neuen daten in die datenbank einträgt!! und dazu ob sie dann gleich auf der PHP Seite aktualisiert werden

    thx (pls einfach erklären bin ein PHP anfänger)
     

  2. #2
    psykochris psykochris ist offline Mitglied Silber
    Registriert seit
    May 2005
    Ort
    Passau
    Beiträge
    71
    Gibt deinen <input>-Tags noch eine ID, z.B. id="vorname".

    Über $_POST['vorname'] kannst du auf die Werte zugreifen und sie dann in dein SQL-Statement einfügen.
     

  3. #3
    Avatar von Maniac
    Maniac Maniac ist offline Mitglied Smaragd
    Registriert seit
    Apr 2007
    Ort
    Augsburg/Gersthofen (Bayern)
    Beiträge
    1.204
    Die Felder brauchen keine ID, diese werden über 'name="" ' angesprochen.
    Du musst nur noch deinem Button ein name-atribute geben.

    PHP-Code:
    if (isset($_POST['button']) && $_POST['button'] != "")
    {
        
    $sql mysql_query("INSERT INTO `tabelle´ (ID, vorname, nachname) VALUES ('', '".$_POST['vorname']."', '".$_POST['nachname']."' )");
        if(
    $sql) echo "Daten wurden eingetragen!";

     

  4. #4
    psykochris psykochris ist offline Mitglied Silber
    Registriert seit
    May 2005
    Ort
    Passau
    Beiträge
    71
    Die Variablen solltest du aber auf keinen Fall einfach so ins Statement schreiben, das ist eine riesige Sicherheitslücke. Wie genau du in PHP den Inhalt auf 'gefährliche Werte' prüfst, kann ich dir leider nicht auswendigsagen...
     

  5. #5
    diamonds diamonds ist offline Mitglied Bronze
    Registriert seit
    Dec 2008
    Beiträge
    27
    Zitat Zitat von Maniac_81 Beitrag anzeigen
    Die Felder brauchen keine ID, diese werden über 'name="" ' angesprochen.
    Du musst nur noch deinem Button ein name-atribute geben.

    PHP-Code:
    if (isset($_POST['button']) && $_POST['button'] != "")
    {
        
    $sql mysql_query("INSERT INTO `tabelle´ (ID, vorname, nachname) VALUES ('', '".$_POST['vorname']."', '".$_POST['nachname']."' )");
        if(
    $sql) echo "Daten wurden eingetragen!";

    Danke für die schnelle Hilfe nur wie gesagt hab ull ahnung was ich da tu!

    was für ein attribut
     

  6. #6
    Nord-Süd-Richtung Nord-Süd-Richtung ist offline Mitglied Platin
    Registriert seit
    Feb 2008
    Beiträge
    522
    Hi

    die Sicherheitslücke die angesprochen wurde, ist auch den "Machern" von MySQL bekannt. Dafür gibt es die Funktion
    PHP-Code:
    mysql_real_escape_string($foo); 
    Ich habe den Code unten nocheinmal verändert
    PHP-Code:
    if (isset($_POST['button']) ) 
    {
        
    $sql mysql_query("INSERT INTO `dein_tabellen_name´ (Vname, Nname) VALUES ('".mysql_real_escape_string($_POST['vorname'])."', '".mysql_real_escape_string$_POST['nachname'])."' )");
        if(
    $sql) echo "Daten wurden eingetragen!";

    Wenn du die eingetragenen Daten noch anzeigen lassen möchtest, schreibe folgendes in die if( isset($_POST['button']) ) dazu:
    PHP-Code:
    if (isset($_POST['button']) ) 
    {
        
    $sql mysql_query("INSERT INTO `dein_tabellen_name´ (Vname, Nname) VALUES ('".mysql_real_escape_string($_POST['vorname'])."', '".mysql_real_escape_string$_POST['nachname'])."' )");
        if(
    $sql) echo "Daten wurden eingetragen!";
       
    $get mysql_query("SELECT * FROM `dein_tabellen_name` WHERE id = ".mysql_insert_id());
       
    $arr mysql_fetch_assoc($get);
       echo 
    'ID: '.$arr['ID'].'<br />';
       echo 
    'Vorname: '.$arr['Vname'].'<br />';
       echo 
    'Nachname: '.$arr['Nname'].'<br />';

    Hast du für deine ID in der Tabelle auto_increment?
     
    Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
    Die Naz!s trugen braune Hosen ...

  7. #7
    diamonds diamonds ist offline Mitglied Bronze
    Registriert seit
    Dec 2008
    Beiträge
    27
    ja hab ich !! primary key auf ID und auto
     

  8. #8
    Nord-Süd-Richtung Nord-Süd-Richtung ist offline Mitglied Platin
    Registriert seit
    Feb 2008
    Beiträge
    522
    Dann sollte mein Code das gewünschte Ergebnis liefern, hoffe ich
     
    Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
    Die Naz!s trugen braune Hosen ...

  9. #9
    diamonds diamonds ist offline Mitglied Bronze
    Registriert seit
    Dec 2008
    Beiträge
    27
    hmm bei dir vlt bei mir gibt er mir nen error und ich weiß ned warum
    kenn mich ja ned aus

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    
        <form action="myscreen.php" method="post">
        <p>Vorname:<br><input name="vorname" type="text"></p>
        <p>Nachname:<br><input name="nachname" type="text"></p>
        <input type="button" value="Hinzufügen">
        <input type="reset" value="Reset">      
     
    <?php
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = '';
    // Connection aufbau , mysqlserver, 
    $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die
                            ('Error connecting to mysql');
    // Datenbank selectieren und eine Abfrage starten ob eine Tabelle vorhanden ist
    $dbname = 'wr';
    mysql_select_db($dbname, $conn);
    $result = mysql_query('SELECT * FROM artikel');
    if ($result == false) {
        die('Ungültige Abfrage: ' . mysql_error());
    }
     
    if (isset($_POST['button']))
    {
       $sql = mysql_query("INSERT INTO 'artikel' (vorname, nachname) VALUES ('".mysql_real_escape_string($_POST['vorname'])."', '".mysql_real_escape_string$_POST['nachname'])."' )");
        if($sql) echo "Daten wurden eingetragen!";
       $get = mysql_query("SELECT * FROM `dein_tabellen_name` WHERE id = ".mysql_insert_id());
       $arr = mysql_fetch_assoc($get);
       echo 'ID: '.$arr['ID'].'<br />';
       echo 'Vorname: '.$arr['Vname'].'<br />';
       echo 'Nachname: '.$arr['Nname'].'<br />';
        
        
        
        
    }  
     
     
    ?>
    pls hilf mir nochmal wär ur nice

    den error den ich bekomm

    : Parse error: syntax error, unexpected T_VARIABLE
    Line 62 das ist wo $sql beginnt
     

  10. #10
    Nord-Süd-Richtung Nord-Süd-Richtung ist offline Mitglied Platin
    Registriert seit
    Feb 2008
    Beiträge
    522
    Hi,

    sorry mein Fehler, hab eine Klammer vergessen
    PHP-Code:
    $sql mysql_query("INSERT INTO 'artikel' (vorname, nachname) VALUES ('".mysql_real_escape_string($_POST['vorname'])."', '".mysql_real_escape_string($_POST['nachname'])."' )"); 
    edit: Denk dran, in der zweiten Abfrage den Tabellennamen noch zu ändern
     
    Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
    Die Naz!s trugen braune Hosen ...

  11. #11
    diamonds diamonds ist offline Mitglied Bronze
    Registriert seit
    Dec 2008
    Beiträge
    27
    Oh man danke ich beginn aber gleich zum heulen es gehht noch immer nicht!!
    diesmal kein error aber wenn ich auf den button klick passiert nix !!
    warum pc sprich doch mit mir

    pls schau nochmal was falsch ist

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    
        <form action="myscreen.php" method="post">
        <p>Vorname:<br><input name="vorname" type="text"></p>
        <p>Nachname:<br><input name="nachname" type="text"></p>
        <input type="button" value="Hinzufügen">
        <input type="reset" value="Reset">      
     
    <?php
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = '';
    // Connection aufbau , mysqlserver, 
    $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die
                            ('Error connecting to mysql');
    // Datenbank selectieren und eine Abfrage starten ob eine Tabelle vorhanden ist
    $dbname = 'wr';
    mysql_select_db($dbname, $conn);
    $result = mysql_query('SELECT * FROM artikel');
    if ($result == false) {
        die('Ungültige Abfrage: ' . mysql_error());
    }
     
    if (isset($_POST['button']))
    {
       $sql = mysql_query("INSERT INTO 'artikel' (vorname, nachname) VALUES ('".mysql_real_escape_string($_POST['vorname'])."', '".mysql_real_escape_string($_POST['nachname'])."' )");
        if($sql) echo "Daten wurden eingetragen!";
       $get = mysql_query("SELECT * FROM `artikel` WHERE id = ".mysql_insert_id());
       $arr = mysql_fetch_assoc($get);
       echo 'ID: '.$arr['ID'].'<br />';
       echo 'Vorname: '.$arr['Vname'].'<br />';
       echo 'Nachname: '.$arr['Nname'].'<br />';
        
        
        
        
    }  
     
     
    ?>


    und die haut php seite schaut so aus
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    
     
    <?php
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = '';
    // Connection aufbau , mysqlserver, 
    $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die
                            ('Error connecting to mysql');
    // Datenbank selectieren und eine Abfrage starten ob eine Tabelle vorhanden ist
    $dbname = 'wr';
    mysql_select_db($dbname, $conn);
    $result = mysql_query('SELECT * FROM artikel');
    if ($result == false) {
        die('Ungültige Abfrage: ' . mysql_error());
    }
        
    if (mysql_num_rows($result)==0) {
        echo "keine zeilen";    /*Tabellen vorhanden oder nicht*/
        exit;
     
    }
    echo "<table border='1'>";
     
        
     
    while ($row = mysql_fetch_array($result)){
            
     
    echo
     
                '<tr>
                    <td>'.$row[ID].'</td>
                    <td>'.$row[Vorname].'</td>
                    <td>'.$row[Nachname].'</td>
                    <td><img src="../../HP2/Bilder/delete.png"/>
                    <img src="../../HP2/Bilder/pencil.png"/>
                    </td>
                    
                </tr>';     
            
    }       
        
    echo "</table>";
     
     
    ?>
                
    <a href="Formular.php"><img border="0" src="../../HP2/Bilder/add.png"/>Benutzer hinzufügen</a>

    HILFEEE
     

  12. #12
    Nord-Süd-Richtung Nord-Süd-Richtung ist offline Mitglied Platin
    Registriert seit
    Feb 2008
    Beiträge
    522
    Hi

    erstmal eine kleine Bitte für die Zukunft, bitte benutze nicht die Code klammern sondern die php klammern
    Dir fehlte ein </form> Tag, sowie war dein "submit" button falsch.
    PHP-Code:
    <?php
    $dbhost 
    'localhost';
    $dbuser 'root';
    $dbpass '';
    // Connection aufbau , mysqlserver, 
    $conn mysql_connect($dbhost$dbuser$dbpass) or die
                            (
    'Error connecting to mysql');
    // Datenbank selectieren und eine Abfrage starten ob eine Tabelle vorhanden ist
    $dbname 'wr';
    mysql_select_db($dbname$conn);
    $result mysql_query('SELECT * FROM artikel');
    if (
    $result == false) {
        die(
    'Ungültige Abfrage: ' mysql_error());
    }

    if (isset(
    $_POST['button']))
    {
       
    $sql mysql_query("INSERT INTO 'artikel' (vorname, nachname) VALUES ('".mysql_real_escape_string($_POST['vorname'])."', '".mysql_real_escape_string($_POST['nachname'])."' )");
        if(
    $sql) echo "Daten wurden eingetragen!";
       
    $get mysql_query("SELECT * FROM `artikel` WHERE id = ".mysql_insert_id());
       
    $arr mysql_fetch_assoc($get);
       echo 
    'ID: '.$arr['ID'].'<br />';
       echo 
    'Vorname: '.$arr['Vname'].'<br />';
       echo 
    'Nachname: '.$arr['Nname'].'<br />';
    }  


    ?>
    <form action="myscreen.php" method="post">
    <p>Vorname:<br><input name="vorname" type="text"></p>
    <p>Nachname:<br><input name="nachname" type="text"></p>
    <input type="submit" value="Hinzufügen" name="button">
    <input type="reset" value="Reset">
    </form>
    Geändert von Nord-Süd-Richtung (05.12.08 um 11:52 Uhr)
     
    Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
    Die Naz!s trugen braune Hosen ...

  13. #13
    diamonds diamonds ist offline Mitglied Bronze
    Registriert seit
    Dec 2008
    Beiträge
    27
    sry ich geh dir sicher schon auf die nerven bin dir aber sehr dankbar das du mir hilfst!!

    so kein error mehr werd auf die hauptseite automatisch zurück gelinkt aber naja nix in der datenbank und nix in tabelle
     

  14. #14
    Nord-Süd-Richtung Nord-Süd-Richtung ist offline Mitglied Platin
    Registriert seit
    Feb 2008
    Beiträge
    522
    Hi,

    nein tust du nicht Ich hab ja auch mal klein angefangen :P
    Wird nun wohl Zeit für
    PHP-Code:
    mysql_error(); 
    Mysql_error zeigt dir eventuelle Fehler in deinen Querys an:
    PHP-Code:
    $sql mysql_query("INSERT INTO `artikel` (vorname, nachname) VALUES ('".mysql_real_escape_string($_POST['vorname'])."', '".mysql_real_escape_string($_POST['nachname'])."' )") or die(mysql_error());

    $get mysql_query("SELECT * FROM `artikel` WHERE id = ".mysql_insert_id()) or die(mysql_error()); 
    Und schreibe in die erste Zeile deines php-Scripts mal
    PHP-Code:
    error_reporting(E_ALL); 
    Geändert von Nord-Süd-Richtung (05.12.08 um 15:18 Uhr)
     
    Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
    Die Naz!s trugen braune Hosen ...

  15. #15
    diamonds diamonds ist offline Mitglied Bronze
    Registriert seit
    Dec 2008
    Beiträge
    27
    lol kein error ich spinn doch oder
    gehn tuts aber trotzdem ned nix in der DB und nix in der Tabelle komm immer nur zurück auf die Hauptseite
     

Ähnliche Themen

  1. Antworten: 42
    Letzter Beitrag: 04.09.07, 12:09
  2. Antworten: 2
    Letzter Beitrag: 28.06.07, 11:36
  3. MYQSL Daten wieder ins formular holen
    Von supser im Forum PHP
    Antworten: 2
    Letzter Beitrag: 28.03.07, 20:06
  4. Formular Daten ausgeben - Sicherheit
    Von Dj Mike im Forum PHP
    Antworten: 4
    Letzter Beitrag: 12.02.07, 22:18
  5. automatisch Daten in Website Formular einfügen
    Von snowdog im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 14.09.06, 16:53