Formular daten in mysql und automatisch wieder ausgeben!!

diamonds

Mitglied
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:
<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)
 
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.
 
Die Felder brauchen keine ID, diese werden über 'name="" ' angesprochen.
Du musst nur noch deinem Button ein name-atribute geben.

PHP:
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!";
}
 
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...
 
Die Felder brauchen keine ID, diese werden über 'name="" ' angesprochen.
Du musst nur noch deinem Button ein name-atribute geben.

PHP:
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
 
Hi

die Sicherheitslücke die angesprochen wurde, ist auch den "Machern" von MySQL bekannt. Dafür gibt es die Funktion
PHP:
mysql_real_escape_string($foo);
Ich habe den Code unten nocheinmal verändert :)
PHP:
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:
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?
 
hmm ^^ bei dir vlt bei mir gibt er mir nen error und ich weiß ned warum
kenn mich ja ned aus

Code:
	<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
 
Hi,

sorry mein Fehler, hab eine Klammer vergessen :-(
PHP:
$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 ;)
 
Zurück