Upload система с одобрение на файла...

JeRrY

Registered
Здравейте!

Търсих за такава система, но не мога да намеря, знам, че има сигурно, но не мога да намеря ? Та, може ли някой да ми даде такава система, ъплоуд система с одобрение на файла.
 
Предполагам, защото ще ти свърши работа.. сега го драснах и ако има дефект ще го оправяме

config.php
Код:
<?php
$dbuser = "USER";
$dbpass = "PASS";
$dbname = "DBNAME";
$dbhost = "localhost";
$connection = mysql_connect("$dbhost", "$dbuser", "$dbpass") or die("Сайтът не може да се свърже към базата данни 1");
$db = mysql_select_db("$dbname",$connection)or die("Сайтът не може да се свърже към базата данни 2");
?>

sql.sql
Код:
CREATE TABLE `table` (
`id` int(11) NOT NULL auto_increment,
`ime` varchar(225) NOT NULL,
`odobren` varchar(30) NOT NULL default 'ne',
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;

upload.php
Код:
<?php
include ("config.php");
$fail=basename(__FILE__);
$path="директория за upload";
echo "<form method='POST' action='$fail?page=go' enctype=\"multipart/form-data\">";
echo "Избери файл: <INPUT TYPE='file' NAME='file'>   ";
echo "<INPUT TYPE='submit' name='submit'  VALUE='Качи'><br>";
echo "</form>";
if($_GET['page'] == "go"){
move_uploaded_file($_FILES['file']["tmp_name"], "$path" . $_FILES['file']['name']);
$file = $_FILES['file']['name'];
$ime = "$path/$file";
$odobren = "ne";
mysql_query("INSERT INTO `table` (ime, odobren) VALUES ('$ime', '$odobren')")or die(mysql_error()."<br />Грешка: ".__LINE__); 
}
?>

index.php
Код:
<?php
include ("config.php");
$query = mysql_query("SELECT * FROM `table` WHERE odobren='da'  ORDER BY id DESC")or die(mysql_error()."<br />Грешка: ".__LINE__);
while($row = mysql_fetch_array($query)){ 
$ime = $row['ime'];
echo "<a href='$ime'>$ime</a>";
}
?>

admin/index.php
Код:
<?php
include ("../config.php");
$query = mysql_query("SELECT * FROM `table` WHERE odobren='ne' ORDER BY id DESC")or die(mysql_error()."<br />Грешка: ".__LINE__);
while($row = mysql_fetch_array($query)){
$id = $row['id'];
$ime = $row['ime'];
echo "<center><font color='red'>Одобри файловете</font></center>
<br><br>
<a href='edit.php?id=$id'>$ime - ПРОМЕНИ</a><br>";
}
?>

admin/edit.php
Код:
<?php
include ("config.php");
function secure($var) {
return addslashes(htmlspecialchars($var));
}

$id = secure($_GET['id']); 
$query = mysql_query("SELECT * from `table` WHERE id = '$id'")or die(mysql_error()."<br />Грешка: ".__LINE__); 
$row = mysql_fetch_array($query);
$odobren = $row['odobren'];
echo "<form method='POST'><center>
<table border='0' style'width: 500px;'>
<tr>
<td align='right'>Одобри:</td>
<select name="odobren" style="width: 175px">
<option value='da'>да</option>
<option value='ne'>не</option>
</select>
</tr>
</table>
</center>
</form>";
}
else {
$odobren = trim(strip_tags(addslashes($_POST['odobren'])));
$update = mysql_query("UPDATE `table` SET odobren = '$odobren' WHERE id = '$id'")or die(mysql_error()."<br />Грешка: ".__LINE__); 
echo "Поздравления..";
}}
else {
echo 'грешка в кода..';
}
?>
 
Дава ми " parse error " на този ред " else { " след " </form> " . Иначе имаще и други грешки, но аз ги оправих ;]
 
Така? Плюс това, както казах не съм го тествал и е напълно нормално да има грешки.

Код:
 <?php
include ("config.php");
function secure($var) {
return addslashes(htmlspecialchars($var));
}

$id = secure($_GET['id']);
$query = mysql_query("SELECT * from `table` WHERE id = '$id'")or die(mysql_error()."<br />Грешка: ".__LINE__);
while($row = mysql_fetch_array($query)){
$odobren = $row['odobren'];
echo "<form method='POST'><center>
<table border='0' style'width: 500px;'>
<tr>
<td align='right'>Одобри:</td>
<select name="odobren" style="width: 175px">
<option value='da'>да</option>
<option value='ne'>не</option>
</select>
</tr>
</table>
</center>
</form>";
$ok = secure($_POST['submit']);
$odobren = secure($_POST['odobren']);

if (isset($ok))
{
$odobren = trim(strip_tags(addslashes($_POST['odobren'])));
$update = mysql_query("UPDATE `table` SET odobren = '$odobren' WHERE id = '$id'")or die(mysql_error()."<br />Грешка: ".__LINE__);
echo "Поздравления..";
}
}
else {
echo 'грешка в кода..';
}
?>
 
Edit.php - не съм виждал по зле написан код.
То има else , без да има if , има скоба } за затваряне на if , а то няма if.
Боже господи........
Би трябвало сега вече да работи:

<?php
include ("config.php");
function secure($var) {
return addslashes(htmlspecialchars($var));
}
$id = secure($_GET['id']);
if (isset($id) and !empty($id))
{
$query = mysql_query("SELECT * from `table` WHERE id = '$id'")or die(mysql_error()."<br />Грешка: ".__LINE__);
$row = mysql_fetch_array($query);
$odobren = $row['odobren'];
echo "<form method='POST'><center>
<table border='0' style'width: 500px;'>
<tr>
<td align='right'>Одобри:</td>
<td>
<select name='odobren' style='width: 175px'>
<option value='da'>да</option>
<option value='ne'>не</option>
</select>
</td>
<td><input type='submit' name='submit' value='Готово!'></td>
</tr>
</table>
</center>
</form>";
$ok = secure($_POST['submit']);
$odobren = secure($_POST['odobren']);

if (isset($ok))
{
$odobren = trim(strip_tags(addslashes($_POST['odobren'])));
$update = mysql_query("UPDATE `table` SET odobren = '$odobren' WHERE id = '$id'")or die(mysql_error()."<br />Грешка: ".__LINE__);
echo "Поздравления..";
}
}
else {
echo 'грешка в кода..';
}
?>
 
Мда, стана, мерси много :) А как бих добавил да има описание и име на файл ?
 
sql

CREATE TABLE `table` (
`id` int(11) NOT NULL auto_increment,
`filename` varchar(225) NOT NULL,
`ime` TEXT NOT NULL,
`opisanie` TEXT NOT NULL,
`odobren` varchar(30) NOT NULL default 'ne',
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;


upload.php
<?php
include ("config.php");
$fail=basename(__FILE__);
$path="директория за upload";
echo "<form method='POST' action='$fail?page=go' enctype=\"multipart/form-data\">";
echo "Избери файл: <INPUT TYPE='file' NAME='file'><br>
Име на файл:<INPUT TYPE='text' NAME='ime'><br><br>
<textarea name='opisanie'>Описание</textarea><br>";
echo "<INPUT TYPE='submit' name='submit' VALUE='Качи'><br>";
echo "</form>";
if($_GET['page'] == "go"){
move_uploaded_file($_FILES['file']["tmp_name"], "$path" . $_FILES['file']['name']);
$file = $_FILES['file']['name'];
$ime = "$path/$file";
$imefail = $_POST['ime'];
$odobren = "ne";
$opisanie = $_POST['opisanie'];
mysql_query("INSERT INTO `table` (filename,ime,opisanie,odobren) VALUES ('$ime','$imefail','$opisanie','$odobren')")or die(mysql_error()."<br />Грешка: ".__LINE__);
}
?>


index.php
<?php
include ("config.php");
$query = mysql_query("SELECT * FROM `table` WHERE odobren='da' ORDER BY id DESC")or die(mysql_error()."<br />Грешка: ".__LINE__);
while($row = mysql_fetch_array($query)){
$file = $row['filename'];
$ime = $row['ime'];
$opisanie = $row['opisanie'];
echo "<table>";
echo "<tr><td>Файл:</td><td>Описание:</td></tr>";
echo "<tr><td><a href='$file'>$ime</a></td><td>$opisanie</td></tr>";
echo "</table><br>";
}
?>


edit.php
<?php
include ("config.php");
function secure($var) {
return addslashes(htmlspecialchars($var));
}
$id = secure($_GET['id']);
if (isset($id) and !empty($id))
{
$query = mysql_query("SELECT * from `table` WHERE id = '$id'")or die(mysql_error()."<br />Грешка: ".__LINE__);
$row = mysql_fetch_array($query);
$odobren = $row['odobren'];
$opisanie = $row['opisanie'];
$ime = $row['ime'];
echo "<form method='POST'><center>
<table border='0' style'width: 500px;'>
<tr>
<td>Име:</td>
<td><input type='text' name='ime' value='$ime'></td>
</tr>
<tr>
<td>Одобри:</td>
<td>
<select name='odobren' style='width: 175px'>
<option value='da'>да</option>
<option value='ne'>не</option>
</select>
</td>
</tr>
<tr>
<td>Описание:</td>
<td>
<textarea name='opisanie'>$opisanie</textarea>
</td>
</tr>
</table> <br>
<input type='submit' name='submit' value='Готово!'>
</center>
</form>";
$ok = secure($_POST['submit']);
$odobren = secure($_POST['odobren']);

if (isset($ok))
{
$odobren = trim(strip_tags(addslashes($_POST['odobren'])));
$update = mysql_query("UPDATE `table` SET odobren='$odobren', ime='$ime', opisanie='$opisanie' WHERE id = '$id'")or die(mysql_error()."<br />Грешка: ".__LINE__);
echo "Поздравления..";
}
}
else {
echo 'грешка в кода..';
}
?>

Не съм ги тествал , но би трябвало да работи без грешка ;)
 
Мда, стана си всичко. А ако помогнеш и за картинка да се добавя и дата на добавяне ( и категория, ако имаш време :shock: ), ще те черпя една голяма " +1 точка :D ". ( все пак, нали за това пиша, за да се науча ;] )
 
Нали го гледам точно как е направен, за да го схвана и да го разбера и да не питам после пак :evil:
 
@sharky_design , не му давам готов код.
Просто оправих кода който му е дал @nom3r1
А това дали той е дал готов код - немога да кажа.
 
sql
CREATE TABLE `table` (
`id` int(11) NOT NULL auto_increment,
`filename` varchar(225) NOT NULL,
`ime` TEXT NOT NULL,
`opisanie` TEXT NOT NULL,
`pic` TEXT NOT NULL,
`cat` TEXT NOT NULL,
`date` varchar(10) NOT NULL,
`odobren` varchar(30) NOT NULL default 'ne',
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;


cat.php
<select name='cat'>

<option>Cat1</option>
<option>Cat2</option>
<option>Cat3</option>

</select>

upload.php
<?php
include ("config.php");
$fail=basename(__FILE__);
$path="директория за upload";
echo "<form method='POST' action='$fail?page=go' enctype=\"multipart/form-data\">";
echo "Избери файл: <INPUT TYPE='file' NAME='file'><br>
Име на файл:<INPUT TYPE='text' NAME='ime'><br>
Картинка: <input type='text' name='pic'><br>
Категория: ";
include ("cat.php");
echo "<br><br>
<textarea name='opisanie'>Описание</textarea><br>";
echo "<INPUT TYPE='submit' name='submit' VALUE='Качи'><br>";
echo "</form>";
if($_GET['page'] == "go"){
move_uploaded_file($_FILES['file']["tmp_name"], "$path" . $_FILES['file']['name']);
$file = $_FILES['file']['name'];
$ime = "$path/$file";
$imefail = $_POST['ime'];
$odobren = "ne";
$opisanie = $_POST['opisanie'];
$pic = $_POST['pic'];
$cat = $_POST['cat'];
$date = date("d.m.Y");
mysql_query("INSERT INTO `table` (filename,ime,opisanie,pic,cat,date,odobren) VALUES ('$ime','$imefail','$opisanie','$pic','$cat','$date','$odobren')")or die(mysql_error()."<br />Грешка: ".__LINE__);
}
?>


index.php
<?php
include ("config.php");
$query = mysql_query("SELECT * FROM `table` WHERE odobren='da' ORDER BY id DESC")or die(mysql_error()."<br />Грешка: ".__LINE__);
while($row = mysql_fetch_array($query)){
$file = $row['filename'];
$ime = $row['ime'];
$opisanie = $row['opisanie'];
$pic = $row['pic'];
$cat = $row['cat'];
$date = $row['date'];
echo "<table>";
echo "<tr><td>Файл:</td><td>Описание:</td><td>Категория:</td><td>Снимка</td><td>Добавен на:</td></tr>";
echo "<tr><td><a href='$file'>$ime</a></td><td>$opisanie</td><td>$cat</td><td><img src='$pic' width='50' height='50'></td><td>$date</td></tr>";
echo "</table><br>";
}
?>


edit.php
<?php
include ("config.php");
function secure($var) {
return addslashes(htmlspecialchars($var));
}
$id = secure($_GET['id']);
if (isset($id) and !empty($id))
{
$query = mysql_query("SELECT * from `table` WHERE id = '$id'")or die(mysql_error()."<br />Грешка: ".__LINE__);
$row = mysql_fetch_array($query);
$odobren = $row['odobren'];
$opisanie = $row['opisanie'];
$ime = $row['ime'];
$pic = $row['pic'];
$cat = $row['cat'];
$date = $row['date'];
echo "<form method='POST'><center>
<table border='0' style'width: 500px;'>
<tr>
<td>Име:</td>
<td><input type='text' name='ime' value='$ime'></td>
</tr>
<tr>
<td>Одобри:</td>
<td><select name='odobren' style='width: 175px'><option value='da'>да</option> <option value='ne'>не</option></select> </td>
</tr>
<tr>
<td>Описание:</td>
<td>
<textarea name='opisanie'>$opisanie</textarea>
</td>
</tr>
<tr>
<td>Снимка:</td>
<td>
<input type='text' name='pic' value='$pic'>
</td>
</tr>
<tr>
<td>Категория:</td>
<td>
";
include ("cat.php");
echo "
</td>
</tr>
<tr>
<td>Добавен на:</td>
<td>
<input type='text' name='date' value='$date'>
</td>
</tr>
</table> <br>
<input type='submit' name='submit' value='Готово!'>
</center>
</form>";
$ok = secure($_POST['submit']);
$odobren = secure($_POST['odobren']);
$nopisanie = secure($_POST['opisanie']);
$nime = secure($_POST['ime']);
$npic = secure($_POST['pic']);
$ncat = secure($_POST['cat']);
$ndate = secure($_POST['cat']);
if (isset($ok))
{
$odobren = trim(strip_tags(addslashes($_POST['odobren'])));
$update = mysql_query("UPDATE `table` SET odobren='$odobren', ime='$nime', opisanie='$nopisanie', pic='$npic', cat='$ncat', date='$ndate' WHERE id = '$id'")or die(mysql_error()."<br />Грешка: ".__LINE__);
echo "Поздравления..";
}
}
else {
echo 'грешка в кода..';
}
?>



Я виж сега.
 
Мда, става, но като се качи файла в таблицата и в edit.php не се запазват данните за файла, само файла е там, а описание, име на файла, картинка не се записват в таблицата, въобще ги няма ?
 
Сигурен ли си че новият sql си го сложил ?

sql
CREATE TABLE `table` (
`id` int(11) NOT NULL auto_increment,
`filename` varchar(225) NOT NULL,
`ime` TEXT NOT NULL,
`opisanie` TEXT NOT NULL,
`pic` TEXT NOT NULL,
`cat` TEXT NOT NULL,
`date` varchar(10) NOT NULL,
`odobren` varchar(30) NOT NULL default 'ne',
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;
 
А сега стана, мда. А как от личния компютър да се направи да се качва снимка. Както файл се качва с " Разглеждане... ", така и картинка ?
 
Ако има грешки казвай.
На моят localhost пробвах само кода за ъплоуд на снимката и видях че работи.
Но като го вградих в другия незнам да не съм объркал нещо , затова ако има грешки ще кажеш.

upload.php
<?php
include ("config.php");
$fail=basename(__FILE__);
$path="директория за upload";
$path2="директория за upload на снимка";
echo "<form method='POST' action='$fail?page=go' enctype=\"multipart/form-data\">";
echo "Избери файл: <INPUT TYPE='file' NAME='file'><br>
Име на файл:<INPUT TYPE='text' NAME='ime'><br>
Картинка: <input type='file' name='pic'><br>
Категория: ";
include ("cat.php");
echo "<br><br>
<textarea name='opisanie'>Описание</textarea><br>";
echo "<INPUT TYPE='submit' name='submit' VALUE='Качи'><br>";
echo "</form>";
if($_GET['page'] == "go")
{

$a = $_FILES['pic']['name'];
$b = explode(".",$a);
$c = count($b);
$d = $b[$c-1];
$e = array(1 => "PNG", 2 => "GIF", 3 => "JPG");
$formata = strtolower($e[1]);
$formatb = strtolower($e[2]);
$formatc = strtolower($e[3]);
$formatd = $e[1];
$formate = $e[2];
$formatf = $e[3];
if ($d == $formata or $d == $formatb or $d == $formatc or $d == $formatd or $d == $formate or $d == $formatf)
{
move_uploaded_file($_FILES['file']["tmp_name"], "$path" . $_FILES['file']['name']);
$filehash = str_shuffle(md5($_FILES['pic']['name']));
$filea = $filehash.".$d";
move_uploaded_file($_FILES['pic']["tmp_name"], $path2.$filea );
$file = $_FILES['file']['name'];
$ime = "$path/$file";
$imefail = $_POST['ime'];
$odobren = "ne";
$opisanie = $_POST['opisanie'];
$pic = "$path2/$filea";
$cat = $_POST['cat'];
$date = date("d.m.Y");
mysql_query("INSERT INTO `table` (filename,ime,opisanie,pic,cat,date,odobren) VALUES ('$ime','$imefail','$opisanie','$pic','$cat','$date','$odobren')")or die(mysql_error()."<br />Грешка: ".__LINE__);
}
else
{
echo "Картинката е непозволен формат.";
}
}
?>
 
Всичко е шест :?: Мерси много, просто незнам как да ти се отблагодаря. ( +1 много ясно, ако можех и повече, повече щях да дам.) Мерси още веднъж много. :)
 

Back
Горе