Помощник
|
[HTML сайт] Как сделать форму регистрации, с сохранением введенных данных? |
Pork6
|
Сообщение
#1
|
||
|
|
||
|
|||
MetSerp |
26.1.2009, 13:21;
Ответить: MetSerp
Сообщение
#2
|
|
Только на html нелзя а вот на php как два бита переслать :sarcastic:
|
|
|
Pork6
|
Сообщение
#3
|
|
Это понимаю.
Только вот PHP для меня - нечто сложно, и учить с нуля ради этого - нет времени. Можно организовать PHP-вставку в HTML-код? Или изобразить данную форму как скрипт и опять же вставить в HTML? Нужно решение =) |
|
|
MetSerp |
26.1.2009, 13:30;
Ответить: MetSerp
Сообщение
#4
|
|
ну если сервер поддерживает php то это 5 минут делов сейчас накидаю :sarcastic:
Эмм а пароль шифровать будем или запишем как ввел пользователь? |
|
|
Pork6
|
Сообщение
#5
|
|
Как ввел, пожалуй.
|
|
|
MetSerp |
26.1.2009, 13:45;
Ответить: MetSerp
Сообщение
#6
|
|
[php]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </head> <body> <?php $email = $_POST['email'];// собираем введенные данные и записываемв переменные $pass = $_POST['pass']; $icq = $_POST['icq']; $name = $_POST['name']; $sename = $_POST['sename']; $text .= "Е mail: $email \n"; // записываем в переменную то что собираемся писать в файл $text .= "Пароль: $pass \n"; $text .= "Icq: $icq \n"; $text .= "Имя: $name \n"; $text .= "Фамилия: $sename \n"; $text .= "------------------------------------------------------------------------------------ \n"; // разделитель для удобства восприятия полученного текста (необязательный элемент) if (!empty($email) && !empty($pass) && !empty($icq) && !empty($name) && !empty($sename)) //если все переменные имеют значения выполняем запись в файл { $file = fopen ("message.txt", "a+"); //открываем для дозаписи файл message.txt лежаший в одной папке с текущей страницей fwrite ($file,$text); // пишем в файл fclose ($file); // закрываем файл } ?> <form name="form1" method="post" action="index.php"> <label for="textfield"></label> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><label for="textfield">E mail</label></td> <td><input type="text" name="email" id="email"></td> </tr> <tr> <td>Пароль</td> <td><input type="text" name="pass" id="pass"></td> </tr> <tr> <td>ICQ</td> <td><input type="text" name="icq" id="icq"></td> </tr> <tr> <td>Имя</td> <td><input type="text" name="name" id="name"></td> </tr> <tr> <td>Фамилия</td> <td><input type="text" name="sename" id="sename"></td> </tr> </table> <p> <label for="Submit"></label> <input type="submit" name="Submit" value="Сохранить" id="Submit"> </p> </form> </body> </html> [/php]Вот голая простая форма пишет в файл имя которого и путь к нему можете менять на свое :rtfm: Форма обрабатывается на той же странице где и заполняется потому action у формы должен быть именем данной страницы Если возникнут вопросы спрашивайте:sarcastic: Ах да и еще если нет необходимости чтобы пользователь заполнял все поля то строчку: [php]if (!empty($email) && !empty($pass) && !empty($icq) && !empty($name) && !empty($sename)) [/php]Замените на : [php]if (!empty($email) || !empty($pass) || !empty($icq) || !empty($name) || !empty($sename))[/php]еще ява скриптом можно выключать и включать кнопку примерно так: [php]function chek() { var email = getElementById('email').value ; pass = getElementById('pass').value ; icq= getElementById('icq').value ; name= getElementById('name').value ; sename= getElementById('sename').value ; if (email != '' || pass != '' || icq!= '' || name!= '' || sename!= '')// если хотя бы 1 из полей заполненно { getElementById('submit').disabled = "false" ;// то кнопка включается } else // если нет { getElementById('submit').disabled = "true" ; // выключается } } [/php]Ну и прикрутить на нужный вам эвент функцию check(). И опять же если надо чтоб были введены все поля, и только потом включена кнопка то : [php] if (email != '' && pass != '' && icq != '' && name != '' && sename != '')[/php]Поясню: условие && означает "И", а условие || "ИЛИ" ну а конструкция != означет "не равно" т.к. ! это отрицание Вроде все (могу быть в чем то не прав я только учусь ) |
|
|
Pork6
|
Сообщение
#7
|
|
Еще раз большое Вам спасибо, завтра размещу на хостинге... Очень благодарен за закомментированный код.
(могу быть в чем то не прав я только учусь ) А можете рассказать подробнее - по какой литературе учитесь PHP? Гугл десятки книг выдает, на каждом форуме свой список из 10 штук. Хочется узнать Ваше мнение в этом вопросе. Ну и прикрутить на нужный вам эвент функцию check(). Не нашел, как реализовать данную строчку. Где создавать эвент? По сути, эвент должен запускаться ввода символа во всех полях. А сам он должен выглядеть примерно так: [PHP] if (!empty($email) && !empty($pass) && !empty($icq) && !empty($name) && !empty($sename)) function chek() [/PHP] Криво вышло, но логика, надеюсь Вам понятна. |
|
|
MetSerp |
26.1.2009, 23:07;
Ответить: MetSerp
Сообщение
#8
|
|
Учусь я по справочнику функций (возможно я извращенец но я туго понимаю маны написанные языком "Для чайников" но при этом начинающиеся слов "А сейчас для начала мы напишем свой движок с использованием аякс php и mysql ")
плюс еще книжку взял у друга по 5 php почитываю в метро но ничего нового там нет для меня так водичка Но мне проще я все таки лет с 12 учил делфи и мне уже ненужно вчитываться чем переменная типа int отличается от string . По сути, эвент должен запускаться ввода символа во всех полях. А сам он должен выглядеть примерно так: эмм ну тогда на onclick у таблицы формы повесить можно <form name="form1" method="post" action="index.php" onClick="chek()"> Тогда всякий клик по форме будет вызывать функцию но можно и сделать на движение мыши по форме то есть <form name="form1" method="post" action="index.php" onMouseMove="chek()">
|
|
|
Pork6
|
Сообщение
#9
|
|
Возник вопрос:
http://prize.comli.com/ - после ввода данных, и нажатия на кнопку, вылезают ошибки. Причем там, где идет сохранение. Отсюда и вопрос: 1) Это я криво код отредактировал? 2) Проблемы с хостингом? Ну а сам файл, куда должно идти сохранение лежит все там же: http://prize.comli.com/reg.txt |
|
|
MetSerp |
27.1.2009, 1:30;
Ответить: MetSerp
Сообщение
#10
|
|
Права у папки с файлом reg.txt на 755 выставьте:prilichno:
можно еще попробовать вот такую строчку в начало скрипта добавить [php]chmod ("..", 0755);[/php] (скорее всего выдаст ошибку) либо [php]chmod ("reg.txt", 0755);[/php] но может не помочь (по факту это тоже самое что и смена в ручную через фтп) либо [PHP]<?php опустить название файла а ввести путь $file = 'public_html/reg.txt'; // тут моно // Устанавливаем соединение в FTP-сервером $conn_id = ftp_connect($ftp_server); // Регистрируемся на сервере $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // Устанавливаем права доступа 755 для файла или директории $file if (ftp_chmod($conn_id, 0755, $file)) { echo "все норм\n"; } else { echo "фигня какая то получилась\n"; } // Закрываем FTP-соединение ftp_close($conn_id); ?> [/PHP] Но по факту это все тоже самое что и подключится тотал командером и сменить просто так :sarcastic: |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
[Услуги] Баннер/Графика/Сайт | 241 | FillPlay | 180650 | Сегодня, 15:19 автор: FillPlay |
|
Будет ли склейка сайтов если старый телефон перенести на новый сайт? | 1 | noviktamw | 399 | Вчера, 18:31 автор: malamut |
|
Как в пушсетках покупают по 100-200 тысяч кликов за день? | 2 | Boymaster | 699 | Вчера, 17:52 автор: Boymaster |
|
Ваш сайт блокирует Роскомнадзор? | 29 | hollywooduk | 6023 | Вчера, 11:21 автор: hollywooduk |
|
Как вы отдыхаете от работы за компом | 151 | adw-kupon.ru | 19866 | 23.4.2024, 13:52 автор: Vmir |
Текстовая версия | Сейчас: 25.4.2024, 16:12 |