Проверката за попълнени полета дава грешка

Foxy

Registered
Здравейте! Ето го кода:
Код:
<?php
session_start();
include "config.php";
$username = $_SESSION['username'];
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<?php

/**
 * @author carbonated
 * @copyright 2009
 */

if($username)
{
	if($_POST['submit'])
	{
		if($zaglavie == NULL || $text == NULL)
		{
			echo "<center><b>Моля попълнете всички полета!</b></center>";
		}
		else
		{
			$zaglavie = trim(htmlspecialchars(addslashes($_POST['zaglavie'])));
			$text = trim(htmlspecialchars(addslashes($_POST['text'])));
			$avtor = $_SESSION['username'];
			$date = date("m.d.y");
			$sql = "INSERT INTO statii (zaglavie, text, avtor, data) VALUES ('$zaglavie', '$text', '$avtor', '$date')";
			$result = mysql_query($sql) or die (mysql_error());
			echo "<center><b>Статията беше добавена успешно!</b></center>";
		}
	}
	else
	{
		echo '
		<center><form method="post" action="addstatiq.php" style="width: 800px; height: 600px; border: 0px solid; padding: 5px;">
	  	<fieldset style="border: 1px solid #000000;">
	  	<legend style="color: #000000; background: #ffffff; border: 1px solid #000000; padding: 2px 6px;">Добави статия</legend><br />
      	Заглавие: <input type="text" name="zaglavie" style="width: 600px; border: solid 1px #000000;" /><br />
      	Текст: <textarea name="text" rows="30" cols="30" style="width: 600px; height: 500px; margin-top: 15px; margin-left: 24px; border: solid 1px #000000;"></textarea><br />
      	<input type="submit" name="submit" value="Добави статия" style="margin-top: 5px; width: 145px;" />
      	</fieldset>
	  	</form></center>';
	}
}
else
{
	echo "<center><b>Не сте логнат! Ако се опитвате да шмекерувате всичко се записва в лог-а =) !!!</b> <br />";
}

?>

Почти във всяка страница ползвам проверка за попълнено поле , но в тази нещо ударих на камък - ето това е проверката:
Код:
if($zaglavie == NULL || $text == NULL)

Проблемът е следният - когато са попълнени полетата ми изписва, че не са попълнени и така не може да изпълни заявката, а когато махна проверката всичко си се записва в базата дании перфектно. Немога да разбера къде греша, че ми изкарва, че не съм попълнил полетата. Ако някой ми помогне +1 .
 
Ама, че сте... така му давате ако и двете са празни...
Трябва да стане с OR, защото ако едното е празно или другото е празно да го изписва, а не само когато и двете са празни....
Ето ти бачкащ код

Код:
<?php
session_start();
include "config.php";
$username = $_SESSION['username'];
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<?php

/**
 * @author carbonated
 * @copyright 2009
 */
if($username){ 

   if(isset($_POST['submit']))
   {
      if($zaglavie == NULL or $text == NULL)
      {
         echo "<center><b>Моля попълнете всички полета!</b></center>";
      }
      else
      {
	echo "done<br><br><br>$zaglavie<br><br>$text";
	
         $zaglavie = trim(htmlspecialchars(addslashes($_POST['zaglavie'])));
         $text = trim(htmlspecialchars(addslashes($_POST['text'])));
         $avtor = $_SESSION['username'];
         $date = date("m.d.y");
         $sql = "INSERT INTO statii (zaglavie, text, avtor, data) VALUES ('$zaglavie', '$text', '$avtor', '$date')";
         $result = mysql_query($sql) or die (mysql_error());
         echo "<center><b>Статията беше добавена успешно!</b></center>";  
      }
   }
   else
   {
      echo '
      <center><form method="post" action="" style="width: 800px; height: 600px; border: 0px solid; padding: 5px;">
        <fieldset style="border: 1px solid #000000;">
        <legend style="color: #000000; background: #ffffff; border: 1px solid #000000; padding: 2px 6px;">Добави статия</legend><br />
         Заглавие: <input type="text" name="zaglavie" style="width: 600px; border: solid 1px #000000;" /><br />
         Текст: <textarea name="text" rows="30" cols="30" style="width: 600px; height: 500px; margin-top: 15px; margin-left: 24px; border: solid 1px #000000;"></textarea><br />
         <input type="submit" name="submit" value="Добави статия" style="margin-top: 5px; width: 145px;" />
         </fieldset>
        </form></center>';
   
   }}
else
{
   echo "<center><b>Не сте логнат! Ако се опитвате да шмекерувате всичко се записва в лог-а =) !!!</b> <br />";
}


?>
:?: :?:
 
Код:
<?php
session_start();
include "config.php";
$username = $_SESSION['username'];
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<?php

/**
 * @author carbonated
 * @copyright 2009
 */

if($username)
{
   if($_POST['submit'])
   {
      $zaglavie = trim(htmlspecialchars(addslashes($_POST['zaglavie'])));
      $text = trim(htmlspecialchars(addslashes($_POST['text'])));
      if($zaglavie == NULL || $text == NULL)
      {
         echo "<center><b>Моля попълнете всички полета!</b></center>";
      }
      else
      {
         $avtor = $_SESSION['username'];
         $date = date("m.d.y");
         $sql = "INSERT INTO statii (zaglavie, text, avtor, data) VALUES ('$zaglavie', '$text', '$avtor', '$date')";
         $result = mysql_query($sql) or die (mysql_error());
         echo "<center><b>Статията беше добавена успешно!</b></center>";
      }
   }
   else
   {
      echo '
      <center><form method="post" action="addstatiq.php" style="width: 800px; height: 600px; border: 0px solid; padding: 5px;">
        <fieldset style="border: 1px solid #000000;">
        <legend style="color: #000000; background: #ffffff; border: 1px solid #000000; padding: 2px 6px;">Добави статия</legend><br />
         Заглавие: <input type="text" name="zaglavie" style="width: 600px; border: solid 1px #000000;" /><br />
         Текст: <textarea name="text" rows="30" cols="30" style="width: 600px; height: 500px; margin-top: 15px; margin-left: 24px; border: solid 1px #000000;"></textarea><br />
         <input type="submit" name="submit" value="Добави статия" style="margin-top: 5px; width: 145px;" />
         </fieldset>
        </form></center>';
   }
}
else
{
   echo "<center><b>Не сте логнат! Ако се опитвате да шмекерувате всичко се записва в лог-а =) !!!</b> <br />";
}

?>
 
Foxy каза:
Отново ми изписва моля попълнете всички полета :(
Абе момче, някъде другаде ти е грешката, пробвах го кода на локалния хост и си баца перфектно :eek:
 
devent каза:
Код:
<?php
session_start();
include "config.php";
$username = $_SESSION['username'];
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<?php

/**
 * @author carbonated
 * @copyright 2009
 */

if($username)
{
   if($_POST['submit'])
   {
      $zaglavie = trim(htmlspecialchars(addslashes($_POST['zaglavie'])));
      $text = trim(htmlspecialchars(addslashes($_POST['text'])));
      if($zaglavie == NULL || $text == NULL)
      {
         echo "<center><b>Моля попълнете всички полета!</b></center>";
      }
      else
      {
         $avtor = $_SESSION['username'];
         $date = date("m.d.y");
         $sql = "INSERT INTO statii (zaglavie, text, avtor, data) VALUES ('$zaglavie', '$text', '$avtor', '$date')";
         $result = mysql_query($sql) or die (mysql_error());
         echo "<center><b>Статията беше добавена успешно!</b></center>";
      }
   }
   else
   {
      echo '
      <center><form method="post" action="addstatiq.php" style="width: 800px; height: 600px; border: 0px solid; padding: 5px;">
        <fieldset style="border: 1px solid #000000;">
        <legend style="color: #000000; background: #ffffff; border: 1px solid #000000; padding: 2px 6px;">Добави статия</legend><br />
         Заглавие: <input type="text" name="zaglavie" style="width: 600px; border: solid 1px #000000;" /><br />
         Текст: <textarea name="text" rows="30" cols="30" style="width: 600px; height: 500px; margin-top: 15px; margin-left: 24px; border: solid 1px #000000;"></textarea><br />
         <input type="submit" name="submit" value="Добави статия" style="margin-top: 5px; width: 145px;" />
         </fieldset>
        </form></center>';
   }
}
else
{
   echo "<center><b>Не сте логнат! Ако се опитвате да шмекерувате всичко се записва в лог-а =) !!!</b> <br />";
}

?>

Мерси @devent - стана +1
 

Горе