X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Проблема с SQL запросами?
cap4369
cap4369
Topic Starter сообщение 29.8.2013, 21:29; Ответить: cap4369
Сообщение #1


Здравствуйте!
Занимаюсь PHP программированием не так давно. Возникла проблема: при создании админ панели создал скрипт добавления страниц на сайт. Но почему- то не всегда полностью заполняются все необходимые поля таблицы базы данных. Несколько раз проверял код, ошибок вроде бы нет. После перезагрузки и очистки кэш все стало работать. Подскажите, может ли это влиять на правильность работы приложения? Или что- то в коде у меня не правильно? И будет ли это сказываться в дальнейшем, когда сайт будет на хостинге? Если да, то как можно с этим бороться? Привожу код:

<?
require_once './config.php';
require_once './auth.php';

if($_POST['submit']) {
     $title = mysql_real_escape_string($_POST['title']);
     $keywords = mysql_real_escape_string($_POST['keywords']);
     $description = mysql_real_escape_string($_POST['description']);
     $short_text = mysql_real_escape_string($_POST['short_text']);
     $content = mysql_real_escape_string($_POST['content']);
     $category = (int)$_POST['category'];
     $date = date("Y-m-d");
    
  if($_POST['visible'] == 'on') $visible = 1;
  else $visible = 0;

$res = mysql_query("INSERT INTO `articles` SET
            `title`='{$title}',
            `keywords`='{$keywords}',
            `description`='{$description}',
            `date`='{$date}',
            `short_text`='{$short_text}',
            `content`='{$content}',
            `category`='{$category}',
            `visible`='{$visible}'
            ") or die(mysql_error());
          
if(mysql_affected_rows() > 0){
  $_SESSION['res'] = '<strong>Статья успешно добавлена!</strong><hr />';
  header("Location: add_article.php");
  exit;
}
else{
  $_SESSION['res'] = '<strong>Ошибка!</strong><hr />';
  header("Location: add_article.php");
exit;
}
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Добавление статьи</title>
<link rel="stylesheet" href="admin.css" type="text/css" media="screen, projection" />
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="AjexFileManager/ajex.js"></script>
<script type="text/javascript" src="js/jquery-1.7.min.js"></script>
<script type="text/javascript" src="js/equalHeight.js" ></script>
</head>
<body>
<div id="wrapper">
<?php
require_once '/header_admin.php';
require_once '/menu.php';
?>
<!-- Контент -->
<div id="middle">
<div id="container">
<div id="maincontent">
<div id="title">
<h1>Для добавления статьи заполните поля в приведенной ниже форме:<h1>
</div>
<?=$_SESSION['res'];?>
<?unset($_SESSION['res']);?>
<div id="form">
<form method="post">

<table>
<tr>
  <td>Название статьи: </td>
  <td><input type="text" name="title" maxlength="255" size="70"></td>
</tr>
<tr>
  <td>Ключевые слова: </td>
  <td style="margin-bottom: 29px;"><input type="text" name="keywords" maxlength="" size="70"></td>
</tr>
<tr>
  <td>Описание: </td>
  <td><input type="text" name="description" maxlength="250" size="70"></td>
</tr>
<tr>
  <td>Краткий текст статьи: </td>
  <td><textarea id="editor1" type="text" name="short_text" cols="52" rows="5" /></textarea>
   <script type="text/javascript">
    var ckeditor1 = CKEDITOR.replace('editor1');
    AjexFileManager.init({returnTo:'ckeditor',editor:ckeditor1});
   </script>
  
  </td>
</tr>
<tr>
  <td>Полный текст статьи: </td>
  <td><textarea id="editor2" type="text" name="content" cols="52" rows="10" /></textarea>
   <script type="text/javascript">
    var ckeditor2 = CKEDITOR.replace('editor2');
    AjexFileManager.init({returnTo:'ckeditor',editor:ckeditor2});
   </script>
  </td>
</tr>
<tr>
  <td>Автор: </td>
  <td><input type="text" name="author" maxlength="100" size="70"></td>
</tr>
<tr>
  <td>Категория: </td>
  <td>
   <select name="category">
    <?php
     $res = mysql_query("SELECT * FROM `category`");
     while($row = mysql_fetch_assoc($res)) {
      echo "<option value='{$row['category_id']}'> {$row['name']} </option>";
     }
    ?>
   </select>
  </td>
</tr>
<tr>
  <td>Видимость: </td>
  <td><input type="checkbox" name="visible" checked></td>
</tr>
<tr>
  <td colspan="2"><input type="submit" name="submit" value="Добавить"></td>
</tr>
</table>
</form>
</div><!--#form-->

</div><!-- #maincontent-->
</div><!-- #container-->
<?
require_once '/left_admin.php';
require_once '/footer.php';
?>
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 29.8.2013, 21:51; Ответить: fedornabilkin
Сообщение #2


Уроков Попова начитался?
Все вроде правильно навскидку. Но еще можно дополнительно использовать trim() и проверять заполнены ли поля заголовка и контента, а то пустой заголовок будет, а запись все равно получится.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alex159
alex159
сообщение 29.8.2013, 22:21; Ответить: alex159
Сообщение #3


[member=fedornabilkin], как по мне, это не с уроков Попова, хотя кто знает.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 29.8.2013, 23:12; Ответить: matroskin8
Сообщение #4


Уроков Попова начитался?

Вообще-то в древних курсах Попова код и близко не настолько безопасен, как в приведенном коде... например, функции mysql_real_escape_string() там днем с огнем там не сыщешь.
Даже и не знаю, чем этот код Вам напомнил Попова :) как по мне, то очень даже приемлемый код для того, кто только начал изучать программирование... хотя понятно, что на этом останавливаться не нужно.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
cap4369
cap4369
Topic Starter сообщение 30.8.2013, 1:50; Ответить: cap4369
Сообщение #5


Спасибо за поддержку. Я только учусь, надеюсь со временем и сам кому- нибудь буду помогать и с улыбкой вспоминать о своих проблемах. :)
Это мой первый сайт, до этого я сделал учебный сайт на Codeigniter и решил, что он мне не подходит. Я хочу создавать сайты со своими CMS и никак иначе. Пока пробую сделать простой сайт, потом буду изучать ООП.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыБаза товаров (opencart) SQL 70к+ товаров
Инструменты для дома, строительное и производственное оборудование
5 getdump 5632 1.9.2021, 2:04
автор: WebSniper
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыWeb-разработка (C++/PHP/SQL/JS/Bootstrap). HighLoad проекты.
0 DF™ 1434 28.7.2020, 13:24
автор: DF™
Открытая тема (нет новых ответов) Web программирование на С/С++/PHP/MySQL/SQL, высоконагруженные проекты
Есть наработки в области бирж трафика, топов, тизеров, видео cj-тубов
4 DFService 3351 8.4.2020, 18:02
автор: DFService
Открытая тема (нет новых ответов) Проблема с админкой
5 Prok 2336 29.7.2019, 20:04
автор: dvakarandasha
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПроблема с таблицей, которая выводится через скрипт
7 vanchester 1339 15.2.2019, 19:06
автор: Artos_mw


 



RSS Текстовая версия Сейчас: 20.4.2024, 6:12
Дизайн