powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Переменные в PHP
20 сообщений из 20, страница 1 из 1
Переменные в PHP
    #32587930
ancient_ank
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос в следующем.
Например, я в форме ввожу:
.......
<input type="text" name="user_name">
.......

Затем когда я в PHP обращаюсь к ней, то он ее не видит. Т.е. если я напишу:
print "Name: $user_name.";
То он выдает:
Name: .
И все. Подскажите что я не так делаю.

P.S: Естественно, этот код я обрезал. На странице я пишу все полностью.
...
Рейтинг: 0 / 0
Переменные в PHP
    #32587943
User_Name
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще-то (ИМХО) вроде бы надо так :

<input type="text" name="user_name" value="cool_user">
...
Рейтинг: 0 / 0
Переменные в PHP
    #32588006
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
ancient_ankкогда я в PHP обращаюсь к ней, то он ее не видит. Т.е. если я напишу:
print "Name: $user_name.";
То он выдает:
Name: .
И все. FAQ
...
Рейтинг: 0 / 0
Переменные в PHP
    #32588235
Фотография Alex Rootoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
register_globals=Off

Поетому нифига и не импортируется.
Нужно обращатся через $_GET || $_POST.
А вааще то читай факи пока.

With best regards Alex Rootoff
...
Рейтинг: 0 / 0
Переменные в PHP
    #32588597
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверь свой ини. Там надо отменить запрет на подобного рода деятельность :)
К сожалению я не помню наизусть как зовётся этот параметр, но в какойнибудь мануалке это написанно.

Или я попозже кину, когда будет не так больно напрягать память:).
...
Рейтинг: 0 / 0
Переменные в PHP
    #32588681
Alexey Agafonov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, в FAQ все это есть. Да фиг с тобой, слушай сюда: ищи файл php.ini (или в корневой windows или в папке с PHP), там ищешь строку

regidter_globals = Off

И меняешь на

regidter_globals = On

Конечно, считается что это типа не так защищенно, но это все фигня. Для новичков уж точно. Так что меняй смело. Перезагрузка сервера или даже Apache не требуется. Ну а если ни в какую менять не хочешь, то обращайся к переменной $_GET['user_name'] или $_POST['user_name'], в зависимости от того, как она передается из формы.
...
Рейтинг: 0 / 0
Переменные в PHP
    #32588879
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Автор
Предыдущего оратора не слушай,
читай ссылку которую тебе дали в первом ответе.
...
Рейтинг: 0 / 0
Переменные в PHP
    #32588931
Alexey Agafonov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс М.2 Автор
Предыдущего оратора не слушай,
читай ссылку которую тебе дали в первом ответе.

Пожалуйста, поясните Ваше высказываение

С уважением, Предыдущий Оратор.
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589059
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКонечно, считается что это типа не так защищенно, но это все фигня. Для новичков уж точно. бред, именно для новичков сделано register_globals = off
так как профи сможет и при register_globals = on написать безопасный скрипт.

авторПерезагрузка сервера или даже Apache не требуется. 1. что имеется ввиду под "сервером" ? Сам компьютер ?
2. В большинстве случаев PHP устанавливается модулем к Apache (mod_php), а в этом случае изменения, внесенные в php.ini, реально появятся ТОЛЬКО после перезагрузки Apache. У тебя, вероятно, php установлен как cgi. В этом случае можно вносить изменения в php.ini без перезагрузки Apache, но такая связка считается непроизводительно и имеет свои ограничения, поэтому редко используется на практике
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589149
Alexey Agafonov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Да,компютер, мне надо было уточнить.
2. Нет, уже стоит как модуль, тут ты прав - я проверил.

Теперь насчет новичков. Off, конечно более безопасен, но под новичком понимается человек, который изучает PHP, а не пишет что-то реальное. Потому что кроме register_globals есть куча более тонких дырок, типа если у тебя нет прав на update, но не update-им и переслаем на другую страницу. Типичная ошибка:

Код: plaintext
1.
2.
3.
 if (нет прав)
  header("location:Пошел на фиг.php");
 mysql($dbname,"update ....");

А надо

Код: plaintext
1.
2.
3.
4.
5.
6.
 if (нет прав)
  {
   header("location:Пошел на фиг.php");
   exit;
  }
 mysql($dbname,"update ....");

И таких тонкостей до фига. Согласись, это намного уязвимей и сложнее, чем register_globals. Так что все-таки для новичков лучше On - путаться меньше будут. По себе знаю, я изучал все это на PHP версии 3, где по умолчанию стояло On и все работало. А вот отследить, как пришла переменная на начальных этапах сложно. Не стоит заморачивать голову этим...
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589199
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
для новичков лучше On - путаться меньше будутЧтобы они потом бегали по всему рунета и вопили, что у них переменные не передаются?
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589219
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Согласись, это намного уязвимей и сложнее,
нет, не намного.
Во времена register_globals = on многие сайты имели дырку:]
Код:
1.
2.
3.
4.
5.
session_start();
if (!$auth) {
    header('Location: ../auth.php');
    exit;
}

поясню. Здесь логика в том что когда админ прошел авторизацию, у него открывалась сессия и ему в сессию писали переменную $auth:
$auth = 'Ok';
session_register('auth');
А на страницах администрирования была проверка, которую я привел выше и которая благодаря register_globals легко обходилась :
http://example.com/admin/area.php?auth=1

Это не менее уязвимое место в скрипте, чем то что привел ты.
Если начинающий изучает пхп, то разбираться ему надо со всеми тонкостями, а ты предлагаешь на одну забить, а на остальных сконцентрироваться

PPS
использование функйии mysql также не приветствуется

ЗЫ
вместо $_GET / $_POST можно использовать массив $_REQUEST если переменная может прийти как через GET так и через POST
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589363
Alexey Agafonov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что же вместо mysql()? mysql_query() что-ли? Какая разница?
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589445
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эта функция - deprecated (устарела и ее могут убрать в последующих версиях)
Я чесно говоря вобще не представляю, откуда новички узнают про функцию, про которую уже даже в мануале не пишут (http://www.php.net/manual/en/ref.mysql.php - нет там функции mysql)

вместо нее надо либо mysql_query либо mysql_db_query
Первая функция - если в скрипте много запросо делается, вторая - если в скрипте делается один запрос.
Дело в том что mysql_db_query (как и твой mysql) сначало выбирает БД (USE $dbname) а потом делает запрос. И если ты напишешь
Код: plaintext
1.
2.
3.
4.
mysql($dbname, "SELECT ..... ");
..
mysql($dbname, "INSERT .... ");
..
mysql($dbname, "INSERT .... ");
скрипт при каждом выполнении функции mysql будет сначало делать подключение к указаной БД и потом делать запрос.

Если же делать
Код: plaintext
1.
2.
3.
4.
5.
mysql_select_db($dbname, $conn);
mysql_query("SELECT ..... ");
..
mysql_query("INSERT .... ");
..
mysql_query("INSERT .... ");
скрипт сразу подключится к указанной БД и не будет каждый раз выполнять USE $dbname

ИМХО лучше сразу использовать связку mysql_select_db + mysql_query
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589467
Alexey Agafonov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс М.вместо нее надо либо mysql_query либо mysql_db_query
А в чем разница между ними? И почему ты меня новичком назвал????
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589501
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> А в чем разница между ними?
функция mysql() - алиас к mysql_db_query

> И почему ты меня новичком назвал????
потому что в ПХП ты еще новичок
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589517
Alexey Agafonov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если я не соглашусь? Категоричные ответы ни к месту
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589548
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебя беспокоит мое мнение или то, что я его высказываю ?
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589551
Alexey Agafonov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И то, и другое.
...
Рейтинг: 0 / 0
Переменные в PHP
    #32589566
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дискуссию заканчиваю.
У меня нет желания обсуждать твое беспокойство и твой уровень владения ПХП
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Переменные в PHP
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]