Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Tegs
0 / 0 / 0
Регистрация: 12.08.2013
Сообщений: 54
1

Где искать шаблоны для практики?

07.02.2014, 00:00. Просмотров 992. Ответов 6
Метки нет (Все метки)

Привет всем! Написал простую форму для регистрации. После отправки нечего не происходит, переходит на index.php и пустой экран. Что здесь не так?
И подскажите пожалуйста где можна скачать готовые шаблоны php + html что бы поковыряться в них, поразбирать?

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<html>
<head>
</head>
<body>
<h1>Registration!</h1>
<form action="index.php" method="post">
<table>
    <tr>
        <td>Login</td>
        <td><input type="text" size="20" maxlength="20" name="login" value=""></td>
        <td><p><?php echo $_POST['error_login']; ?></td>
    </tr>
    <tr>
        <td>E-mail</td>
        <td><input type="text" size="20" maxlength="20" name="email" value=""></td>
        <td><p><?php echo $_POST['error_email']; ?> </td>
    </tr>
    <tr>
        <td>Password</td>
        <td><input type="password" size="20" maxlength="20" name="pas" value=""></td>
        <td><?php echo $_POST['error_pas']; ?> </td>
    </tr>
    <tr>
        <td colspan="2"><input type="submit" name="submit" value="Create account!"></td>
    </tr>
</table>
</form>
</body>
</html>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
 
if (isset($_POST['submit'])) {
    $login = $_POST['login'];
    $pas = $_POST['pas'];
    $email = $_POST['email'];
    $_COOKIE['login'] = $login;
    $_COOKIE['pas'] = $pas;
    $_COOKIE['email'] = $email;
    $_POST['error_login'] = "";
    $_POST['error_email'] = "";
    $_POST['error_pas'] = "";
    $error = false;
 
$x = "/^[a-z0-9][a-z0-9\.-_]*[a-z0-9]*@([a-z0-9]+([a-z0-9-]*[a-z0-9]+)*\.)+[a-z]+/i";
if (!preg_match($x, $email)) {
    $error_email = "Please, change your E-mail!";
    $error = true;
}
 
if (!isset($login)) {
    $error_login = "Type your login!";
    $error = true;
}
 
if (!isset($pas)){
    $error_pas= "Type your password!";
    $error = true;
}
 
if (!$error) {
    echo $login;
    echo $email;
    echo $pas;
}
    
    
}
 
 
?>
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2014, 00:00
Ответы с готовыми решениями:

HTML шаблоны сайтов для практики
Здравствуйте. Пару недель изучаю php и вот закончил изучение laravel. На данный момент переписываю...

Где искать неопубликованные объявления Авито
Здравствуйте! Где или как искать неопубликованные (объявление которое пользователь добавил на сайт,...

Отсутствует файл php.ini в zip-архиве, где его искать?
Необходимо установить MySql именно из zip-архива, сделать его портативным. У меня ОС Windows 10...

Создание сайта для практики
Ребят, подскажите, на какую тему можно сделать сайт, чтобы максимально затронуть js и php?) для...

Где можно найти шаблоны на PHP
облазил интернет, что-то ничего нет. нужны готовые шаблоны сайтов на языке php Добавлено через...

6
MarlboroRed
Марсианин
87 / 87 / 22
Регистрация: 11.10.2012
Сообщений: 333
07.02.2014, 00:32 2
PHP
1
<?php echo $_POST['error_email']; ?>
вы пытаетесь вывести то, что не получаете.
несколько советов:
вместо !isset() можно использовать empty() - вернет true если переменная пустая или не определена.
Как можно меньше старайтесь создавать переменных, например вместо $pas - пишите $_POST['pas']
Цитата Сообщение от Tegs Посмотреть сообщение
if (isset($_POST['submit']))
вот это можно записать так:
PHP
1
if ($_POST['submit'])
Сообщение о ошибке можно сохранять в новую ячейку массива, например
PHP
1
$errArr['email'] = "Please, change your E-mail!"
. В таком случае это
PHP
1
$error = true;
можно не писать. А вместо этого:
PHP
1
if (!$error)
сделать
PHP
1
if(empty($errArr))
1
CloudS
8 / 8 / 6
Регистрация: 29.01.2014
Сообщений: 61
07.02.2014, 01:41 3
test4.rar
Вот хороший пример, в свое время сам от него отталкивался)
1
prudkiy
180 / 148 / 55
Регистрация: 21.07.2013
Сообщений: 954
07.02.2014, 04:09 4
ну почему же форма работает и выводит все как нужно, только вот правда - когда только зайти на страницу то глобальные переменные POST еще не определены и поэтому выбивает ошибку. Проверяйте их так -
PHP
1
2
3
4
<?php
        if(isset($_POST['error_login'])){
            echo $_POST['error_login'];}
?>
Добавлено через 19 минут
или во благо уменьшения количества кода, если таковых выводов будет много. Cоздадим переменную "а" со значением false. Потом проверим есть ли глобальная переменная submit, если есть говорим что переменная "а" ровна true.
PHP
1
2
3
4
5
6
<?php
        $a = false;
        if(isset($_POST['submit'])){
            $a = true;
        }
?>
а потом просто будет проверять эту переменную
PHP
1
2
3
<?PHP
        if($a) echo $_POST['error_login'];
?>
1
Tegs
0 / 0 / 0
Регистрация: 12.08.2013
Сообщений: 54
07.02.2014, 11:27  [ТС] 5
MarlboroRed, то есть выходит, если массив пустой то вывести ошибку?
например вместо $pas - пишите $_POST['pas'] - а в чем разница? Это не одно и то же если я $_POST['pas'] присваиваю $pas?

Добавлено через 6 минут
prudkiy, то есть это мы проверяем, существуют ли они вообще. А как мне в данном случае их определить?
Я уже вроде их задал в $_POST.
0
V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
07.02.2014, 12:23 6
Цитата Сообщение от Tegs Посмотреть сообщение
MarlboroRed, то есть выходит, если массив пустой то вывести ошибку?
например вместо $pas - пишите $_POST['pas'] - а в чем разница? Это не одно и то же если я $_POST['pas'] присваиваю $pas?

Добавлено через 6 минут
prudkiy, то есть это мы проверяем, существуют ли они вообще. А как мне в данном случае их определить?
Я уже вроде их задал в $_POST.
$pas и $_POST['pas'] хранят одинаковые значения, вам просто посоветовали использовать как можно меньше переменных, чтобы не загромождать код. Насчет пустого массива, данные не всегда могут быть введены, и для того, чтобы понять что они не введены рекомендуется использовать проверку на пустоту массива, тоесть empty. функция isset же вернет true если существует переменная, но она может при этом быть пустой
0
prudkiy
180 / 148 / 55
Регистрация: 21.07.2013
Сообщений: 954
07.02.2014, 15:18 7
Я например, проверяю все данные сразу же при их получении на все возможные ошибки регулярными выражениями.
А вы делайте как Вам более удобно. Главное чтоб был достигнут результат ну конечно же желательно, как говорил V@D!k - не загромождать код )
0
07.02.2014, 15:18
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2014, 15:18

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

Что нужно установить для изучения и практики в PhP
Доброго времени суток, уважаемые форумчане! Прошу дать разъяснения для новичка по вопросам...

Шаблоны для практики
Подскажите, как лучше попрактиковаться в верстке.

Где взять задания для практики
Ребят, помогите в практике новичку)) Можете дать какие-то несложные задания, чтобы я могу учиться...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.