Hey hallo da ich ein Php Neuling bin sozusagen wollt ich euch mal wieder paar Fragen zu einem Gästebuch skript stellen.
hier ist das Skript erstmal
Habe soweit alles kapiert aber die Aufgabe verlangt das ich den Frage Teil im Formular und im php skript so bearbeite das es funktioniert.
Egal was ich im Frage Feld eingebe kommt die Meldung:Sie müssen die Frage richtig beantworten. Hmm hab echt überlegt wie ich das im skript umsetzte aber komme nicht auf eine Lösung ich bitte um Hilfe danke im vorraus.
Achja und hier ist das Formular
MFG
skype90
hier ist das Skript erstmal
PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$db = @new mysqli('localhost', 'benutzername', 'passwort', 'datenbak');
if (mysqli_connect_errno()) {
die('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}
readfile('header.html'); // enthält auch das <body>-tag
if ('POST' == $_SERVER['REQUEST_METHOD']) {
// Code zum hinzufügen in der DB
} else {
$sql = 'SELECT
Datum,
Autor,
Inhalt
FROM
Guestbook
ORDER BY
Datum DESC';
$result = $db->query($sql);
if (!$result) {
die('Der Query konnte nicht ausgeführt werden: '.$db->error);
}
if ($result->num_rows) {
while ($row = $result->fetch_assoc()) {
echo '<div class="beitrag">'."\n";
echo ' <span class="autor">'.htmlspecialchars($row['Autor'])."</span>\n";
echo ' <span class="datum">'.$row['Datum']."</span>\n";
echo " <p>\n";
echo nl2br(htmlspecialchars(preg_replace('~\S{30}~', '\0 ', $row['Inhalt'])));
echo " </p>\n";
echo "</div>\n";
}
} else {
echo '<p class="info">Es sind keine Gästebucheinträge vorhanden</p>';
}
readfile('formular.html');
}
// [...]
if ('POST' == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Autor'], $_POST['Inhalt'], $_POST['Antwort'], $_POST['formaction'])) {
die ('Benutzen sie nur Formulare von der Homepage.');
}
if (('' == $autor = trim($_POST['Autor'])) or
('' == $inhalt = trim($_POST['Inhalt'])) or
('' == $antwort = trim($_POST['Antwort']))) {
die ('Bitte füllen sie das Formular vollständig aus.');
}
if ('' != $antwort) { // entsprechend Anpassen, sowie den {FRAGE}-Teil im Formular
die ('Sie müssen die Frage richtig beantworten.');
}
$sql = 'INSERT INTO
Guestbook(Autor, Datum, Inhalt)
VALUES
(?, NOW(), ?)';
$stmt = $db->prepare($sql);
if (!$stmt) {
die ('Es konnte kein SQL-Query vorbereitet werden: '.$db->error);
}
} else {
}
if ('POST' == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Autor'], $_POST['Inhalt'], $_POST['Antwort'], $_POST['formaction'])) {
die ('Benutzen sie nur Formulare von der Homepage.');
}
if (('' == $autor = trim($_POST['Autor'])) or
('' == $inhalt = trim($_POST['Inhalt'])) or
('' == $antwort = trim($_POST['Antwort']))) {
die ('Bitte füllen sie das Formular vollständig aus.');
}
if ('' != $antwort) { // entsprechend Anpassen, sowie den {FRAGE}-Teil im Formular
die ('Sie müssen die Frage richtig beantworten.');
}
$sql = 'INSERT INTO
Guestbook(Autor, Datum, Inhalt)
VALUES
(?, NOW(), ?)';
$stmt = $db->prepare($sql);
if (!$stmt) {
die ('Es konnte kein SQL-Query vorbereitet werden: '.$db->error);
}
$stmt->bind_param('ss', $autor, $inhalt);
if (!$stmt->execute()) {
die ('Query konnte nicht ausgeführt werden: '.$stmt->error);
}
echo '<p class="info">Gästebucheintrag hinzugefügt. <a href="guestbook.php">Zurück zum Gästebuch</a>.</p>';
} else {
}
// [...]
?>
Habe soweit alles kapiert aber die Aufgabe verlangt das ich den Frage Teil im Formular und im php skript so bearbeite das es funktioniert.
PHP:
if ('' != $antwort) { // entsprechend Anpassen, sowie den {FRAGE}-Teil im Formular
die ('Sie müssen die Frage richtig beantworten.');
}
Egal was ich im Frage Feld eingebe kommt die Meldung:Sie müssen die Frage richtig beantworten. Hmm hab echt überlegt wie ich das im skript umsetzte aber komme nicht auf eine Lösung ich bitte um Hilfe danke im vorraus.
Achja und hier ist das Formular
HTML:
<form action="guestbook.php" method="post">
<fieldset>
<legend>Ins Gästebuch Eintragen</legend>
<label>Name: <input type="text" name="Autor" /></label>
<label>Text: <textarea name="Inhalt" rows="6" cols="40"></textarea></label>
<label>{FRAGE}: <input type="text" name="Antwort"/></label>
<input type="submit" name="formaction" value="Eintragen" />
</fieldset>
</form>
MFG
skype90