PDA

View Full Version : گفتگو: کمک برای حل یک سری مشکل در طراحی با php



فرزاد صبوری
پنج شنبه 19 دی 1392, 15:35 عصر
با سلام
من دارم روی یه پروژه ای کار میکنم به صورت کاملا مبتدی ولی با علاقه دارم پی اچ پی هم یاد میگیرم هم یه سایت کوچیک میسازم
یک سری مشکلات دارم اگر با قوانین این بخش همخوانی داره
میخوام این پست صفحه رو برای پرسیدن سوال های خودم ایجاد کنم و از استادان عزیز کمک بگیرم
اولین سوالم هم این هست
میخوام برای قسمت ارسال پست چند قسمت اپلود عکس انتخاب کنم

عنوان صفحه
توضیحات
اپلود عکس تک browse
اپلود چند عکس browse

برای نمونه هم از سی ام اس اموزشی اقای شهرکی عزیز استفاده کردم این کد ها


<?php
//Copyright محمد مصطفي شهركي @ http://www.ncis.ir
require_once '../config.php';
require_once '../db.php';
if(!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] != URL.'/management/links.php') {
header('location: main.php');
exit();
}
session_start();
if(!isset($_SESSION['manager']) || $_SESSION['manager'] != true) {
echo 'Illegal Access - <a href="'.URL.'" target="_top">Go to main page</a>'."\n";
exit();
}
?>
<!doctype html>
<html dir="rtl">
<head>
<meta charset="utf-8"/>
<title><?php echo TITLE; ?></title>
<link href="../style.css" rel="stylesheet" type="text/css"/>
</head>
<body style="background-image: url(../robot.jpg); background-repeat: no-repeat;">
<?php
$articles = new Articles();
echo '<span class="red">شماره مطلب : '.$articles->GetNewID().'</span><br/>'."\n";
?>
<form action="article_result.php?action=new" enctype="multipart/form-data" method="post">
<table border="0px" cellpadding="0px" cellspacing="2px" width="300px">
<tr align="right" valign="middle">
<th width="100px"><label for="title">عنوان</label></th>
<td><input class="transparent" id="title" maxlength="255" name="title" style="width: 100%;" type="text"/></td>
</tr>
<tr align="right" valign="middle">
<th><label for="abstract">چكيده</label></th>
<td><input class="transparent" id="abstract" maxlength="255" name="abstract" style="width: 100%;" type="text"/></td>
</tr>
<tr align="right" valign="middle">
<th><label for="body">ادامه مطلب</label></th>
<td><textarea class="transparent" id="body" name="body" rows="5" style="width: 100%;"></textarea></td>
</tr>
<tr align="right" valign="middle">
<th><label for="file">فايل PDF</label></th>
<td>
<input name="MAX_FILE_SIZE" type="hidden" value="1048576"/>
<input class="transparent" id="file" name="file" size="15" type="file"/>
</td>
</tr>
<tr align="right" valign="middle">
<td colspan="2"><input style="width: 100%;" type="submit" value="ثبت"/></td>
</tr>
</table>
</form>
</body>
</html>

فرزاد صبوری
پنج شنبه 19 دی 1392, 16:54 عصر
مثلا من دوتا فیلد اپلود اضافه کردم


<input name="MAX_FILE_SIZE" type="hidden" value="1048576"/><input class="transparent" id="file" name="file" size="15" type="file"/>
<input name="MAX_FILE_SIZE" type="hidden" value="1048576"/><input class="transparent" id="file2" name="file2" size="15" type="file"/>




if(isset($_GET['action']) && $_GET['action'] != '') {
$articles = new Articles();
switch(strtolower($_GET['action'])) {
case 'new':
$flag = true;
$result = 0;
if(!(isset($_FILES['file'])) || $_FILES['file']['error'] != 0) {
$flag = false;
}
$vars = array('abstract', 'body', 'title');
foreach($vars as $var) {
if(!isset($_POST[$var]) || $_POST[$var] == '') {
$flag = false;
}
}
if($flag && move_uploaded_file($_FILES['file']['tmp_name'], '../files/'.$_FILES['file']['name'])) {
$result = $articles->Insert($_POST['title'], $_POST['abstract'], $_POST['body'], $_FILES['file']['name']);
}
echo 'مطلب '.($result > 0 ? 'با موفقيت ثبت شد' : 'ثبت نشد').'.<br/>'."\n";
break;


برای ثبت چیکار انجام باید بدم ؟ :)

فرزاد صبوری
یک شنبه 22 دی 1392, 20:03 عصر
بالا باش :)

danial.saeedi
دوشنبه 23 دی 1392, 16:12 عصر
سلام ببخشید منظور از ثبت نام چیه؟مخوای توی دیتابیس ذخیره شه؟

فرزاد صبوری
دوشنبه 23 دی 1392, 19:06 عصر
با تشکر جناب سعیدی
میخوام یه صفحه ارسال پست درست کنم و بتونم برای یک پست چند فیلد اپلود عکس بذارم عنوان و مثلا توضیحات و با یک کلیک ثبت بشه تو دیتابیس فایل عکس هام تو هاست


$vars = array('abstract', 'body', 'title'); foreach($vars as $var) { if(!isset($_POST[$var]) || $_POST[$var] == '') { $flag = false; } } if($flag && move_uploaded_file($_FILES['file']['tmp_name'], '../files/'.$_FILES['file']['name'])) { $result = $articles->Insert($_POST['title'], $_POST['abstract'], $_POST['body'], $_FILES['file']['name']); }



این درسته ولی برای چند فیلد اپلود نمیدونم چه کدی لازمه move_uploaded_file($_FILES['file']['tmp_name'], '../files/'.$_FILES['file']

danial.saeedi
دوشنبه 23 دی 1392, 22:19 عصر
خب شما می تونید چندین بار کد رو تکرار کنید البته راه های دیگه ای هم وجود دارد

فرزاد صبوری
دوشنبه 23 دی 1392, 23:03 عصر
بلد نیستم خب :) چطوری تکرار کنم ؟

فرزاد صبوری
سه شنبه 24 دی 1392, 18:49 عصر
up :( .........

MMSHFE
چهارشنبه 25 دی 1392, 01:28 صبح
<?php
//Copyright محمد مصطفی شهرکی @ http://www.ncis.ir
require_once '../config.php';
require_once '../db.php';
if(!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] != URL.'/management/links.php') {
header('location: main.php');
exit();
}
session_start();
if(!isset($_SESSION['manager']) || $_SESSION['manager'] != true) {
echo 'Illegal Access - <a href="'.URL.'" target="_top">Go to main page</a>'."\n";
exit();
}
?>
<!doctype html>
<html dir="rtl">
<head>
<meta charset="utf-8"/>
<title><?php echo TITLE; ?></title>
<link href="../style.css" rel="stylesheet" type="text/css"/>
</head>
<body style="background-image: url(../robot.jpg); background-repeat: no-repeat;">
<?php
$articles = new Articles();
echo '<span class="red">شماره مطلب : '.$articles->GetNewID().'</span>'."\n";
?>
<form action="article_result.php?action=new" enctype="multipart/form-data" method="post">
<table border="0px" cellpadding="0px" cellspacing="2px" width="300px">
<tr align="right" valign="middle">
<th width="100px"><label for="title">عنوان</label></th>
<td><input class="transparent" id="title" maxlength="255" name="title" style="width: 100%;" type="text"/></td>
</tr>
<tr align="right" valign="middle">
<th><label for="abstract">چکیده</label></th>
<td><input class="transparent" id="abstract" maxlength="255" name="abstract" style="width: 100%;" type="text"/></td>
</tr>
<tr align="right" valign="middle">
<th><label for="body">ادامه مطلب</label></th>
<td><textarea class="transparent" id="body" name="body" rows="5" style="width: 100%;"></textarea></td>
</tr>
<tr align="right" valign="middle">
<th><label for="file">فایل PDF اول</label></th>
<td>
<input name="MAX_FILE_SIZE" type="hidden" value="1048576"/>
<input class="transparent" id="file" name="file[]" size="15" type="file"/>
</td>
</tr>
<tr align="right" valign="middle">
<th><label for="file">فایل PDF دوم</label></th>
<td>
<input name="MAX_FILE_SIZE" type="hidden" value="1048576"/>
<input class="transparent" id="file" name="file[]" size="15" type="file"/>
</td>
</tr>
<tr align="right" valign="middle">
<td colspan="2"><input style="width: 100%;" type="submit" value="ثبت"/></td>
</tr>
</table>
</form>
</body>
</html>



<?php
if(isset($_GET['action']) && $_GET['action'] != '') {
$articles = new Articles();
switch(strtolower($_GET['action'])) {
case 'new':
$flag = true;
$result = 0;
if(!(isset($_FILES['file'])) || $_FILES['file']['error'] != 0) {
$flag = false;
}
$vars = array('abstract', 'body', 'title');
foreach($vars as $var) {
if(!isset($_POST[$var]) || $_POST[$var] == '') {
$flag = false;
}
}
if($flag && move_uploaded_file($_FILES['file'][0]['tmp_name'], '../files/'.$_FILES['file'][0]['name']) && move_uploaded_file($_FILES['file'][1]['tmp_name'], '../files/'.$_FILES['file'][1]['name'])) {
$result = $articles->Insert($_POST['title'], $_POST['abstract'], $_POST['body'], $_FILES['file']['name']);
}
echo 'مطلب '.($result > 0 ? 'با موفقيت ثبت شد' : 'ثبت نشد').'.'."\n";
break;

MMSHFE
چهارشنبه 25 دی 1392, 01:29 صبح
البته تکرار تگ مخفی MAX_FILE_SIZE ضرورتی ندارم و من هم حواسم نبود کد رو Copy کردم، اونهم کپی شد.