Грешка ли имам в кода или трябва някоя функция да работи ?

taneca

Registered
С този код добавям клипчета в база от Vbox7, но $vid вместо да добавя само съдържанието след play: на линка, добавя целия линк...

Код:
<?php
if($_POST['clips']){
$author = $_SESSION['username'];
$fail = explode(':',$_POST['vid']);
$dir = substr($fail[2],0,2);
$source = file_get_contents($_POST['vid']);
$ime = $_POST['ime'];
$clip="http://media.vbox7.com/s/$dir/$fail[2].flv";
$pic="http://i47.vbox7.com/p/$fail[2]3.jpg";
$number = explode(":", $_POST['vid']);
$i = substr($number[2],0 ,2);
$vid1 = "http://media.vbox7.com/s/$i/$number[2].flv";
if(@fopen($vid1, "r"))
{
$vid="$vid1";
{
$vid = "$number[2]";
}
}
$checkurl = mysql_query("SELECT vid FROM clips WHERE vid='$_POST[vid]'");
if ($ime>0) {
echo "Този клип вече е бил добавян";
}
   if ($ime == NULL || $vid == NULL) {
   echo '<br><font color="red"><b>Не сте попълнили всички полета !</b></font>';
   } else {
if(eregi('vbox7.com',$_POST['vid']) && isset($_POST['clips'])){
$query = mysql_query("INSERT INTO `clips` (ime, vid, pic, id, author) VALUES('$ime','$vid','$pic','NULL', '$author')");
{
$sql3 = "UPDATE users SET points = points +2 where username='$author';";
if(mysql_query($sql3) != "")
echo "Успешно добави клип<br><a href=\"index.php?p=klips\">Към галерията</a>";?><?
}
}
}
}
?>

Някой ми каза, че трябвало някаква функция да работи на хоста, но тези от хоста ме питат как се казва тази функция ?
 
$fail = explode(':',$_POST['vid']);'

Махни го еxplode-то да стане само $fail = $_POST['vid']; и после трябва да смениш този ред
$clip="http://media.vbox7.com/s/$dir/$fail[2].flv";
на $clip="http://media.vbox7.com/s/$dir/$fail.flv";
а да и на този ред също

$dir = substr($fail[2],0,2);

на $dir = substr($fail,0,2);
Мисля, че за това говориш.
 
Пак записва целия линк в полето $vid

Явно трябва някоя функция от хоста, за да работи правилно кода...

ЕДИТ: Също така по този начин дето ми каза не се записва пътя на картинките както трябва...
 
Пропуснах да кажа, че първоначалния код дето съм дал работи на локалхоста, но на платения не...
Искам $vid да записва в полето на таблицата само цифрите след двете точки ! Пример:
http://vbox7.com/play:c9f3454d (избрах го произволно)
$vid = c9f3454d
Ако си ме разбрал, пиши :) някой ми каза, че да работи това нещо, трябвало някаква функция да е пусната от хоста.
 
Сега ми го записа пък така //vbox7.com/play

ЕДИТ: Оправих се ! Просто на $a сложих стойност 2:

$vid = $a[2];

Благодаря ти, +1
 

Back
Горе