Tobi
so:du gibst in dir adressleiste ein:
www.deine-adresse.de/ask.php?passwort=deinpasswort
hoff das klappt bei dir
good luck xD
am 18.06.2007 um 13:43 Uhr
|





CREATE TABLE `ask` (
My-SQL Code:
`id` int(150) unsigned NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`timestamp` int(150) NOT NULL,
`text` text NOT NULL,
`answer` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 ;
<?php
include("db.php"); // db.php includen, um Verbindung zur Datenbank zu
bekommen.
// Login-Daten zum Antworten:
$passwort = "123";
function postvars($string) // Funktion um < und > in Sonderzeichen
umzuwandeln, zur Sicherheit von PHP-Coden unt Html-Anwednung.
{
$string = htmlspecialchars($_REQUEST[$string]);
return str_replace("\n","<br>",$string);
}
if (isset($_REQUEST["submit"])) { // Wenn Formular abgeschickt,
dann..
if(isset($_REQUEST["name"]) && isset($_REQUEST["text"])) { // Wenn
Name und Text ausgefüllt sind..
$eintrag = "INSERT INTO ask (name, email, timestamp, text)
VALUES ('".postvars("name")."', '".postvars("email")."',
'".time()."', '".postvars("text")."')"; // Eintragen in die Datenbank
time() ist der Timestamp und postvars die Funktion da oben
$eintragen = mysql_query($eintrag);
if (mysql_errno() == 0) { // Wenn MySQL keine Fehler hat dann..
echo "Frage ist eingetragen.<br /><br />";
} else { // Wenn MySQL Fehler..
echo "Es ist leider ein Fehler aufgetreten ". mysql_errno() .": ".
mysql_error(); // Fehlerausgabe
}
}
}
if ($_REQUEST["action"] == "answer" && $_REQUEST["passwort"] ==
$passwort && isset($_REQUEST["id"])) { // Wenn Passwort richtig ist,
die id da ist und die Aktion answer dann..
$abfrage = "SELECT text, answer FROM ask WHERE id =
'".$_REQUEST["id"]."'"; // Eintrag anzeigen wo id = id
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
?>
<form action="ask.php?passwort=<? echo $_REQUEST["passwort"];
?>&action=answer2&id=<? echo $_REQUEST["id"]; ?>" method="post">
<b>Antworten</b><br />
<b>Frage:</b> <? echo $row->text; ?>
<br />
Antwort: <textarea rows=4 cols=20 name="text"><? echo $row->answer;
?></textarea><br />
<br />
<input type="submit" value="Answer!">
</form>
<br /><br />
<?
}
}
elseif ($_REQUEST["action"] == "answer2" && $_REQUEST["passwort"] ==
$passwort && isset($_REQUEST["id"])) { // Wenn Passwort richtig ist,
die id da ist und die Aktion answer2 (abschicken des Formulares)
dann..
$aendern = "UPDATE ask Set answer = '".postvars("text")."' WHERE id
= '".$_REQUEST["id"]."'";
$update = mysql_query($aendern); // Antwort hinzufügen
echo "Antwort hinzugefügt<br /><br />";
}
elseif($_REQUEST["action"] == "delete" && $_REQUEST["passwort"] ==
$passwort && isset($_REQUEST["id"])) { // Wenn Passwort richtig ist,
die id da ist und die Aktion delete (Löschen) dann..
$loeschen = "DELETE FROM ask WHERE id = '".$_REQUEST["id"]."'";
$loesch = mysql_query($loeschen); // Eintrag löschen
echo "Eintrag gelöscht<br /><br />";
}
?>
<form action="ask.php" method="post">
<b>Frage stellen</b><br />
Name*: <input type="text" name="name"><br />
E-Mail: <input type="text" name="email"><br />
Text*: <textarea rows=4 cols=20 name="text"></textarea><br />
<br />
<input type="submit" name="submit" value="Neue Frage">
</form>
<br /><br />
<b>Fragen</b><br /><br />
<?php
$proseite = 10; // Wieviele Einträge pro Seite?
if(!isset($_REQUEST["seite"])) { // Wenn die Seite leer ist, ist
Seite = 0
$seite = 0;
} else {
$seite = $_REQUEST["seite"];
}
// Hier beginnt die Anzeige!
$abfrage = "SELECT * FROM ask LIMIT ".$seite.",".$proseite; // Limit
fängt bei seite an und zeigt soviele Einträge wie bei proseite
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo "<b><a href=mailto:".$row->email.">".$row->name."</a></b> am
".date("d.m.Y",$row->timestamp)."<br />".$row->text."<br /><br
/><i>".$row->answer."</i><br />"; // Eintrag anzeigen ;)
if($_REQUEST["passwort"] == $passwort) { // Wenn eingeloggt, dann
echo "<a
href=ask.php?action=answer&passwort=".$_REQUEST["passwort"]."&id=".$row->id.">
Answer</a> | <a
href=ask.php?action=delete&passwort=".$_REQUEST["passwort"]."&id=".$row->id.">
Löschen</a><br /><br />";
}
}
echo "<br /><br />";
$count = 0; // Seitenfunktion, siehe anderes Tutorial
$abfrage = "SELECT id FROM ask";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
if($count%$proseite == 0) {
$aktuelleseite = $count/$proseite+1;
if($count == $seite) {
echo $aktuelleseite." ";
} else {
echo "<a
href=?seite=$count&passwort=".$_REQUEST["passwort"].">".$aktuelleseite."</a>
";
}
}
$count++;
}
?>
<a href=".$row->hp." target=\"_blank\" >".$row->name."</a>
echo "<b><a href=mailto:".$row->email.">".$row->name."</a></b> am
".date("d.m.Y",$row->timestamp)."<br />".$row->text."<br /><br
/><i>".$row->answer."</i><br />";
Sayuri
Irgentwie geht das bei mir mit den Antworten nciht...