Помощ с една if функция

taneca

Registered
Ето го кода:
PHP:
<title><?php echo$url; ?> - добави епизод</title>
<?php 
if (eregi("page/add-klip/index.php", $_SERVER['SCRIPT_NAME'])) { die ("Access Denied"); }
if(!$_SESSION['username'])
{
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=index.php?p=error\">";
}
?>
<div class="warning" style="width:400px;">Правила!</div>
<br>
<form method="POST">
<select name="cat">
<option value="podprikritie">* Под прикритие</option>
<option value="thesimpsons">* Семейство Симпсън</option>
<option value="malcolm">* Малкълм</option>
<option value="married">* Женени с деца</option>
<option value="twomen">* Двама мъже и половина</option>
</select><br><br>
Сезон: <input type="text" name="sezon"><br><br>
Епизод: <input type="text" name="epizod"><br><br>
Линк: <input type="text" name="vid"><br><br>
<input type="submit" class="btn" name="serials" value="Добави">
</form>
<?php
if($_POST['serials']){
$author = $_SESSION['username'];
$fail = explode(':',$_POST['vid']);
$dir = substr($fail[2],0,2);
$source = file_get_contents($_POST['vid']);
$cat = $_POST['cat'];
$sezon = $_POST['sezon'];
$epizod = $_POST['epizod'];
$number = explode(":", $_POST['vid']);
$i = substr($number[2],0 ,2);
$a = explode(":",$_POST['vid']);
$vid = $a[2];

$checkurl = mysql_query("SELECT cat and sezon and epizod FROM serials WHERE vid='$_POST[vid]' and sezon='$_POST[sezon]' and epizod='$_POST[epizod]'");
if ($cat>0) {
echo "Този епизод вече е бил добавян";
}
   if ($sezon == NULL || $epizod == NULL || $vid == NULL) {
   echo '<br><font color="red"><b>Не сте попълнили всички полета !</b></font>';
   } else {
if(eregi('vbox7.com',$_POST['vid']) && isset($_POST['serials'])){
$query = mysql_query("INSERT INTO `serials` (cat, sezon, epizod, vid, author) VALUES('$cat','$sezon','$epizod','$vid', '$author')");
{
echo "Успешно добави епизода !";?>
<?php
}
}
}
}
?>
Искам ако се добави епизод, който в бд вече го има записан, тоест ако е един и същи сериал + един и същ сезон + един и същ епизод... да изкарва грешка, че този епизод вече го има в бд :) Дано сте ме разбрали какво искам да направя, аз се мъчих и не направих нищо...
 
Така:
PHP:
<title><?php echo$url; ?> - добави епизод</title>
<?php
if (eregi("page/add-klip/index.php", $_SERVER['SCRIPT_NAME'])) { die ("Access Denied"); }

if(!$_SESSION['username'])
{
	echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=index.php?p=error\">";
}
?>
<div class="warning" style="width:400px;">Правила!</div>
<br />
<form method="post" action="">
	<select name="cat">
		<option value="podprikritie">* Под прикритие</option>
		<option value="thesimpsons">* Семейство Симпсън</option>
		<option value="malcolm">* Малкълм</option>
		<option value="married">* Женени с деца</option>
		<option value="twomen">* Двама мъже и половина</option>
	</select>
	<br /><br />
	Сезон: <input type="text" name="sezon"><br /><br />
	Епизод: <input type="text" name="epizod"><br /><br />
	Линк: <input type="text" name="vid"><br /><br />
	<input type="submit" class="btn" name="serials" value="Добави" />
</form>
<?php
if($_POST['serials'])
{
	$author = $_SESSION['username'];
	$fail = explode(':',$_POST['vid']);
	$dir = substr($fail[2],0,2);
	$source = file_get_contents($_POST['vid']);
	$cat = $_POST['cat'];
	$sezon = $_POST['sezon'];
	$epizod = $_POST['epizod'];
	$number = explode(":", $_POST['vid']);
	$i = substr($number[2],0 ,2);
	$a = explode(":",$_POST['vid']);
	$vid = $a[2];

	$checkurl = mysql_query("SELECT cat, sezon, epizod FROM serials WHERE vid='$_POST[vid]' AND sezon='$_POST[sezon]' AND epizod='$_POST[epizod]'")
	
	$check = mysql_query("SELECT id FROM serials WHERE cat = '$cat' AND sezon = '$_POST[sezon]' AND epizod = '$_POST[epizod]'");
	
	if ($cat > 0) 
	{
		echo "Този епизод вече е бил добавян";
	}
	   
	if ($sezon == NULL || $epizod == NULL || $vid == NULL) 
	{
		echo '<br><font color="red"><b>Не сте попълнили всички полета !</b></font>';
	}
	elseif (mysql_num_rows($check) > 0)
	{
		echo '<br><font color="red"><b>Този епизод вече е бил добавян !</b></font>';
	}
	else 
	{
		if(eregi('vbox7.com', $_POST['vid']) && isset($_POST['serials']))
		{
			$query = mysql_query("INSERT INTO `serials` (cat, sezon, epizod, vid, author) VALUES('$cat','$sezon','$epizod','$vid', '$author')");
			{
				echo "Успешно добави епизода !";
			}
		}
	}
}
?>
 
Не става, нещо си объркал синтаксиса или нещо подобно. защото не ми излиза страницата :)

EDIT: Беше забравил точката и запетаята ( ; ) след заявката :)
 
Само да добавя:

Замени eregi със preg_match. Eregi е премахната от новите версии на php.

Замени
PHP:
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=index.php?p=error\">";

със
PHP:
header('Location: index.php?p=error'); exit;

Внимавай преди header(); да нямаш output информация за показване.

http://web-tourist.net/login/login/view.php?st=3418

Когато работиш със базата данни, входната инфорамция винаги е валидирай, според това което очакваш да се въведе.
 

Back
Горе