Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.01.2015, 09:39   #1
xcislav
 
Регистрация: 16.07.2011
Сообщений: 4
По умолчанию Минимальная, одностраничная PHP регистрация: БД, форма, $_POST, $_SESSION

Кроме структуры, формируемой header("location:") всё достаточно прямолинейно,
Отправка формы попадает -> соединением с БД (PDO+немного SQL кода)
и
всё происходит методом $_POST и выводится в $_SESSION.

index.php:
PHP код:
<!DOCTYPE html>
    <html>
    <h1>Register</h1>
    <form method="POST">
    <input type="text" name="user"><br /><br />
    <input type="pass" name="pass"><br /><br />
    <input type="submit"><br />
    </form>
    <?php
    session_start
();
    if(isset(
$_POST['user'], $_POST['pass'])){
    require 
'connect.php';
    
$zr++;
    
$query d()->prepare("INSERT INTO u (user, pass, loc) VALUES (:user, :pass, :loc)");
    
$query->bindParam(':user'$_POST['user']);
    
$query->bindParam(':pass'$_POST['pass']);
    
$query->bindParam(':loc'$zr);
    if(
$query->execute()){
    
$_SESSION['user'] = $row['user'];
    
$_SESSION['pass'] = $row['pass'];
    
header("Location: ".$_SERVER['PHP_SELF']);
    } else{
    echo 
'ERROR';
    }
    }
    
?>
    <h1>Login</h1>
    <form method="POST">
    <input type="text" name="user"><br /><br />
    <input type="pass" name="pass"><br /><br />
    <input type="submit"><br />
    </form>
    <?php
    
echo $_POST['user'];
    if(isset(
$_POST['user'], $_POST['pass'])){
    require 
'connect.php';
    
$query d()->prepare("SELECT user, pass FROM u WHERE user=:user AND pass=:pass");
    
$query->bindParam(':user'$_POST['user']);
    
$query->bindParam(':pass'$_POST['pass']);
    
$query->execute();
    if(
$row $query->fetch()){
    
$_SESSION['user'] = $row['user'];
    
$_SESSION['pass'] = $row['pass'];
    
header("Location: ".$_SERVER['PHP_SELF']);
    }
    }
    
$us=$_SESSION['user'];
    echo 
'user ',$us;
    
?>
    <?php
    
if(isset($_SESSION['user'])){
    
$us=$_SESSION['user'];
    echo 
'<br /> user ',$us' ''<a href="logout.php">Logout</a>';
    echo 
'<br />''<a href="zrs.php">zero session</a>';
    }
    
?>
    </html>
connect.php:
PHP код:
<?php
    
function d(){
    try{
    
$db = new pdo("mysql:host=localhost;dbname=tx;","root","hyuiuik");
    
$db->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
    return 
$db;
    } catch(
PDOException $e){
    echo 
'ERROR'$e->getMessage();
    }
    }
    
?>
ВИД на табл. пользователей:
Код:
mysql> select * from u;
+----+--------+------+------+
| id | user | pass | loc |
+----+--------+------+------+
| 1 | a | asdf | 0 |
| 2 | b | bsdf | 0 |
| 3 | b | bsdf | 0 |
| 4 | c | csdf | 0 |

Но непонимание на этапе формирования структуры подготовления и отправки собранных данных.

примерный вид:

1.php

<?php
session_start();
К
О
Д
session_write_close();

if( isset($_POST['user'] ){
К
О
Д
}else{
К О Д
}

if( !isset($_POST['user']) ){
header("location: http://" . $_SERVER['HTTP_HOST'] . "/login.php");
}else{
//user установлен
КОД ЗАПУСКА
}
xcislav вне форума Ответить с цитированием
Старый 01.01.2015, 21:17   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

А в чем вопрос? В понимании??
условия - если существует переменная user переданная из формы - то одно, если нет - то другое.
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP Denwer - регистрация sergio212 Помощь студентам 0 01.12.2013 20:00
регистрация пользователей php+sql Ast PHP 2 08.01.2012 20:49
Ошибка в коде. Регистрация на php ilushka2306 PHP 2 03.05.2011 13:02
php регистрация sasha14486 PHP 4 11.05.2009 20:02
Mysql +регистрация на PHP KEV PHP 12 07.04.2009 16:40