Неработещ код

dkalinkov

Registered
<?php

include('include_fns.php');
include('../header.php');
$conn = db_connect();

if (!check_user()) {
echo 'FORBIDDEN';
}
else {

$ime=$_POST['galime'];
$tag=$_POST['galtag'];

$sql = "INSERT into galleries
(name, tag) values
('$ime', '$tag')";

$qry = "select * from galleries";
$resu = mysql_query($qry, $conn);
$row = mysql_fetch_array($resu);
$nali4na_gal = $row['name'];
$nali4na_tag = $row['tag'];

if (!$ime || !$tag)
{ echo '<center>Попълни полетата!';
echo '<br><a href="galeriqadd.php">Назад</a></center>';
include('footer.php');
exit; }
if(($ime == $nali4na_gal) || ($tag == $nali4na_tag))
{
echo '<center>Името и тагът трябва да са уникални!';
echo '<br><a href="galeriqadd.php">Назад</a></center>';
include('footer.php');
exit;
}

else
$result = mysql_query($sql, $conn);



if(!$result) {
print "Грешка при <pre>$sql</pre>";
print mysql_error();
exit;
}

header('Location: '.$HTTP_SERVER_VARS['HTTP_REFERER']);

} ?>

Защо този код неми работи? Прескача if и отива направо на else!!!
 
Защото има exit; } преди if-а , а така няма спазено условие следкато му е зададен край .
 
Ама тоя exit е за предния if. Всичко е наред само дето if - ът в червено него изпълнява и ми добавя галерий с имена, дето ги има!
 
Код:
<?php

include('include_fns.php');
include('../header.php');
$conn = db_connect();

if (!check_user()) {
echo 'FORBIDDEN';
}
else {

$ime=$_POST['galime'];
$tag=$_POST['galtag'];

$sql = "INSERT into galleries
(name, tag) values
('$ime', '$tag')";

$qry = "select * from galleries";
$resu = mysql_query($qry, $conn);
$row = mysql_fetch_array($resu);
$nali4na_gal = $row['name'];
$nali4na_tag = $row['tag'];

if (!$ime || !$tag)
{ echo '<center>Попълни полетата!';
echo '<br><a href="galeriqadd.php">Назад</a></center>';
include('footer.php');
exit; }

if(($ime == $nali4na_gal) || ($tag == $nali4na_tag))
{
echo '<center>Името и тагът трябва да са уникални!';
echo '<br><a href="galeriqadd.php">Назад</a></center>';
include('footer.php');
exit;
}
else {
$result = mysql_query($sql, $conn); }


if(!$result) {
print "Грешка при <pre>$sql</pre>";
print mysql_error();
exit;
}

header('Location: '.$HTTP_SERVER_VARS['HTTP_REFERER']);

} ?>
 
Малко промяна по структурата и стила на кода:
Код:
<?php
include('include_fns.php');
include('../header.php');
$conn = db_connect();

if (!check_user()) { echo 'FORBIDDEN'; }
else {
	$ime=$_POST['galime'];
	$tag=$_POST['galtag'];
	if($check = mysql_fetch_assoc(mysql_query("SELECT name FROM galleries WHERE name = '$ime' OR tag = '$tag'"))) {
		echo "Името и тагът трябва да са уникални!";
		include("footer.php");
	} else {
	if(empty($ime) || empty($tag)) {
		echo "Попълни полетата";
		include("footer.php");
	} else {
		$res = mysql_query("INSERT into galleries (`name`,`tag`) values ('$ime', '$tag')";);
		if(!$res) { echo mysql_error(); }
		else { header('Location: '.$HTTP_SERVER_VARS['HTTP_REFERER']); }
	}
}
?>
 
devent каза:
Малко промяна по структурата и стила на кода:
Код:
<?php
include('include_fns.php');
include('../header.php');
$conn = db_connect();

if (!check_user()) { echo 'FORBIDDEN'; }
else {
	$ime=$_POST['galime'];
	$tag=$_POST['galtag'];
	if($check = mysql_fetch_assoc(mysql_query("SELECT name FROM galleries WHERE name = '$ime' OR tag = '$tag'"))) {
		echo "Името и тагът трябва да са уникални!";
		include("footer.php");
	} else {
	if(empty($ime) || empty($tag)) {
		echo "Попълни полетата";
		include("footer.php");
	} else {
		$res = mysql_query("INSERT into galleries (`name`,`tag`) values ('$ime', '$tag')";);
		if(!$res) { echo mysql_error(); }
		else { header('Location: '.$HTTP_SERVER_VARS['HTTP_REFERER']); }
	}
}
?>

Ами не се получава. Пак мога да добавя галерия със същото име!

Използвам кода дето съм дал в първия пост и във форма за регистрация, но там си работи перфектно :roll:
 
@devent

Да получи се с твоя код. Преди малко го бях сейфал другаде и затова не стана. Мерси +1

ПС. Ако може да ми обясниш защо моя код не проработи :roll:
 
В твоя код ти селектираш всичко от galleries т.е всички галерии, при което $row['ime'] определено не е 1 име, даже не знам какво би се извело. В този случай условието винаги не е вярно. В моя код съм сложил WHERE клауза, която да проверява в заявката за име и таг.
 
Да, кода ти го разбрах, но това нещо съм го ползвал и другаде и се получи. Но щом казваш друго предполагам че то е вярното.
Мерси все пак :?: :?: :wink:
 

Горе