Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.89/35: Рейтинг темы: голосов - 35, средняя оценка - 4.89
Protagonista
7 / 7 / 0
Регистрация: 08.02.2011
Сообщений: 73
1

Административная часть в php

08.02.2011, 18:47. Просмотров 6449. Ответов 36
Метки нет (Все метки)

Добрый вечер! Помогите,пожалуйста найти ошибку.
Делаю административную часть сайта на php.
При проверке не получается внести информацию на сайт.
Вот код:


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php 
include ("blocks/bd.php");
if (isset($_POST['title'])) {$title = $_POST['title'];}
if (isset($_POST['meta_d'])) {$meta_d = $_POST['meta_d'];}
if (isset($_POST['meta_k'])) {$meta_k = $_POST['meta_k'];}
if (isset($_POST['date'])) {$date = $_POST['date'];}
if (isset($_POST['description'])) {$description = $_POST['description'];}
if (isset($_POST['text'])) {$text = $_POST['text'];}
if (isset($_POST['author'])) {$author = $_POST['author'];}
 
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Обработчик</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border">
 
<?php include ("blocks/header.php");?>  
  <tr>
  
<?php include ("blocks/lefttd.php");
?>
        <td width="468" valign="top">
                  
        <?php 
if (isset($title)&& isset($meta_d) && isset($meta_k) && isset($date) && isset($description) && isset($text) && isset($author))  
        
{
 
$result = mysql_query ("INSERT INTO lessons (title,meta_d,meta_k,date,description,text,author) VALUES ('$title','$meta_d','$meta_k','$date','$description','$text','$author')");
 
if ($result == 'true') {echo "<p>Ваш урок успешно добавлен!</p>";}
else {echo "<p>Ваш урок не добавлен.</p>";}//Вот это пишет на сайте при проверке.
 
 
}       
else
 
{
echo "<p>Вы ввели не всю информацию, поэтому урок в базу не добавлен.</p>";
}   
        ?>


Заранее огромное спасибо за помощь!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2011, 18:47
Ответы с готовыми решениями:

Административная часть сайта в php 2!
Добрый день, в прошлый раз я писала о том, что у меня не получалось вывести...

Как вырезать часть текста? - PHP
Привет всем! Столкнулся с такой проблемой...Мне нужно из текста вырезать кусок...

Вставить часть урл в php код
Здравствуйте! Помогите решить проблему. Суть в следующем. В шаблоне, к которому...

В браузер выводится еще часть кода php
Уважаемые господа... скрипт php - простая менюшка. Open_server работает....

Копировать часть кода php на другую страницу сайта
Здравствуйте. Задача вывести единицы измерения цены товара, которые...

36
Luter1984
5 / 5 / 2
Регистрация: 20.01.2011
Сообщений: 75
08.02.2011, 19:16 2
База данных точно функционирует....?
Сделайте небольшую проверку по переменным (т.е. все ли они норамльно приходят в обработчик)? после объявления переменных:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
echo "<pre>";
echo $title;
echo "<pre>";
echo $meta_d;
echo "<pre>";
echo $meta_k;
echo "<pre>";
echo $date;
echo "<pre>";
echo $description;
echo "<pre>";
echo $text;
echo "<pre>";
echo $author;
echo "<pre>";
0
Protagonista
7 / 7 / 0
Регистрация: 08.02.2011
Сообщений: 73
08.02.2011, 19:30  [ТС] 3
Переменные проверку прошли=), т.о. они все нормально приходят в обработчик, но сама информация на сайт не попадает почему-то.....

Добавлено через 4 минуты
Информация вывелась, но только в фон, а не на сайт...
0
Luter1984
5 / 5 / 2
Регистрация: 20.01.2011
Сообщений: 75
08.02.2011, 19:34 4
Ошибок в названии полей в табличке lessons нет???
А также проверьте типы полей (int, varchar и т.д.)

Добавлено через 1 минуту
Цитата Сообщение от Protagonista Посмотреть сообщение
Добавлено через 4 минуты
Информация вывелась, но только в фон, а не на сайт...
В смысле???
0
hellpass
189 / 189 / 31
Регистрация: 04.10.2010
Сообщений: 505
08.02.2011, 19:40 5
Вот эту часть
PHP
1
2
3
4
5
6
7
if (isset($_POST['title'])) {$title = $_POST['title'];}
if (isset($_POST['meta_d'])) {$meta_d = $_POST['meta_d'];}
if (isset($_POST['meta_k'])) {$meta_k = $_POST['meta_k'];}
if (isset($_POST['date'])) {$date = $_POST['date'];}
if (isset($_POST['description'])) {$description = $_POST['description'];}
if (isset($_POST['text'])) {$text = $_POST['text'];}
if (isset($_POST['author'])) {$author = $_POST['author'];}
запиши вот так
PHP
1
2
3
4
5
6
7
if (isset($_POST['title'])) {$title = mysql_real_escape_string($_POST['title']);}
if (isset($_POST['meta_d'])) {$meta_d = mysql_real_escape_string($_POST['meta_d']);}
if (isset($_POST['meta_k'])) {$meta_k = mysql_real_escape_string($_POST['meta_k']);}
if (isset($_POST['date'])) {$date = mysql_real_escape_string($_POST['date']);}
if (isset($_POST['description'])) {$description =mysql_real_escape_string( $_POST['description']);}
if (isset($_POST['text'])) {$text = mysql_real_escape_string($_POST['text']);}
if (isset($_POST['author'])) {$author = mysql_real_escape_string($_POST['author']);}
1
Protagonista
7 / 7 / 0
Регистрация: 08.02.2011
Сообщений: 73
08.02.2011, 19:45  [ТС] 6
ну вот как-то так...ошибок в названии полей не вижу,(файл прилагается)может вы увидите=)) а то весь день уже на них смотрю и все проверяю,а найти ошибки не могу. А вот так при проверке переменных выходит инфо(файл тоже прилагается)(но сами понимаете инфо написана для проверки)
0
Миниатюры
Административная часть в php   Административная часть в php  
Protagonista
7 / 7 / 0
Регистрация: 08.02.2011
Сообщений: 73
08.02.2011, 19:49  [ТС] 7
Hellpass, так к сожалению тоже ничего не поменялось....
0
salom
0 / 0 / 0
Регистрация: 05.02.2011
Сообщений: 1
08.02.2011, 19:51 8
привет как можно восстановить 3 недиля назад компьютеру через cmd
0
hellpass
189 / 189 / 31
Регистрация: 04.10.2010
Сообщений: 505
08.02.2011, 20:29 9
Напиши все передаваемые значения. Сейчас разберемся!)
Кстати, а урок в базу добавляется? Просто вот это условие
PHP
1
if ($result == 'true')
Лучше записать так(без кавычек)
PHP
1
if ($result == true)
Или еще лучше так
PHP
1
if ($result)
0
Protagonista
7 / 7 / 0
Регистрация: 08.02.2011
Сообщений: 73
08.02.2011, 20:56  [ТС] 10
Урок в базу не добавляется. true c кавычками или без или просто result не помогает, а что значит написать все передаваемые значения?(Извиняюсь, просто не совсем поняла этой фразы).

Добавлено через 9 минут
А может быть такое, что что-то не так в форме заполнения:


PHP
1
<? include ("blocks/bd.php");?>
HTML5
1
2
3
4
5
6
7
8
9
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Страница добаления нового урока</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border">
PHP
1
<?php include ("blocks/header.php");?>
HTML5
1
<tr>
PHP
1
<?php include ("blocks/lefttd.php");?>
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<td width="468" valign="top">
        <form name="form1" method="post" action="add_lesson.php">
          <p>
            <label>Введите название урока<br>
              <input type="text" name="title" id="title">
              </label>
          </p>
          <p>
            <label>Введите краткое описание<br>
            <input type="text" name="meta_d" id="meta_d">
            </label>
          </p>
          <p>
            <label>Введите ключевые слова<br>
            <input type="text" name="meta_k" id="meta_k">
            </label>
          </p>
          <p>
            <label>Введите дату добавления урока<br>
            <input name="date" type="text" id="date" value="2011-02-08">
            </label>
            <br>
          </p>
          <p>
            <label>Введите краткое описание урока с тэгами абзаца
            <textarea name="description" id="description" cols="45" rows="5"></textarea>
            </label>
          </p>
          <p>
            <label>Введите полный текст урока с тэгами
            <textarea name="text" id="text" cols="40" rows="20"></textarea>
            </label>
            </p>
          <p>
            <label>Введите автора урока<br>
            <input type="text" name="author" id="author">
            </label>
            </p>
          <p>
            <label>
            <input type="submit" name="submit" id="submit" value="Занести урок в базу">
            </label>
            <br>
          </p>
        </form>
или может тут порядок имеет значения, честно говоря я не очень разбираюсь в php, занимаюсь самообучением...

Добавлено через 5 минут
или может в phpmyadmin есть какие-то настройки, которые не позволяют таким образом добавлять инфо?
0
Luter1984
5 / 5 / 2
Регистрация: 20.01.2011
Сообщений: 75
08.02.2011, 21:06 11
Попробуйте заменить значение в этом поле:
HTML5
1
<input name="date" type="text" id="date" value="2011-02-08">
на
HTML5
1
<input name="date" type="text" id="date" value='$mydate'>
Где $mydate объявлена ранее как:
$mydate = date("Y-m-d");
0
hellpass
189 / 189 / 31
Регистрация: 04.10.2010
Сообщений: 505
08.02.2011, 21:10 12
Цитата Сообщение от Protagonista Посмотреть сообщение
а что значит написать все передаваемые значения?
Ну те слова или строки которые заносишь в текстовые поля на форме.
0
Luter1984
5 / 5 / 2
Регистрация: 20.01.2011
Сообщений: 75
08.02.2011, 21:15 13
Посмотрите в базу прошла запись нормально, т.е. данные Post записались в базу?????
0
Protagonista
7 / 7 / 0
Регистрация: 08.02.2011
Сообщений: 73
08.02.2011, 21:36  [ТС] 14
с датой не вышло ничего, не знаю на счет записались ли данные POST в базу, посмотрела ничего нового там не увидела, как раньше было(когда не было на сайте административной части)так все и осталось.
Честно говоря,учусь по видео урокам, там ничего не говорили про то, что можно посмотреть как данные POST записались,может я не туда смотрю*чувствую себя нубом*.
А про строки, которые я вношу в форму: у меня есть два файла php(я их уже вставляла ранее в первых сообщениях), 1 c формой, 2-ой который заносит данные. Форма на сайте отображается, но если я ввожу туда текст, то он мне пишет, что инфо не добавлена, это же никак не связано с тем какой текст я туда ввожу?..
0
Luter1984
5 / 5 / 2
Регистрация: 20.01.2011
Сообщений: 75
08.02.2011, 21:38 15
По чьим урокам учитесь, не Попова ли?
И пользуетесь ли PhpMyAdmin
0
Protagonista
7 / 7 / 0
Регистрация: 08.02.2011
Сообщений: 73
08.02.2011, 21:43  [ТС] 16
если ввести or die (mysql_error()
то:
ответ:

Parse error: syntax error, unexpected T_LOGICAL_OR in Z:\home\localhost\www\phpsite\admin \add_lesson.php on line

т.е в
PHP
1
$result = mysql_query ("INSERT INTO lessons (title,meta_d,meta_k,date,descripti on,text,author) VALUES ('$title','$meta_d','$meta_k','$dat e','$description','$text','$author' )");
Добавлено через 1 минуту
Попова..., и пользуюсь phpmyadmin....можете прокомментировать?-) а то может не за то взялась))))
0
Luter1984
5 / 5 / 2
Регистрация: 20.01.2011
Сообщений: 75
08.02.2011, 21:51 17

Parse error: syntax error, unexpected T_LOGICAL_OR in Z:\home\localhost\www\phpsite\admin \add_lesson.php on line

На какой линии ..?
Приведите всю страничку add_lesson.pph

Добавлено через 3 минуты
Посмотрите записбь слова (title,meta_d,meta_k,date,descripti on,text,author)
Посмотреть добавляются ли данные в базу в phpmyadmin можно как:
http://localhost/tools/phpmyadmin/lessons
или для старо версии
http://localhost/phpmyadmin/lessons
Посмотрите при отправке данных формы обработчику происходит ли запись в таблицу (phpmyadmin)
0
Protagonista
7 / 7 / 0
Регистрация: 08.02.2011
Сообщений: 73
08.02.2011, 21:53  [ТС] 18
на 35
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php 
include ("blocks/bd.php");
if (isset($_POST['title'])) {$title = mysql_real_escape_string ($_POST['title']);}
if (isset($_POST['meta_d'])) {$meta_d = mysql_real_escape_string ($_POST['meta_d']);}
if (isset($_POST['meta_k'])) {$meta_k = mysql_real_escape_string ($_POST['meta_k']);}
if (isset($_POST['date'])) {$date = mysql_real_escape_string ($_POST['date']);}
if (isset($_POST['description'])) {$description = mysql_real_escape_string ($_POST['description']);}
if (isset($_POST['text'])) {$text = mysql_real_escape_string ($_POST['text']);}
if (isset($_POST['author'])) {$author = mysql_real_escape_string ($_POST['author']);}
 
 
?>
HTML5
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Обработчик</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border">
>
PHP
1
<?php include ("blocks/header.php");?>
HTML5
1
<tr>
PHP
1
<?php include ("blocks/lefttd.php");?>
HTML5
1
<td width="468" valign="top">
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php 
if (isset($title)&& isset($meta_d) && isset($meta_k) && isset($date) && isset($description) && isset($text) && isset($author))  
        
{
 
$result = mysql_query ("INSERT INTO lessons (title,meta_d,meta_k,date,description,text,author) VALUES ('$title','$meta_d','$meta_k','$date','$description','$text','$author')"); or die (mysql_error() . '<br>');//на этой
 
if ($result) {echo "<p>Ваш урок успешно добавлен!</p>";}
else {echo "<p>Ваш урок не добален.</p>";}
 
 
}       
else
 
{
echo "<p>Вы ввели не всю информацию, поэтому урок в базу не добавлен.</p>";
}   
        ?>
0
hellpass
189 / 189 / 31
Регистрация: 04.10.2010
Сообщений: 505
08.02.2011, 21:58 19
Цитата Сообщение от Protagonista Посмотреть сообщение
что инфо не добавлена, это же никак не связано с тем какой текст я туда ввожу?
Ну как сказать...
А можешь эту строчку
PHP
1
$result = mysql_query ("INSERT INTO lessons (title,meta_d,meta_k,date,description,text,author) VALUES ('$title','$meta_d','$meta_k','$date','$description','$text','$author')");
записать так...
PHP
1
2
3
$query = "INSERT INTO lessons (title,meta_d,meta_k,date,description,text,author) VALUES ('$title','$meta_d','$meta_k','$date','$description','$text','$author')";
echo $query; //Тут строчка выведется на экран
$result = mysql_query ($query);
Строчку которая выведется на экран скопируй сюда. Хочу на нее посмотреть.
0
Protagonista
7 / 7 / 0
Регистрация: 08.02.2011
Сообщений: 73
08.02.2011, 21:59  [ТС] 20
ссылки не открываются, ошибку пишет.
description написано правильно, просто почему-то так скопировалось, я как увидела, сразу проверила.
0
08.02.2011, 21:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2011, 21:59

view.php?open=1 - не работает эта часть кода
Подскажите, плз, чайнику почему этот код отказывается работать. Ругается на 1-ю...

Часть данных Get и часть Post
Как часть данных передать пост запросом, а часть гет?

Php+javascript В зависимости от клика вывести переменную php в новое окно
Есть код. В коде две ссылки. При нажатии на первую ссылку должно открыться окно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru