![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Подскажите, пожалуйста, вот хочу сделать регистрационную страничку. Но столкнулся с проблемой, а состоит она в следующим вот форма:
Только вот при открытии этого скрипта он сразу же добавляет в БД login причем вписали его или нет как сделать что б только после нажатия на кнопку “Регистрация” он добавлял данные? Заранее спасибо! |
|||
|
||||
| almagnit |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 3.4.2008 Репутация: нет Всего: 7 |
Сделай проверку.
В чем проблема ? |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Проблема такая вот весь это т файл название reg.php там видно идет и форма и сам код так вот когда я ввожу в браузере http://localhost/reg.php то открывает все ок и работает без ошибок ну вот когда при открытии этой страницы там же нужно ввести логин и нажать регистрацию, а это т скрипт сам добавляет при открытии этой страницы логин в базу, причем нажал я на кнопку регистрация или нет. Я просто хочу узнать, как сделать, что б после открытия этой страницы он не добавлял сразу же, а только после нажатия на кнопку регистрация.
|
|||
|
||||
| Lesnoy_chelovek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 19.9.2007 Репутация: нет Всего: 1 |
В кнопку добавь name и потом лови это значение
|
|||
|
||||
| abalich |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 26.2.2007 Где: Воронеж Репутация: нет Всего: нет |
-------------------- Мой дядя самых честных "грабил"... |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Спасибо.
Добавлено @ 11:42 Так еще один минус когда открываю эту страницу все ок он не добавляет но когда я обновляю это страницу то но все равно добавляет логин и добавляет логин тот который был введен последний раз. Это сообщение отредактировал(а) Genn1us - 4.5.2008, 12:06 |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
И еще как выводить ошибку например если не ввели логин то под строчкой
Введите логин: выводим, Вы не ввели логин! А то у меня в начале страницы все ошибки выводит. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Не выводить сразу, а записывать в переменные.
а эти переменные выводить в форме. и перед строчкой $INSERT = "INSERT INTO login (login) VALUES ('$login')"; добавь строчку $login=mysql_real_escape_string($_POST['login']); |
|||
|
||||
| abalich |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 26.2.2007 Где: Воронеж Репутация: нет Всего: нет |
Genn1us, делай header('location: ФАЙЛ.php');
И все. ПРи обновлении страници данные на POSTят! -------------------- Мой дядя самых честных "грабил"... |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Добавляет после обновления только тогда когда логин еже вводили ну, например я вввел логин Вася и нажал регистрация, он добавил в базу и после нажатия на кнопку все поля пустые я нажимаю обновить и он добавляет опять то т же ник (Вася) без нажатия на кнопку. Я вот подумал если поставить проверку на повтор логина то не будет грубой такой ошибки?
Feldmarschall, добавил
Не помогло( abalich, Эт.. я не силен в пхп только учусь, немножко не понял. Эта строчка заносит инфу в ФАЙЛ.php? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
||||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Feldmarschall, Можете подробнее об этом пожалуйста.
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
||||
|
||||
| Genn1us |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Плин не понятно(
Вот abalich, написал:
По той ссылке там:
А тут что? Обьясните если не трудно что куда. Добавлено через 9 минут и 33 секунды Обьясни какую ссылку нужно вставить и на что? в
|
||||||
|
|||||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
этот код в твой скрипт.
или вставить его туда ты тоже не можешь и даже это за тебя надо сделать? |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Нет.
Получается нужно так:
Что б например в reg.php была форма а в register.php сам код? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
куда хочешь, чтобы пользователь попал - то и пиши.
|
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
А нельзя как-то без перенаправления?
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Можно. Но тогда с повторным добавлением.
Что за проблемы? Ты спросил, как тебе исправить твой скрипт. Тебе ответили. Теперь ты спрашиваешь, нельзя ли без этого обойтись.Ты можешь не выбрасывать игрушку, как пятилетний ребенок, а объяснить, чем она тебя не устраивает? Необходимостью указать какой-то адрес? Какие проблемы? Пользователь хоть что-то должен увидеть? или белый экран? или что-то осмысленное? У этого осмысленного есть адрес? почему нельзя его подставить в локейшен и забыть уже об этой проблеме, которая яйца выеденного не стоит? |
|||
|
||||
| Genn1us |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Да просто я с этой строчкой:
Не могу не че понять. Написать так: Что б после регистрации перенаправлял на localhost
Только вот можно же и без этого на многих рег страничках нет этой переадресации же. |
||||
|
|||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Это тебе только кажется, что нету.
|
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Feldmarschall, вот в самом конце скрипта пишу:
Но выдает ошибку: Parse error: syntax error, unexpected ':' in D:\AppServer\www\reg.php on line 25 |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Попробуй ещё раз. Буз ошибок.
Так ,как сам же писал здесь одним сообщением выше |
|||
|
||||
| abalich |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 26.2.2007 Где: Воронеж Репутация: нет Всего: нет |
Genn1us,
-------------------- Мой дядя самых честных "грабил"... |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Исправил на:
Пишет Warning: Cannot modify header information - headers already sent by (output started at D:\AppServer\www\reg.php:9) in |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
ничего нельзя выводить до этой команды.
а ты что-то выводишь в 9 строке |
|||
|
||||
| abalich |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 26.2.2007 Где: Воронеж Репутация: нет Всего: нет |
Genn1us, напиши в начале всей страници
ob_start(); а в самом конце ob_end_flush(); -------------------- Мой дядя самых честных "грабил"... |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
9-я строка: <?
Вот короче:
тут тогда получится не 9-я а 7-я строчка |
|||
|
||||
| abalich |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 26.2.2007 Где: Воронеж Репутация: нет Всего: нет |
Genn1us, напиши в начале всей страници
ob_start(); а в самом конце ob_end_flush(); -------------------- Мой дядя самых честных "грабил"... |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
abalich, на странице с обработкой регистрации это лишнее.
ты не понимаешь, что делают эти команды поэтому не надо ничего про них писать. |
|||
|
||||
| abalich |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 26.2.2007 Где: Воронеж Репутация: нет Всего: нет |
Feldmarschall, буфферизирует страницу.
This function will turn output buffering on. While output buffering is active no output is sent from the script (other than headers), instead the output is stored in an internal buffer. А вообще перед header(''location'); Ничего не должно выводиться. Так как заголовок уже был послан ошибка будет выводиться! -------------------- Мой дядя самых честных "грабил"... |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Так люди пожалуйста скажите как сделать такое после нажатия на кнопку регистрация если все ок и инфа занеслась в базу по середине страницы появляется маленькое окно с текстом На главную и все.
|
|||
|
||||
| abalich |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 26.2.2007 Где: Воронеж Репутация: нет Всего: нет |
ну если все ок то:
1) Можешь взять инфу из текстового документа или из бд и вывести его при помощи echo 2) Можешь записать ему cookie и если куки есть ( + проверка кук в БД , но можно и без неё) вывести содержимое откуда хочешь!! -------------------- Мой дядя самых честных "грабил"... |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
abalich, прекрати нести бред. Сам не знаешь ничего, и других пытаешься учить всякой фигне
Genn1us, тебе надо не маленькое окошко с текстом, а УЧИТЬСЯ ДЕЛАТЬ ПО-ЧЕЛОВЕЧЕСКИ Чтобы хоть одна нормальная строчка была в твоих кривых скриптах. |
|||
|
||||
| abalich |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 26.2.2007 Где: Воронеж Репутация: нет Всего: нет |
Feldmarschall, А чем проблема ??????
-------------------- Мой дядя самых честных "грабил"... |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Возник еще вопрос вот код:
Почему если ввести пасс или логин и он не совпадает с тем что в БД то все равно пускает в forum.php и при этом пишет Ошибка: пароль к \"$login\" не подходит! А если ввести все верно то есть пасс и логин тот который в БД то не пишет Ошибка: пароль к \"$login\" не подходит! А просто пропускает. Подскажите, что еще дописать, что б если пас или логин не совподал то он просто бы писал Ошибка: пароль к \"$login\" не подходит! и не пропускал к forum.php Буду очень благодарен за ответы. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
exit
а в forum.php у тебя, как я понимаю, никакой проверки на пользователя вообще нету? |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
В forum.php там проверки и не нужны там фреймы.
мне нужно что б проверки были в enter.php то есть в том коде. А что значи exit?) |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
exit - это команда php
про то что в forum.php не нужны проверки - это ты отжог. особенно про фреймы |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Feldmarschall, подскажи как записать следующее вот, например такая схема:
если { Тут очень много действий (проверки там на введение логина и пароля на бан и тд) } Если все ок То { Опять действие } Я то знаю что есть if и else но можно ли в первой скобке if { введение логина и пароля на бан и тд } если ошибок нет то else { пропуск } Намекни как это можно записать в одной if{} если это вообще возможно? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
мне кажется, все твои проверки можно сделать в одном запросе.
|
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Записал так:
<? if(empty($login)) { print "Ошибка: вы не ввели логин!"; } if (empty($password)) { print "Ошибка: вы не ввели пароль!"; } else { Пропуск } ?> Вот только такой вопрос сильно криво так получается? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Нафига все эти подробности? "вы ввели, вы не ввели".
Это не форма гостевой книги. тут есть только два состояния - правильный пароль - неправильный пароль. какая разница, пустой он или полный? проверил по базе, есть такая пара логин-пассворд - пустил. нету - не пустил. 1 if, 1 else. Все. |
|||
|
||||
| Genn1us |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Feldmarschall, я спросил коряво так или нет в смысле дырка не получается?
Нафига все эти подробности? "вы ввели, вы не ввели". я для примера это ввел там можно и проверку на пароль написать в смысле правильно ввел или нет. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Все эти проверки делаются одним запросом SQL.
когда будут другие задачи - вот их для примера и будешь приводить. А данная решается в одно условие. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |