Habe das Zahlen Captcha in meine Shoutbox-Formular eingebaut klappt soweit alles, nur Einbau ins Script will nicht hinhauen.
Hoffe das mir bei dem Scripteinbau von euch einer helfen kann.
wenn ich den Einbau ins Script vornehme passiert folgendes:
mit session_start();
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /srv/www/vhosts/cfmp.eu/httpdocs/shoutbox/xp_sbox1.php:5) in /srv/www/vhosts/cfmp.eu/httpdocs/shoutbox/xp_sbox1.php on line 6
Der Sicherheitscode ist falsch! Zurück
ohne session_start(); :
Der Sicherheitscode ist falsch! Zurück
hier meine momentan geänderte xp_sbox.php:
<?php
@include("sbox_config.php");
session_start();
?>
<?php
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam'])
unset($_SESSION['captcha_spam']);
else{
die ("Der Sicherheitscode ist falsch! <a href=\"".$_SERVER['PHP_SELF']."?site=1\">Zurück</a>");
}
### System-Variablen
$sbox_formquery = substr(strrchr($REQUEST_URI, '/'),1); // form-Attribut für das Formular
$sbox_spam = time()-($sbox_spamzeit*60); // Zeitpunkt für Spamschutz
$sbox_ip = $_SERVER["REMOTE_ADDR"]; // IP des Users
$smilieurl = "shoutbox/smilies/";
$sbox_date = time(); // aktueller Zeitpunkt
$sbox_submit_smilies = $_POST["sbox_submit_smilies"];
### Verbindung zur Datenbank herstellen
@mysql_pconnect($sbox_dbhost, $sbox_dbusername, $sbox_dbpasswort) or die ("Fehler: keine Verbindung zur Datenbank, eventuell falsche Benutzerdaten");
@mysql_select_db($sbox_dbname) or die ("Fehler: ausgewählte Datenbank nicht vorhanden");
### überprüfen, ob der User schreiben darf
$sbox_pruefen = mysql_query("SELECT COUNT(id) FROM xp_sbox WHERE ip='$sbox_ip' and date>'$sbox_spam'");
if (mysql_result($sbox_pruefen,0,0) >= $sbox_anzusereintr)
$sbox_lock = 1;
else
$sbox_lock = 0;
### Formular auswerten
if ($_POST["sbox_submit"] )
{
$sbox_name = trim($_POST["sbox_name"]);
$sbox_text = trim($_POST["sbox_text"]);
if (!$sbox_name or !$sbox_text or $sbox_name == 'Name' or $sbox_text == 'Text')
{$sbox_output = "Name u. Text eingeben";
}
else
{
if ($sbox_lock == 0)
{
$sbox_check = 0;
### Eintrag zu lang
if (strlen($sbox_text) > $sbox_maxlength or strlen($sbox_text) > 230)
{
$sbox_output = "Eintrag zu lang";
$sbox_check = 1;
}
### einzelnes Wort zu lang?
$sbox_inhalt=explode(" ", $sbox_text);
foreach ($sbox_inhalt as $sbox_temp)
{
if (strlen($sbox_temp)>$sbox_wordmaxlength)
{
$sbox_output = "einzelnes Wort zulang";
$sbox_check = 1;
}
}
### neuen Eintrag in die Datenbank schreiben
if ($sbox_check == 0){
$sbox_name = htmlentities(strip_tags($sbox_name));
$sbox_text = htmlentities(strip_tags($sbox_text));
$sbox_text = ereg_replace(":D", "<img src=\"$smilieurl/icon_biggrin.gif\" alt=biggrin>", "$sbox_text");
$sbox_text = ereg_replace(":)", "<img src=\"$smilieurl/icon_smile.gif\" alt=smile>", "$sbox_text");
$sbox_text = ereg_replace(":lol:", "<img src=\"$smilieurl/icon_lol.gif\" alt=lol>", "$sbox_text");
$sbox_text = ereg_replace(":grrr:", "<img src=\"$smilieurl/icon_mad.gif\" alt=mad>", "$sbox_text");
$sbox_text = ereg_replace(";)", "<img src=\"$smilieurl/icon_wink.gif\"> alt=wink", "$sbox_text");
$sbox_text = ereg_replace(":P", "<img src=\"$smilieurl/icon_razz.gif\" alt=razz>", "$sbox_text");
$sbox_text = ereg_replace(":cool:", "<img src=\"$smilieurl/icon_cool.gif\" alt=cool>", "$sbox_text");
$sbox_text = ereg_replace(":confused:", "<img src=\"$smilieurl/icon_confused.gif\" alt=confused>", "$sbox_text");
$sbox_text = ereg_replace(":sad:", "<img src=\"$smilieurl/icon_sad.gif\" alt=sad>", "$sbox_text");
$sbox_text = ereg_replace(":rolleyes:", "<img src=\"$smilieurl/icon_rolleyes.gif\" alt=rolleyes>", "$sbox_text");
$sbox_text = ereg_replace(":eyes:", "<img src=\"$smilieurl/icon_eye.gif\" alt=eye>", "$sbox_text");
$sbox_text = ereg_replace(":brueller:", "<img src=\"$smilieurl/icon_scream.gif\" alt=scream>", "$sbox_text");
$sbox_text = ereg_replace(":psycho:", "<img src=\"$smilieurl/icon_psycho.gif\" alt=psycho>", "$sbox_text");
$sbox_text = ereg_replace(":invisible:", "<img src=\"$smilieurl/icon_invisible.gif\" alt=invisible>", "$sbox_text");
$sbox_text = ereg_replace(":nut:", "<img src=\"$smilieurl/icon_nut.gif\" alt=nut>", "$sbox_text");
$sbox_text = ereg_replace(":heul:", "<img src=\"$smilieurl/icon_heul.gif\" alt=heul>", "$sbox_text");
mysql_query("INSERT INTO xp_sbox (ip, date, name, bla) VALUES ('$sbox_ip', '$sbox_date', '$sbox_name', '$sbox_text')");
}
}
### Spamschutz aktiv
else
{
$sbox_output = "Spamschutz aktiv!";
}
### Name und Text zurücksetzen
if ($sbox_check == 0)
{
$sbox_name="Name";
$sbox_text="Text";
}
}
$sbox_name = stripslashes(strip_tags(str_replace("\"", "'", $sbox_name)));
$sbox_text = stripslashes(strip_tags(str_replace("\"", "'", $sbox_text)));
}
else
{
if ($_POST["sbox_submit_smilies"] ){
$sbox_text = $sbox_text;
$sbox_name = $sbox_name;
}
else {
$sbox_text="Text";
$sbox_name="Name";
}
}
### Beginn der Tabelle
echo "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\" border=\"0\">";
### Einträge auslesen
$sbox_insert = mysql_query("SELECT name, bla FROM xp_sbox ORDER BY date DESC LIMIT $sbox_limit");
### Ausgabe von eventuellen Fehlermeldungen
if ($sbox_output)
{
echo "<tr><td class=\"small\" align=\"center\"><font color=\"$sbox_outputcolor\">$sbox_output</font></td></tr>";}
if ($sbox_submit_smilies){
print "<tr><td><table cellspacing=0 cellpadding=0 align=center border=0>";
print "<tr>\n";
print "<td>\n";
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie('
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie('
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie('
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie(' :confused: ');\"><img src=\"$smilieurl/icon_confused.gif\" border=\"0\" alt=confused></a><br>\n";
print "</td>\n";
print "</tr>\n";
print "</table>\n";
print "<table cellspacing=0 cellpadding=0 align=center border=0>\n";
print "<tr>\n";
print "<td>\n";
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie(' :grrr: ');\"><img src=\"$smilieurl/icon_mad.gif\" border=\"0\" alt=mad></a>\n";
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie('
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie('
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie('
print "</td>\n";
print "</tr>\n";
print "</table>\n";
print "<table cellspacing=0 cellpadding=0 align=center border=0>\n";
print "<tr>\n";
print "<td>\n";
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie('
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie(' :rolleyes: ');\"><img src=\"$smilieurl/icon_rolleyes.gif\" border=\"0\" alt=rolleyes></a>\n";
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie(' :eyes: ');\"><img src=\"$smilieurl/icon_eye.gif\" border=\"0\" alt=eye></a>\n";
print "<a href=\"javascript: x()\" onfocus=\"sbox_over('Text', 'sbox_text');\" onClick=\"DoSmilie(' :brueller: ');\"><img src=\"$smilieurl/icon_scream.gif\" border=\"0\" alt=scream></a>\n";
print "</td>\n";
print "</tr>\n";
print "</table>\n";
print "<table cellspacing=0 cellpadding=0 align=center border=0>";
print "<tr>\n";
print "<td>\n";
print "<a href=\"javascript: x()\" onClick=\"DoSmilie(' :invisible: ');\"><img src=\"$smilieurl/icon_invisible.gif\" border=\"0\" alt=invisible></a>\n";
print "<a href=\"javascript: x()\" onClick=\"DoSmilie(' :nut: ');\"><img src=\"$smilieurl/icon_nut.gif\" border=\"0\" alt=nut></a>\n";
print "<a href=\"javascript: x()\" onClick=\"DoSmilie(' :psycho: ');\"><img src=\"$smilieurl/icon_psycho.gif\" border=\"0\" alt=psycho></a>\n";
print "<a href=\"javascript: x()\" onClick=\"DoSmilie(' :heul: ');\"><img src=\"$smilieurl/icon_heul.gif\" border=\"0\" alt=heul></a>\n";
print "</td>";
print "</tr>";
print "</table></td></tr>";
}
?>
<form name="sbox" action="<?php echo $sbox_formquery ?>" method="post">
<tr>
<td><div align="center">
<input name="sbox_name" type="Text" style="width:100%;padding-left:3px;" onfocus="sbox_over('Name', 'sbox_name');" onblur="sbox_out('Name', 'sbox_name');" value="<?php echo $sbox_name; ?>" size="19" maxlength="20">
</div></td>
</tr>
<tr>
<td><div align="center" >
<textarea name="sbox_text" rows="3" style="width:100%;padding:3px;" onfocus="sbox_over('Text', 'sbox_text');" onblur="sbox_out('Text', 'sbox_text');"><?php echo $sbox_text; ?></textarea>
</div></td>
</tr>
<tr>
<td> <table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin-bottom:5px ">
<tr>
<td><img src="captcha/captcha.php" border="0" title="Sicherheitscode"></td>
<td><input type="text" name="sicherheitscode" size="5"></td>
</tr>
<tr>
<td><input name="box" type="hidden" value="sbox_submit_smilies"><input name="sbox_submit" type="Submit" class="SUBMIT" style="width:55" value="Shout"></td>
<td align="right"><input name="sbox_submit_smilies" type="Submit" style="width:55" class="SUBMIT" value="Smilies"></td>
</tr>
<tr>
<td colspan="2" class="small" align="center"><a href="xp_sbox.php">[...mehr]</a></td>
</tr>
</table>
</td>
</tr>
</form>
<?php
while ($sbox_erg = mysql_fetch_object($sbox_insert))
{
echo "<tr><td class=\"sboxname\"><b>$sbox_erg->name:</b><br></td></tr>";
echo "<tr><td class=\"sboxtext\">$sbox_erg->bla</td></tr>";
echo "<tr><td align=\"center\" ><img src=\"spacer.gif\" width=\"0\" align=\"center\" height=\"10\" border=\"0\" alt=\"\"></td></tr>\n";
}
?>
</table>
sbox_config.php
<?php
### Userspezifische-Variablen
$sbox_width = 100; // Breite der Shoutbox (Pixel)
$sbox_inputsize = 19; // Breite der Input-Felder (Name, Text)
$sbox_maxlength = 200; // maximale Zeichenanzahl eines Eintrags, H�chstwert: 230 Zeichen
$sbox_wordmaxlength = 25; // maximale Zeichenanzahl f�r ein Wort
$sbox_spamzeit = 60; // Zeitdauer f�r den Spamschutz (Minuten)
$sbox_anzusereintr = 1; // Anzahl der Eintr�ge, die ein User machen darf, bis der Spamschutz akitv wird
$sbox_limit = 7; // Anzahl der Eintr�ge, die ausgegeben werden
$sbox_limitall = 100; // Anzahl der Eintr�ge, die im Archiv ausgegeben werden
$sbox_schriftcolor = "#929FA6"; // Schriftfarbe der Shoutbox
$sbox_outputcolor = "#FF0000"; // Schiftfarbe der Fehlermeldungen
$sbox_bgcolor = ""; // Hintergrundfarbe der Shoutbox
$sbox_headerbgcolor = "#"; // Hintergrundfarbe der �berschrift
$sbox_header = ""; // �berschrift
### Variablen f�r den Verbindungsaufbau zur Datenbank
$sbox_dbusername = "xxxx"; // Benutzername f�r die Datenbank
$sbox_dbpasswort = "xxxx"; // Passwort f�r die Datenbank
$sbox_dbhost = "xxxx"; // Host der Datenbank, Standard: localhost
$sbox_dbname = "xxxx"; // Name der Datenbank
?>
