Проблем с код

Dizasterr

Registered
Здравейте! Къде е проблема в този код. Тъкмо го написах, но всеки път ми дава грешен код.
Код:
<?php

    $captcha=rand(10000, 99999);
   $_SESSION['captcha']=$captcha;
   if (isset($_POST['Submit'])) {
   $checkcaptcha=addslashes($_POST['captcha']);
   $checkcaptcha=htmlspecialchars($checkcaptcha);

  if($checkcaptcha != $_SESSION['captcha']) {
   die ("Неправилно въведен код!");
   }

$insert_sql = mysql_query("INSERT INTO `captcha` (`captcha`)
                  VALUES ('$captcha')") or die(mysql_error());

     if ($insert_sql) {

         echo "<strong style='color: #FFF;'>!</strong>";
      }else{
         echo "<strong style='color: #FF0000;'>!!!</strong>";
         }
		 $_SESSION['captcha'] = array();
		session_destroy(); 
		
     }
?>
   <form method="post" action="">
Код*
<input id="user" name="captcha" type="text" maxlength="20" style="opacity:0.6;filter:alpha(opacity=60)" onmouseover="this.style.opacity=1;this.filters.alpha.opacity=100"onmouseout="this.style.opacity=0.6;this.filters.alpha.opacity=60" >
<?php echo $captcha; ?>
</tr>
</form>
 
Най-вероятно ,никъде във файла не стартираш самата сесия.
Сложи най-отгоре
<?php
session_start();
или просто при проверката изкарай двете стойности и виж коя е проблемната (най-вероятно провери дали изобщо имаш такава сесия)
 
Най - отгоре в файла имам session_start();. Изваждам си и двете стойности и двете са верни всеки път.
 
Код:
<?php

    $captcha=rand(10000, 99999);
   $cap=$_SESSION['captcha']=$captcha;
   if (isset($_POST['Submit'])) {
   $checkcaptcha=addslashes($_POST['captcha']);
   $checkcaptcha=htmlspecialchars($checkcaptcha);

  if($checkcaptcha != $cap) {
   echo "Неправилно въведен код!";
   }
   else
   {

$insert_sql = mysql_query("INSERT INTO `captcha` (`captcha`)
                  VALUES ('$captcha')") or die(mysql_error());

     if ($insert_sql) {

         echo "<strong style='color: #FFF;'>!</strong>";
      }}else{
         echo "<strong style='color: #FF0000;'>!!!</strong>";
         }
     }
?>
   <form method="post" action="">
Код*
<input id="user" name="captcha" type="text" maxlength="20" style="opacity:0.6;filter:alpha(opacity=60)" onmouseover="this.style.opacity=1;this.filters.alpha.opacity=100"onmouseout="this.style.opacity=0.6;this.filters.alpha.opacity=60" >
<?php echo $captcha; ?>
</tr>
</form>
 
Пак не стана. Няма значение бъркам ли, или пиша правилно кода пак записва в базата данни.
 
Ако му се сложи един exit; ?

Код:
<?php

    $captcha=rand(10000, 99999);
   $cap=$_SESSION['captcha']=$captcha;
   if (isset($_POST['Submit'])) {
   $checkcaptcha=addslashes($_POST['captcha']);
   $checkcaptcha=htmlspecialchars($checkcaptcha);

  if($checkcaptcha != $cap) {
   echo "Неправилно въведен код!";
   exit;
   }
   else
   {

$insert_sql = mysql_query("INSERT INTO `captcha` (`captcha`)
                  VALUES ('$captcha')") or die(mysql_error());

     if ($insert_sql) {

         echo "<strong style='color: #FFF;'>!</strong>";
      }}else{
         echo "<strong style='color: #FF0000;'>!!!</strong>";
         }
     }
?>
   <form method="post" action="">
Код*
<input id="user" name="captcha" type="text" maxlength="20" style="opacity:0.6;filter:alpha(opacity=60)" onmouseover="this.style.opacity=1;this.filters.alpha.opacity=100"onmouseout="this.style.opacity=0.6;this.filters.alpha.opacity=60" >
<?php echo $captcha; ?>
</tr>
</form>
 
Същото си е, но вече не записва и в базата данни. И да го въведа правилно пак показва грешката.
 
Немога да разбера от каде идва проблема, но ето погледни този урок,

http://videotutorials-bg.com/lessons.php?action=viewsub&id=27&t=615
 

Back
Горе