131313sd

Делаю сайт на php

16 сообщений в этой теме

Всем привет, на учебу нужно сделать сайт на PHP.

Запоролся в 2х местах:

(нужно сделать добавление данных через форму, и туда добавить файл, с этим разобрался, файл добавляется, все отлично.)

- А вот редактировать данный файл не получается, то есть при редактировании подгружаю файл, при нажатии кнопки сохранить, выдает ошибку, вы не ввели все поля, и ничего не меняется.

 

- Второй косяк, хотел сделать, чтобы без авторизации, некоторые элементы не были видны, сделал, но авторизовываясь, все равно их не показывает, пришлось вообще убрать. Как это поправить.

 

Может кто сможет помочь с этими вопросами.

<?php
   include ("/lock.php");
    header("Content-Type: text/html; charset=UTF-8");
	
	
	error_reporting(E_ALL);
ini_set("display_errors", 1);
 
if (sizeof($_FILES)!=0){
    $uploaddir = 'tovars/';
    $uploadfile = $uploaddir . basename($_FILES['filename']['name']);
    if (move_uploaded_file($_FILES['filename']['tmp_name'], $uploadfile)) {
       echo"Загружено изображение-  ".basename($_FILES['filename']['name'])."";
    }
    else {
        echo "Файл загрузить не удалось";
    }
}
	
	
 if (isset($_GET['id'])) {$id = $_GET['id'];}
 include("blocks/bd.php");
if(isset($_POST['title'])) {$title = $_POST['title']; if ($title == ''){unset($title);}}
if(isset($_POST['meta_d'])) {$meta_d = $_POST['meta_d']; if ($meta_d == ''){unset($meta_d);}}
if(isset($_POST['meta_k'])) {$meta_k = $_POST['meta_k']; if ($meta_k == ''){unset($meta_k);}}
if(isset($_POST['date'])) {$date = $_POST['date']; if ($date == ''){unset($date);}}
if(isset($_POST['description'])) {$description = $_POST['description']; if ($description == ''){unset($description);}}
if(isset($_POST['text'])) {$text = $_POST['text']; if ($text == ''){unset($text);}}
if(isset($_POST['author'])) {$author = $_POST['author']; if ($author == ''){unset($author);}}
if(isset($_POST['price'])) {$price = $_POST['price']; if ($price == ''){unset($price);}}
if(isset($_POST['cat'])) {$cat = $_POST['cat']; if ($cat == ''){unset($cat);}}
if(isset($_POST['view'])) {$view = $_POST['view']; if ($view == ''){unset($view);}}

if(isset($_FILES['uploadfile'])) {$uploadfile = $_FILES['uploadfile'];}
if(isset($_POST['id'])) {$id = $_POST['id'];}




?>

<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">


<title>Админ панель</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFF" class="mainborder">
<tr>
<td><!--Подключаем шапку-->
<?php include("/blocks/header.php");?></td>
</tr>

<tr>
<td>
<table width="690">
<tr>
<td width="180px" valign="top" class="left"><!--Подключаем админ меню--><?php include ("/blocks/admin_menu.php");?>
</td>
<td width="510px"><p align="center"><strong>Обработчик</strong></p>
 <?php
 if (isset($cat) && isset($meta_d) && isset($meta_k) && isset($description) && isset($text) && isset($view) && isset($author)&& isset($date) && isset($price) && isset($title) && isset($uploadfile))

{/* Бла бла бла*/

$result = mysql_query ("UPDATE tovars1 SET  cat='$cat', meta_d='$meta_d',meta_k='$meta_k',description='$description',text='$text',
view='$view', author='$author', date='$date', price='$price', title='$title', img='$file' WHERE id='$id'", $db);

if ($result == true) {echo "<p>Товар успешно обновлен</p>";}

else {echo "<p>Товар не обновлен</p>";}
}

else

{echo "<p>Вы не заполнили все поля, поэтому товар не может быть обновлен</p>";}
?>
</td>
</tr></table>
</td>
</tr>

<tr>
<td><!--Подключаем футер-->
<?php include ("/blocks/footer.php");?></td>
</tr>


</table>


</body>
</html>

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

https:   //www.youtube.com/watch?v=gUgtft0hTps

тут пошагово все расказывается ,в том числе и про формы и их обработчиках в 2-й части

131313sd понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

https:   //www.youtube.com/watch?v=gUgtft0hTps

тут пошагово все расказывается ,в том числе и про формы и их обработчиках в 2-й части

 

Большое спасибо, гляну сейчас!

P.S. он нудный  :blink:

Ребята кто может помочь разобраться? тема актуальна

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема 23 -32 строка при пустом пустом ПОСТ запросе идет удаление переменной unset($title);

и поэтому в 66 строке будет ошибка потому как переменные уничтожаются

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Всем привет, на учебу нужно сделать сайт на PHP.

Запоролся в 2х местах:

(нужно сделать добавление данных через форму, и туда добавить файл, с этим разобрался, файл добавляется, все отлично.)

- А вот редактировать данный файл не получается, то есть при редактировании подгружаю файл, при нажатии кнопки сохранить, выдает ошибку, вы не ввели все поля, и ничего не меняется.

 

- Второй косяк, хотел сделать, чтобы без авторизации, некоторые элементы не были видны, сделал, но авторизовываясь, все равно их не показывает, пришлось вообще убрать. Как это поправить.

 

Может кто сможет помочь с этими вопросами.

<?php
   include ("/lock.php");
    header("Content-Type: text/html; charset=UTF-8");
	
	
	error_reporting(E_ALL);
ini_set("display_errors", 1);
 
if (sizeof($_FILES)!=0){
    $uploaddir = 'tovars/';
    $uploadfile = $uploaddir . basename($_FILES['filename']['name']);
    if (move_uploaded_file($_FILES['filename']['tmp_name'], $uploadfile)) {
       echo"Загружено изображение-  ".basename($_FILES['filename']['name'])."";
    }
    else {
        echo "Файл загрузить не удалось";
    }
}
	
	
 if (isset($_GET['id'])) {$id = $_GET['id'];}
 include("blocks/bd.php");
if(isset($_POST['title'])) {$title = $_POST['title']; if ($title == ''){unset($title);}}
if(isset($_POST['meta_d'])) {$meta_d = $_POST['meta_d']; if ($meta_d == ''){unset($meta_d);}}
if(isset($_POST['meta_k'])) {$meta_k = $_POST['meta_k']; if ($meta_k == ''){unset($meta_k);}}
if(isset($_POST['date'])) {$date = $_POST['date']; if ($date == ''){unset($date);}}
if(isset($_POST['description'])) {$description = $_POST['description']; if ($description == ''){unset($description);}}
if(isset($_POST['text'])) {$text = $_POST['text']; if ($text == ''){unset($text);}}
if(isset($_POST['author'])) {$author = $_POST['author']; if ($author == ''){unset($author);}}
if(isset($_POST['price'])) {$price = $_POST['price']; if ($price == ''){unset($price);}}
if(isset($_POST['cat'])) {$cat = $_POST['cat']; if ($cat == ''){unset($cat);}}
if(isset($_POST['view'])) {$view = $_POST['view']; if ($view == ''){unset($view);}}

if(isset($_FILES['uploadfile'])) {$uploadfile = $_FILES['uploadfile'];}
if(isset($_POST['id'])) {$id = $_POST['id'];}




?>

<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">


<title>Админ панель</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFF" class="mainborder">
<tr>
<td><!--Подключаем шапку-->
<?php include("/blocks/header.php");?></td>
</tr>

<tr>
<td>
<table width="690">
<tr>
<td width="180px" valign="top" class="left"><!--Подключаем админ меню--><?php include ("/blocks/admin_menu.php");?>
</td>
<td width="510px"><p align="center"><strong>Обработчик</strong></p>
 <?php
 if (isset($cat) && isset($meta_d) && isset($meta_k) && isset($description) && isset($text) && isset($view) && isset($author)&& isset($date) && isset($price) && isset($title) && isset($uploadfile))

{/* Бла бла бла*/

$result = mysql_query ("UPDATE tovars1 SET  cat='$cat', meta_d='$meta_d',meta_k='$meta_k',description='$description',text='$text',
view='$view', author='$author', date='$date', price='$price', title='$title', img='$file' WHERE id='$id'", $db);

if ($result == true) {echo "<p>Товар успешно обновлен</p>";}

else {echo "<p>Товар не обновлен</p>";}
}

else

{echo "<p>Вы не заполнили все поля, поэтому товар не может быть обновлен</p>";}
?>
</td>
</tr></table>
</td>
</tr>

<tr>
<td><!--Подключаем футер-->
<?php include ("/blocks/footer.php");?></td>
</tr>


</table>


</body>
</html>

кажется вам в 71 строке нужно вместо img='$file' написать img='$uploadfile' потому как выше вы проверяете переменную $uploadfile в  isset($uploadfile)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема 23 -32 строка при пустом пустом ПОСТ запросе идет удаление переменной unset($title);

и поэтому в 66 строке будет ошибка потому как переменные уничтожаются

она уничтожается, при условии, если там ничего нет: if ($title == ''){unset($title);}}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
<?php
   include ("/lock.php");
    header("Content-Type: text/html; charset=UTF-8");


	error_reporting(E_ALL);
ini_set("display_errors", 1);
       $update='';
if (sizeof($_FILES)!=0){
    $uploaddir = 'tovars/';

    $uploadfile = $uploaddir . basename($_FILES['filename']['name']);
    if (move_uploaded_file($_FILES['filename']['tmp_name'], $uploadfile)) {
       echo"Загружено изображение-  ".basename($_FILES['filename']['name'])."";
       $update.="img='".$uploadfile."', ";
    }
    else {
        echo "Файл загрузить не удалось";
    }
}


 if (isset($_GET['id'])) {$id = $_GET['id'];}
 include("blocks/bd.php");

if(isset($_POST['cat'])&& $_POST['cat']!='' ) { $update.="cat='".$_POST['cat']."', " ;}
if(isset($_POST['meta_d'])&& $_POST['meta_d']!='')  { $update.="meta_d='".$_POST['meta_d']."', " ;}
if(isset($_POST['meta_k'])&& $_POST['meta_k']!='' ) { $update.="meta_k='".$_POST['meta_k']."', " ;}
if(isset($_POST['description'])&& $_POST['description']!='' ) { $update.="description='".$_POST['description']."', " ;}
if(isset($_POST['text'])&& $_POST['text']!='' ) { $update.="text='".$_POST['text']."', " ;}
if(isset($_POST['view'])&& $_POST['view']!='' ) { $update.="view='".$_POST['view']."', " ;}
if(isset($_POST['author'])&& $_POST['author']!='' ) { $update.="author='".$_POST['author']."', " ;}
if(isset($_POST['date'])&& $_POST['date']!='' ) { $update.="date='".$_POST['date']."', " ;}
if(isset($_POST['price'])&& $_POST['price']!='' ) { $update.="price='".$_POST['price']."', " ;}
if(isset($_POST['title'])&& $_POST['title']!='' ) { $update.="title='".$_POST['title']."', " ;}

if(isset($_FILES['uploadfile'])) {$uploadfile = $_FILES['uploadfile'];}





?>

<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">


<title>Админ панель</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFF" class="mainborder">
<tr>
<td><!--Подключаем шапку-->
<?php include("/blocks/header.php");?></td>
</tr>

<tr>
<td>
<table width="690">
<tr>
<td width="180px" valign="top" class="left"><!--Подключаем админ меню--><?php include ("/blocks/admin_menu.php");?>
</td>
<td width="510px"><p align="center"><strong>Обработчик</strong></p>
 <?php
 if ($update!=''&&$id!='')

{/* Не надо по 100 раз проверять одно и тоже)))*/
 $len = strlen($update);  $len-2; $update= substr($update, 0, $len);
$result = mysql_query ("UPDATE tovars1 SET  ".$update." WHERE id='$id'", $db);

if ($result == true) {echo "<p>Товар успешно обновлен</p>";}

else {echo "<p>Товар не обновлен</p>";}
}

else

{echo "<p>Вы не заполнили все поля, поэтому товар не может быть обновлен</p>";}
?>
</td>
</tr></table>
</td>
</tr>

<tr>
<td><!--Подключаем футер-->
<?php include ("/blocks/footer.php");?></td>
</tr>


</table>


</body>
</html>

Вообщем то так вот, мой вариантик на скорую руку.

Можно было бы еще упростить, массивом прогнать, ну да ладно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Закройте топик) решил вроде вопрос!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Закройте топик) решил вроде вопрос!

 

Как решили, где была ошибка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

13442109423495.jpg

if(isset($_POST['cat'])&& $_POST['cat']!='' ) { $update.="cat='".$_POST['cat']."', " ;}
if(isset($_POST['meta_d'])&& $_POST['meta_d']!='')  { $update.="meta_d='".$_POST['meta_d']."', " ;}
if(isset($_POST['meta_k'])&& $_POST['meta_k']!='' ) { $update.="meta_k='".$_POST['meta_k']."', " ;}
if(isset($_POST['description'])&& $_POST['description']!='' ) { $update.="description='".$_POST['description']."', " ;}
if(isset($_POST['text'])&& $_POST['text']!='' ) { $update.="text='".$_POST['text']."', " ;}
if(isset($_POST['view'])&& $_POST['view']!='' ) { $update.="view='".$_POST['view']."', " ;}
if(isset($_POST['author'])&& $_POST['author']!='' ) { $update.="author='".$_POST['author']."', " ;}
if(isset($_POST['date'])&& $_POST['date']!='' ) { $update.="date='".$_POST['date']."', " ;}
if(isset($_POST['price'])&& $_POST['price']!='' ) { $update.="price='".$_POST['price']."', " ;}
if(isset($_POST['title'])&& $_POST['title']!='' ) { $update.="title='".$_POST['title']."', " ;}
AlexBrush понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

WPQ, мне тоже не очень пришелся по душе, этот код.

 

Seoplus, поле IMG было пустое, все теперь работает, но в редактировании идет тип поля текстовое, а не файл там, это не смог подкрутить к сожалению.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
 

WPQ, что же вам не нравится?

ну для начала:
if(isset($_POST['key'])&& $_POST['key']!='' )
заменяем на
if(!empty($_POST['key']))
 
а вот так лучше делать :)
 
$columns = array('cat', 'meta_d',...);
$update = array();
 
foreach($columns as $column) {
     if(!empty($_POST[$column])) $update[] = $column .' = "' .str_replace('"','\"', $_POST[$column]) .'"';
}
 
$update = implode(',', $update);
 
 
но лучше использовать prepare.
WQP понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DeimosFobos, думаю так будет лучше

foreach($columns as $key => $column) {
...
$update[$key]

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

WQP, нене, зачем? это медленнее и не нужно :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DeimosFobos, нагляднее + выполняется не так долго (если конечно нет подсчёта тысячных миллисекунд)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

WQP, а чем оно нагляднее?

одно дело, если бы индексы, что-то значили, но в данной ситуации они нам не значимы, да и $update[$key] и $update[] будут иметь такой же индекс.
зачем добавочный код и лишняя нагрузка? это сейчас она не значима, а если проект большой и там важна скорость тогда это будет заметно:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу