Новичок
Покинул форум
Сообщений всего: 2
Дата рег-ции: Янв. 2013
Помог: 0 раз(а)
|
Вывод формы: Можно так с циклом и echo?
PHP:
скопировать код в буфер обмена
echo "<html><head><title> Form.php </title> </head>"; $fie = array("login" => "Логин", "name" => "Имя", "surname" => "Фамилия", "mail" => "Почта", "pass" =>"Пароль", "verpass" => "Подтверждение пароля"); echo "<form action = 'test_processing.php' method = 'POST' <table align = 'center' width = '40%' border = '0' cellpasing = '5'>"; foreach($fie as $n => $v)// вывод формы с пустыми полями и значениями названий элементов массива $fie { echo "<p> <tr> <td> $v <input type = 'text' name='$n' value=''> </tr> </td>"; } echo "<p><input type = 'submit' name ='submit'>"; }
Проверка на верность и запись в БД. Знаю, что mail нежелательно проверять с помощью preg_match, сделано для тренировки.
PHP:
скопировать код в буфер обмена
if (!isset($_POST["submit"])) { include("r.php"); }//если кнопка отправить не была нажата, то выводится форма. else { foreach($_POST as $nf => $vf) { $ef[$nf] = 'empty' ;//проверка на наличие пустых полей. } else { if (($nf == 'name' or $nf == 'surname') and !preg_match("/^[A-Za-zА-Яа-я]*+[A-Za-zА-Яа-я]*$/", $vf)) // Имя и фамлия только из букв. { $bf[$nf] = 'BAD'; } elseif (($nf == 'login' or $nf == 'pass' or $nf == 'verpass') and preg_match("/[^A-Za-zА-Яа-я0-9]/", $vf)) // логин из букв и цифр { $bf[$nf] = 'BAD'; } else { if ($nf == 'mail' and !preg_match("/^[A-Za-zА-Яа-я0-9]*@([A-Za-zА-Яа-я0-9]*)\.([A-Za-zА-Яа-я]*)$/", $vf)) // Мейл { $bf[$nf] = 'BAD'; } } // если данные не соответствуют шаблону, они добавляются в массив. } if (@sizeof($ef) > 0 or @sizeof($bf) > 0)// проверка на наличие переменных в массиве { include("form.php"); //вывод формы, если поля были заполнены некорректно. die("Неверно введеные данные"); // и прерывания сценария, чтобы не было записи в БД. } else { if(@$_POST['pass'] != @$_POST['verpass']) { echo "пароли не совпадают"; include("form.php"); die("Неверно введены пароли");// проверка на совпадение паролей и вывод формы в противном случае. } else { echo ' <h2> Введенные данные: </h2>';// ниже идет вывод данных поьзователя, т.е. массива $_POST, исключая переменную submit. foreach($_POST as $q => $w) if($q != 'submit') { echo "$q - $w<br /> "; } } } echo '<br /> <br /><br /><h3> База данных: </h3> <br />'; // подключение к БД require_once "login.php"; $db_connect = mysql_connect($db_hostname, $db_username, $db_pass); if(!$db_connect) { } // Запись данных if (@isset($_POST['name'])) { $query = "INSERT INTO data (login, name, surname, mail, pass) VALUES ( '$_POST[login]', '$_POST[name]', '$_POST[surname]', '$_POST[mail]', '$_POST[pass]')"; } // вывод базы $query_output = "SELECT * FROM data"; for ( $i=0; $i<$rows; ++$i) { foreach ($row as $k => $v) { echo "$v <br />"; } echo "<br /> <br />"; } }
В общем если есть любые замечания относительно этого кода, буду рад услышать.
|