Hey,
Bin auch mal Aktiv hier und Poste direkt zu anfang mal einen Codeschnipsel

Wie man Daten aus einem Formular in eine Mysql Datenbank Einträgt, und gleichzeitig ein wenig vor injections Geschütztist.
Zuerst legen wir mal eine Datenbak an, könnt ihr nennen wie ihr wollt, bei mir heisst sie tutorials, und fügen Folgenden sql code ein:
|
MySQL-Abfrage(n)
|
1
2
3
4
5
6
7
8
|
CREATE TABLE IF NOT EXISTS `texte` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`titel` varchar(100) NOT NULL,
`ip` varchar(12) NOT NULL,
`timestamp` int(255) NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
|
Falls dies Geschafft ist, erstellen wir eine datei, names index.php und füge follgenden Code ein und Testen!
|
PHP-Quelltext
|
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
|
<?php
$mysqlhost = 'localhost'; // Datenbank Host meist Localhost
$user = 'root'; // Datenbank Username (Bei Xammp, root)
$passwort = ''; // Datenbank Passwort (Bei Xammp, keines)
$datenbank = 'tutorials'; // Datenbankname
$connid = @mysql_connect($mysqlhost, $user, $passwort) OR die("Error: ".mysql_error());
mysql_select_db($datenbank) OR die("Error: ".mysql_error());
if(isset($_POST['submit']) AND $_POST['submit'] == 'Eintragen') { // Wenn man den Eintrage Button Geklickt hat
if(!empty($_POST['text']) && !empty($_POST['titel']) ) { // Checkt ob die Felder Titel und Text Ausgefüllt sind
mysql_query("INSERT INTO texte (titel,
ip,
timestamp,
text) VALUES
('".mysql_real_escape_string($_REQUEST["titel"])."',
'".getenv("REMOTE_ADDR")."',
'".time()."',
'".mysql_real_escape_string($_REQUEST["text"])."')");
// mysql_real_escape_string, um die DB vor Injections zu Schützen
echo "Vielen Dank! Ihr Text wurde Erfolgreich in die Datenbank eingetragen!"; // Wenn alles Erfolgreich!
} else { // Wenn Feld Titel nicht Ausgefüllt, dann Fehlermeldung
echo "Bitte <span style='color: red; font-weight: bold;'>ALLE</span>Felder ausfüllen!"; }
}
?>
<form action="index.php" method="POST"> <!-- // Bitte Pfad Anpassen, falls der Name der Datei Geändert wird ;) //-->
Titel:<br>
<input type="text" name="titel" size="20" />
<br>
<br>
Text:<br>
<textarea name="text" cols="50" rows="10"></textarea>
<br>
<br>
<input type="submit" name="submit" value="Eintragen" /> <input type="reset" value="Zurücksetzen">
</form>
|
mysql_real_escape_string schützt die Datenbank vor Injections
Ich hoffe der Code ist gut genug Auskommentiert, und dieser Schnipsel dient rein als Demo, wie es aussehen könnte wenn man so ein Formular machen möchte!
Mein nächstes Tutorial oder viel mehr Codeschnipsel -> Ausgeben einer Mysql Tabelle
Lg Pascal