Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 753
от 30.08.2007, 18:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 436, Экспертов: 52
В номере:Вопросов: 5, Ответов: 14


Вопрос № 99558: Добрый день. Подскажите, пожалуйста, как можно отладить html страницы, которые используют php? Заранее благодарен....
Вопрос № 99576: Почему при записи в таблицу базы данных Mysql заносятся только числовые значения, если в переменной присутсвует какой-либо символьный знак записи не происходит. тип полей в базе данных- varchar. ..
Вопрос № 99587: Здравствуйте, уважаемые эксперты. Помогите мне, пожалуйста, разобраться с кодом, который я нашел в одной книге. Почему-то он у меня не работает (при нажатии на кнопку не вызывается вторично данный файл). Может я что-то не то делаю? Заранее благо...
Вопрос № 99591: Подскажите пожалуйста что означает такая ошибка PHP -"Warning: Cannot modify header information - headers already sent by (output started at C:ServerApacheApache2htdocsCookie.php:1) in C:ServerApacheApache2htdocsCookie.php on line 3&qu...
Вопрос № 99646: Здраствуйте уважаемые эксперты. Сталкулся с такой проблемой - чтоб много не писать вот фото http://divion.ru/1111.jpg . Как я понял надо просто на рамку налаживать рисунок, но проблема возникла с нижним правым углом, тк там край полукруглый, а у фото...

Вопрос № 99.558
Добрый день.
Подскажите, пожалуйста, как можно отладить html страницы, которые используют php?
Заранее благодарен.
Отправлен: 24.08.2007, 18:09
Вопрос задал: Ігор (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Бобровский Сергей Сергеевич
Здравствуйте, Yuchimenko!
Если я правильно понял, то вы хотите полазить на чужих сайтах в PHP коде? К сожалению, легальным путём сделать это невозможно. Это дело для хакеров. Но это уже не по адресу!
---------
Никогда не бойтесь делать то, что не умеете! Помните: Ноев Ковчег построил любитель, а Титаник - профессионал.
Ответ отправил: Бобровский Сергей Сергеевич (статус: 2-ой класс)
Ответ отправлен: 24.08.2007, 18:16
Оценка за ответ: 2
Комментарий оценки:
Нет, я пишу свой сайт, и хочу убедиться в том, что php код не содержит ошибок, и что будет выполняться так, как мне нужно.

Отвечает: Kruphi
Здравствуйте, Yuchimenko!
Установите на своем компьютере локальный http-сервер с php. Рекомендую комплект: http://www.denwer.ru/
Ответ отправил: Kruphi (статус: 2-ой класс)
Ответ отправлен: 24.08.2007, 19:04
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ. Комплект оказал мне неоценимую пользу.

Отвечает: din
Здравствуйте, Yuchimenko!
Проще всего скачать бесплатный компилятор + IDE с сайта http://www.roadsend.com/home/index.php, есть мануал, правда на английском. Создаете в нем проект, типа Stand Alone Web Application. И уже там в IDE можно выставлять точки останова, просматривать значения переменных и т.п. Я сам не практиковал, но в мануале это есть.
Удачи!
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: din (статус: Практикант)
Ответ отправлен: 24.08.2007, 21:27
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ, но я уже воспользовался советом Kruphi и скачал "денвер".

Отвечает: Powoditch konstantin
Здравствуйте, Yuchimenko!
Для отладки html страниц с php кодом я обычно использую следующие функции:
-- echo $var; - просто выводит значение какой-то переменной, с масивами и обьектами выводит ключевые слова array и object, неудобно выводить массивы
-- print_r($var) - отличная ф-я для вывода всего что может только придумать Ваша фантазия начиная от ассоциативных масивов произвольной размерности и заканчивая сложными динамическими обьектами. если перед ёё вызовом вставить echo "<pre>"; а после echo "</pre>"; то получается вообще чудненько.
-- dump_var($var) - выводит тип переменной. бывает иногда полезной.
Это три самые используемые мною ф-и для отладки. Но самая полезная на моё скромное мнение это print_r, она временами творит чудеса.
Ответ отправил: Powoditch konstantin (статус: 5-ый класс)
Ответ отправлен: 24.08.2007, 22:01
Оценка за ответ: 4
Комментарий оценки:
Не спорю, эти функции можно использовать для отладки, но для этого нужно сначала установить какой-то вебсервер с поддержкой php, поэтому ответ Kruphi мне помог больше. Хотя думаю, что и ваш ответ мне принесет пользу. Попозже.
Спасибо.


Вопрос № 99.576
Почему при записи в таблицу базы данных Mysql заносятся только числовые значения, если в переменной присутсвует какой-либо символьный знак записи не происходит. тип полей в базе данных- varchar.

Приложение:

Отправлен: 24.08.2007, 20:19
Вопрос задал: Shell (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Селев Валерий
Здравствуйте, Shell!

Текстовые значения необходимо заключать в кавычки (либо одинарные, либо двойные):

Приложение:

Ответ отправил: Селев Валерий (статус: 5-ый класс)
Ответ отправлен: 24.08.2007, 20:24

Отвечает: C4tnt
Здравствуйте, Shell!

sql запросы предполагают, что все константы кроме чисел должны быть заключены в кавычки.

Попробуйте запись такого вида:
mysql_query('INSERT INTO users (password,user) VALUES("'.$password.'","'.$login.'");');

В целях безопасности перед выполнением такого запроса стоит убедиться в том, что
$user содержит именно имя пользователя, а $password именно пароль

PS.
А зачем у вас в коде перевёрнуты password и user, а значения записываются в обычном порядке?
Получается, что password попадает в поле user и наоборот.

---------
Теперь к нашим ответам осталось лишь найти вопросы
Ответ отправил: C4tnt (статус: 3-ий класс)
Ответ отправлен: 24.08.2007, 20:36
Оценка за ответ: 5
Комментарий оценки:
Спасибо, да не заметил баг!

Отвечает: Fitcher
Здравствуйте, Shell!
Просто Mysql не распознает строку если она не в ковычках, чтоб он это делал надо занести переменные в кавычки.
это будет выглядеть так :

mysql_query("INSERT INTO users (password,user) values('".$login."','".$password."')");

всего доброго...

Приложение:

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

Ответ отправил: Fitcher (статус: 6-ой класс)
Ответ отправлен: 24.08.2007, 21:04
Оценка за ответ: 5
Комментарий оценки:
Благодарствую!


Вопрос № 99.587
Здравствуйте, уважаемые эксперты. Помогите мне, пожалуйста, разобраться с кодом, который я нашел в одной книге. Почему-то он у меня не работает (при нажатии на кнопку не вызывается вторично данный файл). Может я что-то не то делаю?
Заранее благодарен за любые ответы.

P.S. WinXP, PHP 4.3, Apache 2.2

Приложение:

Отправлен: 24.08.2007, 22:10
Вопрос задал: Sanya (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Селев Валерий
Здравствуйте, Sanya!

Попробуйте изменить значение параметра register_globals на Off в файле php.ini и перезапустите Apache.
Ответ отправил: Селев Валерий (статус: 5-ый класс)
Ответ отправлен: 24.08.2007, 22:14
Оценка за ответ: 3
Комментарий оценки:
Спасибо за ответ. Но не помогло. :(

Отвечает: Fitcher
Здравствуйте, Sanya!

Рассмотрев Вашу страничку я заметил два момента которые нужно исправить это:

1. в форме в атрибуте action вы пишете <?php echo $PHP_SELF?> но переменная не обозначена и он выводит ошибку, изменияем надпись в action - е т.е. будет выглядеть так : <form method="post" action="<? echo $_SERVER['PHP_SELF']?>">
Вот теперь у Вас форма ссылается на себя.

2. Это непонятное использование цикла while в начале странички, он будет возвращать постоянно один и тотже элемет массива если вы хотите вывести все переменные переданные методом $_POST проще написать цикл foreach место while,
выглядить он будет примерно так:
foreach($_POST as $name=>$value){
echo "$name = $value<br> ";
}.

всего доброго...

Приложение:

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

Ответ отправил: Fitcher (статус: 6-ой класс)
Ответ отправлен: 25.08.2007, 07:47
Оценка за ответ: 5
Комментарий оценки:
Спасибо за развернутый ответ. Вам 5+ :)

Отвечает: Azrr
Здравствуйте, Sanya!
Я не совсем понял ваш вопрос, возможно приведённый пример вам больше понравиться.

Приложение:

Ответ отправил: Azrr (статус: 3-ий класс)
Ответ отправлен: 25.08.2007, 12:46
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ. Работает :)


Вопрос № 99.591
Подскажите пожалуйста что означает такая ошибка PHP -"Warning: Cannot modify header information - headers already sent by (output started at C:ServerApacheApache2htdocsCookie.php:1) in C:ServerApacheApache2htdocsCookie.php on line 3"

Код указан в приложении:

Приложение:

Отправлен: 24.08.2007, 22:59
Вопрос задал: Shell (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Бородин Александр Олегович
Здравствуйте, Shell!
Такая ошибка возникает, если Вы посылаете какие-либо заголовки(или вызываете функции session_start, setcookie) после вывода какой-то информации в браузер. Так делать нельзя. В данном случае вывод произошел в результате вызова неопределенной ранее переменной $access - должно было вывестись сообщение о неопределенной переменной, что равносильно оператору вывода. Ее надо сначала определить, а потом вызывать. Кроме того, не используйте функцию setcookie, если хотите использовать кукисы. Лучше назначайте явно значения членам суперглобального массива $_COOKIE.

Следует написать, например, так:
<?php
if (!isset($_COOKIE['access'])) {
$_COOKIE['access'] = 1;
} else {
$_COOKIE['access']++;
}
---------
Ничто не сближает людей так, как совместное преступление. Или покупка телевизора.
Ответ отправил: Бородин Александр Олегович (статус: 6-ой класс)
Ответ отправлен: 24.08.2007, 23:15
Оценка за ответ: 5
Комментарий оценки:
Благодарю!

Отвечает: Azrr
Здравствуйте, Shell!
Это означает, что в браузер уже что-то выведено(возможно информация о ошибке).
Ответ отправил: Azrr (статус: 3-ий класс)
Ответ отправлен: 25.08.2007, 12:48


Вопрос № 99.646
Здраствуйте уважаемые эксперты. Сталкулся с такой проблемой - чтоб много не писать вот фото http://divion.ru/1111.jpg . Как я понял надо просто на рамку налаживать рисунок, но проблема возникла с нижним правым углом, тк там край полукруглый, а у фоток он прямой, и при наложении фигня получается(( Как можно решить эту проблему? Заранее спасибо.
Отправлен: 25.08.2007, 17:25
Вопрос задал: Matornik (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Емельянов Данил Юрьевич
Здравствуйте, Matornik!
Вы обратились не по теме. PHP тут вам вряд ли поможет. Однако, я попробую вам помочь. Для наложения картинки необходимо ее обрезать на Photoshop по контуру. Для этого используйте Pen Tool или Polygonal Lasso Tool. Вот и все.

Кстати на самом сайте http://division.ru/ находится вирус, который, если бы не Касперский, заразил бы мой комп. Это ни есть хорошо.

Удачи!!!
---------
Жить хорошо, а хорошо жить еще лучше!
Ответ отправил: Емельянов Данил Юрьевич (статус: 3-ий класс)
Ответ отправлен: 25.08.2007, 18:16

Отвечает: C4tnt
Здравствуйте, Matornik!

Вы можете обойтись даже без ПХП.
Создайте таблицу в одну ячейку и на её фон положите вашу фотку.
В фотошопе сделайте из вашей рамки прозрачный gif (прозрачный в том месте, где должна быть видна фотка) и непрозрачный в остальных местах. Потом этот гиф нужно вставить в табличку с помощью img и выровнять. Gif закроет собою невидимую часть фотки и всё будет ОК.
---------
Теперь к нашим ответам осталось лишь найти вопросы
Ответ отправил: C4tnt (статус: 3-ий класс)
Ответ отправлен: 26.08.2007, 19:46


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.58 от 30.08.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное