PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Без описания
Поиск в теме | Версия для печати
foozzi
Отправлено: 22 Августа, 2011 - 03:27:35
Посетитель
Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011
Откуда: rm -rf /
Помог: 0 раз(а)
подскажите что не правильно в коде? открывается страница без ошибок белая а таблица не создается.
PHP:
скопировать код в буфер обмена
<?PHP
define ( "SQL_HOST" , "localhost" ) ; define ( "SQL_DATABASE" , "gallery" ) ;
$link = mysql_connect ( SQL_HOST
, SQL_USER
, SQL_PASSWORD
) or
die ( "Не могу подключиться к базе данных" ) ; mysql_query ( 'SET NAMES UTF-8' ) ; // Устанавливаем кодировку данных
$str_sql_query =
"CREATE TABLE gallery(
img_id INT(5) NOT NULL AUTO_INCREMENT,
img_file VARCHAR(60) NOT NULL,
img_descr VARCHAR(200) NOT NULL,
img_date DATETIME NOT NULL,
PRIMARY KEY(img_id)) TYPE = MYISAM" ;
{
echo "<br />He могу выполнить запрос<br />" ;
}
echo "<br />Таблица создана успешно<br />" ;
// закрытие соединения с сервером базы данных
?>
-----90% ошибок находятся в полуметре от монитора...
PATCH
Отправлено: 22 Августа, 2011 - 04:27:18
Частый посетитель
Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011
Помог: 22 раз(а)
if (!mysql_query($str_sql_query, $link)
)
{
echo "<br />He могу выполнить запрос<br />";
exit();
}
echo "<br />Таблица создана успешно<br />";
скобку забыл)
хотя помойму лучше так
походу так можно)
кстати в exit не обязательно указывать кавычки кавычки надо указывать в тех случаях када хочеш вывести сообщение типо замест
можно
(Отредактировано автором: 22 Августа, 2011 - 04:41:13)
foozzi
Отправлено: 22 Августа, 2011 - 07:37:17
Посетитель
Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011
Откуда: rm -rf /
Помог: 0 раз(а)
спасибо с базой разобрался, теперь вот код, тупо белая страница, что за фигня:
PHP:
скопировать код в буфер обмена
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?PHP //admin.php
//Подключим файл конфигураций
include_once ( "config.php" ) ;
//Файл со вспомогательными функциями.
include_once ( "funcs.php" ) ;
//Файл подключения к Б,Д,
include_once ( "connect_db.php" ) ;
if ( ! isset ( $_GET [ 'action' ] ) || $_GET [ 'action' ] == '' ) // Действие не установлено {
echo '<tr><td align=center> <a href="?action=new" style="color: black;">
<h3>Загрузка картинки</h3></a></td></tr>' ;
if ( $q = mysql_query ( "Select img_file, img_descr, img_date From gallery" ) ) {
{
echo '<tr><td align="center"><img src="gallery/' . $res [ 'img_file' ] . '">
<a href="?action=edit&id=' . $res [ 'id' ] . '"> [e] </a>
<a href="?action=del&id=' . $res [ 'id' ] . '">[x]</a></td></tr>' ; }
}
else
{
}
}
else
{
echo "<h1>Операции с новостями</h1>" ;
if ( $_GET [ 'action' ] == 'new' )
{
echo '<h2>Добавление новости</h2>' ;
if ( ! isset ( $_POST [ 'new_do' ] ) ) {
echo '<form name="frm_new" enctype="multipart/form-data" method="post" action="">
<table>
<tr>
<td>Заголовок:</td> <td><input type="text" name="title" size="60" value="">
</td></tr>
<tr>
<td>Дата:</td><td><input type="text" name="date_1" size="2" value="">
<input type="text" name="date_2" size="2" value="">
<input type="text" name="date_3" size="4" value=""></td></tr>
<tr>
<td>Картинка:</td> <td><input type="file" name="img"></td></tr>
<tr>
<td>Содержимое:</td>
<td><textarea name="text" rows=5 cols=20 wrap="off"></textarea></td></tr>
<tr>
<td colspan="2"><input type="submit" name="new_do" value="Принять"></td></tr>
</table></form>' ;
}
else
{
$title = clear( $_POST [ 'title' ] ) ;
$date = clear( $_POST [ 'date_3' ] ) . "-" . clear( $_POST [ 'date_2' ] ) .
"-" . clear( $_POST [ 'date_1' ] ) ;
$text = clear( $_POST [ 'text' ] ) ;
if ( upload( $_FILES , $url ) )
{
$img_file = basename ( $_FILES [ 'img' ] [ 'name' ] ) ; }
if ( ! mysql_query ( "Insert Into " . SQL_TABLE_PREFIX
. "news (title, text, date, img_file, views) Values('" . $title . "', '" . $text . "', '" . $date . "', '" . $img_file . "', 0)" ) )
{
}
}
echo ' <br><br><a href="?">« Back</a>' ;
}
if ( $_GET [ 'action' ] == "edit" )
{
$id = clear( $_GET [ 'id' ] ) ;
if ( ! isset ( $_POST [ 'do_edit' ] ) ) {
img_file From " . SQL_TABLE_PREFIX. "news Where id=" . $id . " Order By id Desc" ) ;
{
// здесь фильтрация не обязательно - выборка данных ведется
Прямо Из БД. и способа вставить опасные данные - пиндык! нема..
$dy = substr ( $ed_sel_res [ 'date' ] , 0
, 4
) ; $dm = substr ( $ed_sel_res [ 'date' ] , 5
, 2
) ; $dd = substr ( $ed_sel_res [ 'date' ] , 8
, 2
) ;
echo '<form name="ed_frm" action="" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>Заголовок:</td> <td><input type="text" name="title"
size="60" value="' . $ed_sel_res [ 'title' ] . '"></td></tr>
<tr>
<td>Дата:</td><td><input type="text" name="date_1" size="2" value="' . $dd . '">
<input type="text" name="date_2" size="2" value="' . $dm . '">
<input type="text" name="date_3" size="4" value="' . $dy . '"></td></tr>
<tr>
<td>Содержимое:</td><td>
<textarea name="text" name="text" rows=5 cols=20 wrap="off">' . $ed_sel_res [ 'text' ] . '
</textarea></td></tr>
<tr><td>Картинка:</td> <td><input type="file" name="img" ></td></tr>
<tr><td colspan="2"><img src="imgs/LD_imgs/' . $ed_sel_res [ 'img_file' ] . '"
alt="Picture"></td></tr>
<tr><td><input name="url" type="hidden" value="' . $ed_sel_res [ 'img_file' ] . '">
<input type="submit" name="do_edit" value="Принять"></td></tr></form>
</form>' ;
}
}
else
{
$title = clear( $_POST [ 'title' ] ) ;
$date = clear( $_POST [ 'date_3' ] ) . "-" . clear( $_POST [ 'date_2' ] ) .
"-" . clear( $_POST [ 'date_1' ] ) ;
$text = clear( $_POST [ 'text' ] ) ;
$img = basename ( $_FILES [ 'img' ] [ 'name' ] ) ; $oldurl = clear( $_POST [ 'url' ] ) ;
if ( upload( $_FILES , $url ) )
{
if ( $_FILES [ 'img' ] [ 'name' ] != $oldurl )
{
}
if ( ! mysql_query ( "Update " . SQL_TABLE_PREFIX
. "news Set title='" . $title . "', text='" . $text . "', date='" . $date . "', img_file='" . $img . "' Where id=" . $id ) )
{
}
}
else
{
if ( ! mysql_query ( "Update " . SQL_TABLE_PREFIX
. "news Set title='" . $title . "', text='" . $text . "', date='" . $date . "'Where id=" . $id ) )
{
}
}
}
}
if ( $_GET [ 'action' ] == "del" )
{
$id = clear( $_GET [ 'id' ] ) ;
SQL_TABLE_PREFIX. "news where id=" . $id ) ;
if ( ! mysql_query ( "Delete from " . SQL_TABLE_PREFIX
. "news Where id=" . $id ) ) {
echo "Ошибка удаления данных!" ;
}
else
{
@ unlink ( $url . "/" . $del_img_res [ 'img_file' ] ) ;
}
}
}
?>
-----90% ошибок находятся в полуметре от монитора...
PATCH
Отправлено: 22 Августа, 2011 - 08:14:47
Частый посетитель
Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011
Помог: 22 раз(а)
1. может научимся разделять код html от php хотяб большые куски) (дать бы ваш самописный сайт обычному дизайнеру он голову сломает капаясь в php скриптах в поиске что за html тэги вы подставляли)
2. в вашем скрипте че та я невижу начало тэга <html><head><body> как эт у вас тэг meta лежит вне тэга <head>? нету как и начало так и конца тэгов
3. хотяб про коментировали я смотря на код вижу пор***у
что я вижу в начале: если не существует переменой гет экшин или он пустой (проверка на пустоту empty() ) выводим заголовок загрузка картинки, а так же снизу заголовка после в этом же логическом выражении выводим с бд 3 поля img_file, img_descr, img_date и загоняем в массив здесь же в цикле while картинку и под картинкой выводим ссылки на редактирование и удаление картинки самое интересное тут есть у нас параметр id который пренадлежит переменой $res['id'] Отсюда как я и говорил порн***а мы вывели с бд 2 лишних поля img_descr, img_date но не вывели поле id о чем это говорит? вы не внимательно писали. за имя edit и delete как я понел выступает bbcode . вот это я счас подробно расписал первые 30 строк (я кстати не описал что мы еще инклудим 3 файла)
мне интересно причем здесь заголовок ЗАГРУЗКА картинки к ВЫВОДУ картинки и ее редактированию?))
пролистал,
откудо то там функции clear, upload таких я даже незнаю) да и php.su каталог функций не выдает их)
предлагаю в самом начале скрипта сделать error_reporting(2047); и прокоментировать хотяб самое основное.
и бо капатся в коде без коментов и смотреть на функции которые не существует) эт реально порн***а
(Отредактировано автором: 22 Августа, 2011 - 08:19:02)
foozzi
Отправлено: 22 Августа, 2011 - 08:49:08
Посетитель
Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011
Откуда: rm -rf /
Помог: 0 раз(а)
разобрался, дело было не в html коде а в том что я не правильно die( echo mysql_error() ); прописал
надо так die( 'echo mysql_error()' );
а функции которых ты не видел вот
PHP:
скопировать код в буфер обмена
<?PHP
// Функция очистки строк
function clear( $string )
{
{
return FALSE ;
}
else
{
}
}
//Ф-я загрузки картинки в папку
function upload( $_FILES , $url , $maxsize = 1024)
{
if ( $_FILES [ 'img' ] [ 'name' ] != '' )
{
//Проверяем размер файла
if ( $_FILES [ 'img' ] [ 'size' ] > 0 AND $_FILES [ 'img' ] [ 'size' ] <= ( $maxsize * 1024 ) )
{
//Проверяем расширение файла
if ( $_FILES [ 'img' ] [ 'type' ] == 'image/jpeg' ||
$_FILES [ 'img' ] [ 'type' ] == 'image/jpg' ||
$_FILES [ 'img' ] [ 'type' ] == 'image/pjpeg' )
{
//Проверяем загрузился ли файл на сервер
{
//Перемещаем загруженный файл в необходимую папку $url
$url . "/" . basename ( $_FILES [ 'img' ] [ 'name' ] ) ) ) {
return TRUE ;
}
else
{
/*Для разработчика*/
die ( "move_uploaded_file | " . $_FILES [ 'img' ] [ 'error' ] ) ; /*Для пользователя*/
return FALSE ;
}
}
else
{
/*Для разработчика*/
die ( "is_uploaded_file | " . $_FILES [ 'img' ] [ 'error' ] ) ; /*Для пользователя*/
return FALSE ;
}
}
else
{
/*Для разработчика*/
die ( "type | " . $_FILES [ 'img' ] [ 'error' ] ) ; /*Для пользователя*/
return FALSE ;
}
}
else
{
/*Для разработчика*/
die ( "size | " . $_FILES [ 'img' ] [ 'error' ] ) ; /*Для пользователя*/
return FALSE ;
}
}
}
?>
-----90% ошибок находятся в полуметре от монитора...
PATCH
Отправлено: 22 Августа, 2011 - 08:59:16
Частый посетитель
Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011
Помог: 22 раз(а)
не пугай меня
зачем двойной вывод информации? die и exit аналогичные функции и при написании скобок вы уже можете выводить информацию т.е
PHP:
скопировать код в буфер обмена
кстати насчет clear ты проверь ее на работо способность через
exit к примеру в title напиши типо
< a
> / заголовок
) ; </ a
>
и после $title = clear( $_POST [ 'title' ] ) ;
ибо я уже пытался написать функцию на обработку текста) однако как мне сказали из функции значение не передается т.е у вас не уберет теги html и не экранирует слеш) попробуйте)
насчет html тегов лучше повставляйте а то как то криво может страница генерироватся).
и еще в первых 30 строках у вас нормально выводит?) а то вы указываете параметр id не выводя его с базы)(Отредактировано автором: 22 Августа, 2011 - 09:01:49)
Поиск в теме | Версия для печати
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB