Hallo,
der Titel ist etwas verwirrend, einfach nicht beachten.
Folgendes Problem: Ein kleines Formular, dass einen Namen und seine Nachricht in der Datenbank speichern soll. Neben diesen zwei Sachen soll auch die IP und die Zeit gespeichert werden.
Alles ganz normal, hab das erste mal versucht mit mysqli zu arbeiten und bin ganz gut zurecht gekommen, nur funktioniert das Kontaktformular nicht.
Folgender Code:
[SPOILER]
[/SPOILER]
Das Problem ist, dass das Script die Nachricht nicht "merkt" und immer die erste IF-Anweisung ausspuckt, dass alle Felder ausgefüllt werden müssen (obwohl alle Felder ausgefüllt sind).
Beim Absenden des Formulars wird auch kein MYSQLi Error angezeigt.
Hilfe wäre echt nett.
EDIT: Eh, etwas peinlich. Falscher Input-Name. :P
der Titel ist etwas verwirrend, einfach nicht beachten.

Folgendes Problem: Ein kleines Formular, dass einen Namen und seine Nachricht in der Datenbank speichern soll. Neben diesen zwei Sachen soll auch die IP und die Zeit gespeichert werden.
Alles ganz normal, hab das erste mal versucht mit mysqli zu arbeiten und bin ganz gut zurecht gekommen, nur funktioniert das Kontaktformular nicht.
Folgender Code:
[SPOILER]
PHP-Code:
<?php
// Datenbank Verbindung
$mysqli = new mysqli("localhost", "root", "passwort", "radio");
if ($mysqli->connect_error) {
echo "Error: " . mysqli_connect_error();
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- HEAD TEIL DER KEINE ROLLE SPIELT -->
</head>
<body>
<div id="innen">
<?php
$absender = mysqli_real_escape_string ($mysqli, $_POST['absender']);
$inhalt = mysqli_real_escape_string ($mysqli, $_POST['inhalt']);
$ip = $_SERVER['REMOTE_ADDR'];
$zeit = time();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if(empty($_POST["absender"]) OR empty($_POST["inhalt"])) {
echo '<div class="error">Bitte fülle alle Felder aus!</div>';
}
else {
$insert = $mysqli->query("INSERT INTO grussbox (absender, inhalt, ip, zeit) VALUES ('$absender', '$inhalt', '$ip', '$zeit')") or die($mysqli->error());
}
if($insert === true) {
echo'<div class="succ">Deine Nachricht wurde erfolgreich verschickt!</div>';
}
}
?>
<form action="" method="post">
<input type="text" placeholder="Dein Username..." name="absender" class="radio-ipt" />
<textarea type="text" placeholder="Deine Nachricht..." name="nachricht" class="radio-txt"></textarea>
<input type="submit" value="Absenden" class="radio-btn" />
</form>
</div>
</body>
</html>
Das Problem ist, dass das Script die Nachricht nicht "merkt" und immer die erste IF-Anweisung ausspuckt, dass alle Felder ausgefüllt werden müssen (obwohl alle Felder ausgefüllt sind).
Beim Absenden des Formulars wird auch kein MYSQLi Error angezeigt.
Hilfe wäre echt nett.

EDIT: Eh, etwas peinlich. Falscher Input-Name. :P