ERLEDIGT
NEIN
NEIN
ANTWORTEN
35
35
ZUGRIFFE
771
771
EMPFEHLEN
-
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)
-
05.12.08 09:38 #2
- 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.
-
05.12.08 09:43 #3
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!";
}
-
05.12.08 09:53 #4
- 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...
-
-
05.12.08 10:45 #6
- 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
Ich habe den Code unten nocheinmal verändertPHP-Code:mysql_real_escape_string($foo);

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!";
}
Hast du für deine ID in der Tabelle auto_increment?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 />';
}
Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
-
ja hab ich !! primary key auf ID und auto
-
05.12.08 11:00 #8
- 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 ...
-
hmm
bei dir vlt bei mir gibt er mir nen error und ich weiß ned warum
kenn mich ja ned aus
pls hilf mir nochmal wär ur niceCode :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 />'; } ?>
den error den ich bekomm
: Parse error: syntax error, unexpected T_VARIABLE
Line 62 das ist wo $sql beginnt
-
05.12.08 11:14 #10
- Registriert seit
- Feb 2008
- Beiträge
- 522
Hi,
sorry mein Fehler, hab eine Klammer vergessen
edit: Denk dran, in der zweiten Abfrage den Tabellennamen noch zu ändernPHP-Code:$sql = mysql_query("INSERT INTO 'artikel' (vorname, nachname) VALUES ('".mysql_real_escape_string($_POST['vorname'])."', '".mysql_real_escape_string($_POST['nachname'])."' )");
Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
-
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
-
05.12.08 11:30 #12
- 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 ...
-
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
-
05.12.08 11:55 #14
- 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
Mysql_error zeigt dir eventuelle Fehler in deinen Querys an:PHP-Code:mysql_error();
Und schreibe in die erste Zeile deines php-Scripts malPHP-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());
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 ...
-
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
-
Mysql daten in formular laden editieren und wieder in mysql abspeichern
Von ryserstephan im Forum PHPAntworten: 42Letzter Beitrag: 04.09.07, 12:09 -
Formular Daten einer externen Webanwendung automatisch ausfüllen und abschicken
Von larshuber im Forum .NET Web und KommunikationAntworten: 2Letzter Beitrag: 28.06.07, 11:36 -
MYQSL Daten wieder ins formular holen
Von supser im Forum PHPAntworten: 2Letzter Beitrag: 28.03.07, 20:06 -
Formular Daten ausgeben - Sicherheit
Von Dj Mike im Forum PHPAntworten: 4Letzter Beitrag: 12.02.07, 22:18 -
automatisch Daten in Website Formular einfügen
Von snowdog im Forum Microsoft WindowsAntworten: 1Letzter Beitrag: 14.09.06, 16:53





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren