Captcha към добавяне на коментар

aquafresh

Registered
Това на долу ми е кода. Винаги ми дава грешен код.
Инклудвам файла captcha.php след което $code приема стойноста на
$_SESSION['code'];
След това проверката я правя по следния начин - вижте това в червеното.
Очевидно е размешено ,но как да го подредя :S
<?php
session_start();
include "config.php";
include "captcha.php";
$username = $_SESSION['username'];
$code = $_SESSION['code'];
if($username == NULL){
echo "<center><div style='border:2px solid black;width:500px;background-color:1c1c1c;background-image:url(images/warning.png);background-repeat:no-repeat;height:38px;padding:17 0 0 30px;font-weight: bold;'>
За да виждате и пишете коментари трябва да сте се логнали.</diV></center>";
} else {
$avatar = ($row->avatar == NULL) ? "images/noavatar.gif" : $row->avatar;
$userid = ($row->id == NULL) ? "" : $row->id;
?>
<hr style='border: 1px solid #141414;'>
<?php
$check = "SELECT * FROM users WHERE username = '$username'";
$check1 = mysql_query($check) or die ("Грешка!");
$check2 = mysql_fetch_array($check1);
$level = $check2['level'];
if($level == 1 OR $level == 2 OR $level == 3){
?>
<center><span style="border: 1px solid black; padding-left: 3px; padding-right: 3px; background-color: #222; font-weight: bold;" onclick="document.getElementById('req').style.display='block'">
<img src="images/icons/pencil.png" style="border:none;"><a name='comments'></a><?php print $lang[addcomment]; ?></span></center>
<div id='req'>
<form action="" method="post">
<table width="100%" border="0" align="center">
<tr>
<td><center><br>
<a onclick="javascript: bbcode('Smile', '', 'text');"><img src="images/smilies/smile.gif"></a>
<a onclick="javascript: bbcode('Wink', '', 'text');"><img src="images/smilies/wink.gif"></a>
<a onclick="javascript: bbcode('Razz', '', 'text');"><img src="images/smilies/bee.gif"></a>
<a onclick="javascript: bbcode('Very Happy', '', 'text');"><img src="images/smilies/bigsmile.gif"></a>
<a onclick="javascript: bbcode('Surprised', '', 'text');"><img src="images/smilies/lol.gif"></a>
<a onclick="javascript: bbcode('Sad', '', 'text');"><img src="images/smilies/sad.png"></a>
<a onclick="javascript: bbcode(':puke:', '', 'text');"><img src="images/smilies/puke.gif"></a><br>
<textarea name="comment" cols="40" rows="3" id="text"></textarea><br>
<?php echo "$code"; ?><input type="text" name="code" size="5"></center>
</td>
</tr>
<tr>
<td><center>
<input name="submit" type="submit" class="submit" id="submit" value="<?php print $lang[b_add]; ?>">
<input name="button2" type="reset" class="submit" id="button2" value="<?php print $lang[b_clear]; ?>">
</center>
</td>
</tr>
</table>
</form>
<span onclick="document.getElementById('req').style.display='none'" style="padding-left: 645px;" title="<?php print $lang[hide]; ?>">
<img src="images/icons/arrow_up.png" style="border:none;"> </span>
</div>
<br>
<?php
} else {
echo "Трябва да се логнете ,за да пишете коментари !";}
?>
<?php
include ("config.php");
include_once "bbcode.php";
$id = (int) trim($_GET['id']);
if(isset($_POST['submit'])){
$postcode = $_POST['code'];
if($postcode == $code){

$author = $_SESSION['username'];
$avatar = $avatar;
$date = date("d.m.Y , G.i часа");
$comment = htmlspecialchars(mysql_real_escape_string($_POST['comment']));
$sql = mysql_query("INSERT INTO comments (id, article, author, avatar, comment, date) VALUES (NULL, '$id', '$author', '$avatar', '$comment', '$date')") or die(mysql_error());
} else {
echo "Кода е грешен.";
}

}
else {
echo "";
}
$query = mysql_query("SELECT * FROM `comments` WHERE `article`='$id' ORDER BY id DESC") or die(mysql_error());
while($raw = mysql_fetch_array($query)){
$un = $raw[author];
$sql = mysql_query("SELECT * FROM users WHERE username='$un'") or die(mysql_error());
while($row = mysql_fetch_array($sql)){
echo "
<div id='com-avatar'><img src='"; if($row[avatar] == NULL){ echo "images/$lang[noav].gif"; } else { echo "$row[avatar]"; } echo "' width='83' height='73'></div>
<div id='com-box'>
$lang[by] <a href='user/$row[username]'><b>$row[username]</b></a> $lang[at] $raw[date] "; ?> <? if($level == 2 OR $level == 3){ echo "<a href='delcom_n.php?id=$raw[id]'><img src='images/icons/cross.png'></a>"; } ?> <?php echo "
<br><br>
".bbcode($raw[comment])."<br>
</div>";
}
}
}
?>
<br>

ПС: Това е и капчата:
Код:
<?php
session_start();
$string = '';
for($i = 0; $i < 5; $i++) {
$string .= chr(rand(97,122));
}
$_SESSION['code'] = $string;
?>
 
Виж ти какво си написал.

<?php
session_start();
$string = '';
for($i = 0; $i < 5; $i++) {
$string .= chr(rand(97,122));
}
$_SESSION['code'] = $string;
?>
И това е Вярното! Първо сесията после кода пък и в проверката имаш $string ,не $code ,така че го направи
$_SESSION['code'] = $string;
 

Back
Горе