като сложа кода в друг файл не работи

JimBeam

Registered
значи кода в червено си работи, но като го сложа в този код не работи трябва да добави +1 в videos поле->views и след това да не добавя +1 къде е проблема от снощи си играя цяла вечер и не става къде е грешката
if (isset($_GET['id']) || isset($_GET['del']))
{
$id_get = intval($_GET['id']);
$sql = "SELECT * FROM videos WHERE id = '$id_get'";
$do = @mysql_query($sql);
$down = @mysql_fetch_array($do);
$id = $down['id'];
$pic = $down['pic'];
$link = $down['link'];
$from = $down['from'];
$views = $down['views'];
$download = $down['download'];
$size = $down['size'];



$ip = $_SERVER["REMOTE_ADDR"];
$time = time();

$sql_v = @mysql_query("SELECT time FROM ip_videos_views WHERE ip='$ip'");
if($down = @mysql_fetch_array($sql_v)) {
$time_views= $down['time'] + (TIME_VIDEOS_VIEWS * 60);
if ($time_views > $time) { echo ""; }
else {
$sql_views = @mysql_query("UPDATE ip_videos_views SET time='$time' WHERE ip='$ip'");

@mysql_query("UPDATE videos SET views=views+1 WHERE id='$id_get'") or die(mysql_error());

}
}
else {
$sql_v = @mysql_query("INSERT into `ip_videos_views`(`ip`,`time`) VALUES ('$ip','$time')");

@mysql_query("UPDATE videos SET views=views+1 WHERE id='$id_get'") or die(mysql_error());

}



if (intval($_GET['del'])) {
$id = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) as `num` FROM `videos` WHERE `id`='(int)".$_GET['del']."';"));
if ($id['num'] > 0) {
@mysql_query("DELETE FROM `videos` WHERE `id`='(int)".$_GET['del']."';");
@header("location: ".$_SERVER["HTTP_REFERER"]);
}
}

else {

if ( mysql_num_rows($do) <= 0 )
die('Няма такъв клип. <a href="index.php" "style="text-decoration: none;">Назад</a>');

echo "<b>$artist</b> - $name</b>"; ?>

<p id="player1">
<strong></br></br>You need to upgrade your Flash Player to version 9 or newer.</br></br></br></strong></p>
<script type="text/javascript">
var s1 = new SWFObject("<?php echo "$site_url"; ?>/files/videos/player/video.swf?imagePath=<?php echo $pic ?>&videoPath=<?php echo $link ?>&screencolor=0xFFFFFF&logo=&autoStart=false&volAudio=50&newWidth=490&newHeight=385&disableMiddleButton=false&playSounds=true&soundBarColor=0xA9A9A9&barColor=0xA9A9A9&barShadowColor=0xffffff&subbarColor=0xffffff",
"sotester", "480", "380", "9", "#000000");

s1.addParam("allowfullscreen","true");
s1.addVariable("autostart","false");
s1.addVariable("startvolume","100");
s1.addVariable("video","?videoPath=<?php echo $link ?>");
s1.write("player1");
</script>

<?php
include 'vote.php';
echo "<br />";
echo "<b>Описание: </b> $description <br /> ";
echo "<b>Размер: </b> $size <br /> ";
echo "<b>Видян: </b>";
echo number_format("$views", 0, '', ',');
echo " <br />";

$sqlactivedownload = @mysql_query("SELECT * FROM videos WHERE activedownload='0' and id='$id_get'");
if( @mysql_num_rows($sqlactivedownload)==1){
echo "<br />Този клип не може да се изтегли.";} else {

echo "<a href='get/$id' style='text-decoration: none;'> Изтегли </a>";
echo "[";
echo number_format("$download", 0, '', ',');
echo "]";
}
}
}
?>
 
Мога да се хвана на бас, че...
1. Ако махнеш всичките @ които подтискат грешките ще разбереш причината поради която не ти работи кода.
2. Ако махнеш всичките @ ще работи и по-бързо...

Оператора "@" не се слага просто така... можеш да го ползваш за да подтиснеш някоя грешка, но да я замениш с твоя. Също така този оператор когато се използва, той прави промени в памета където са записани всички стойности на php.ini. Толкова ли е сложно да напишеш нещо от сорта на :

Код:
try {
        if(!mysql_query('SELECT * FROM `jik-tak`')){
              throw new Exception('Error in query #1');
        }
} catch (Exception $e){
      echo $error->getMessage();
      die();
}

@ този оператор не решава проблема, само забавя изпълнението на програмата.
 
аха, не знаех... махнах ги, но пак си е така моял ви помогнете ми цяла нощ си играх за кода работи но като го сложих тук не става :cry:
 
JimBeam каза:
аха, не знаех... махнах ги, но пак си е така моял ви помогнете ми цяла нощ си играх за кода работи но като го сложих тук не става :cry:

Ще е хубаво да се научиш да дебъгваш кода си.
Защо не пробваш ?
Като например сложи си на mysql_query(...) or die (mysql_error());
Да видим какво ще се случи...
 
сложих и махнах всички "@" и пак не и работи този код това ме съмнява дали е защото кода е view.php?id=1 а аз го пробвах преди само в index.php :lol: но ме съмнява да е от това
 
Код:
$id = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) as `num` FROM `videos` WHERE `id`='(int)".$_GET['del']."';"));
if ($id['num'] > 0) {
@mysql_query("DELETE FROM `videos` WHERE `id`='(int)".$_GET['del']."';");

Искаш да кажеш, че това тука не ти гърми ?

Много ама ужасно много ме съмнява, че не ти гърми....

Код:
"SELECT COUNT(*) as `num` FROM `videos` WHERE `id`='(int)".$_GET['del']."';"

Трябва да стане така :

Код:
'SELECT COUNT(*) as `num` FROM `videos` WHERE `id`='. (int)$_GET['del']

Направи това под всяка заявка за да видиш какво се случва с нея :

Код:
mysql_query("DELETE FROM `videos` WHERE `id`='(int)".$_GET['del']."';"); 
print_r("DELETE FROM `videos` WHERE `id`='(int)".$_GET['del']."';");
 
оо btw този код за изтриването не трябва да е там.. забравил съм да го махна ... сега го махнах този код, но да се върнем към другия проблем защо не ми работи кода :roll:
 

Back
Горе