получить адрес электронной почты и имя на странице профиля - PullRequest
0 голосов
/ 10 мая 2018

Я новичок в PHP и пытаюсь создать простую систему входа в систему.Я хочу, чтобы при входе в систему, если я отправляю неверную информацию, система выдает ошибку проверки, и если я отправляю правдивую информацию, я хочу получить адрес электронной почты или имя в профиле.

Мне нравится hello $ user !!!

Страница входа

<html>
    <title>Login Form</title>
    <body>
        <div class="container">
            <form  class="" method="post">
                <label for="email">Enter Your Email</label>
                <input type="text" name="email"> <br/>
                <label for="password">Enter Your Password</label>
                <input type="password" name="pass"><br/>
                <input type="submit" value="Login" name="submit">
            </form>
        </div>
    </body>
</html>

<?php
    if(isset($_POST['submit'])){
        $email=$_POST['email'];
        $pass=$_POST['pass'];
        if(($email=="cagri@vargonen.com") && ($pass=="1234")){
            header()
        }
        else{
            echo "Invalid username/password";
        }
    }
?>

На странице входа я пытался;

<?php
    $email = $_POST['email'];
    $password = $_POST['pass'];
    if($email == 'cagri@vargonen.com' && $password == '1234'){
        echo "Welcome Çağrı Uğurel";
    }
    else{
        echo "Your email or password incorrect";
    }
?>

Можете ли вы помочь мне, где моя ошибка?

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Вам нужно использовать session_start() для получения имени пользователя или других временных переменных.

    <?php
session_start();
if (isset($_POST["submit"])) {
    $username   = $_POST["username"];
    $password   = $_POST["password"];
    $actualuser = "cagri@vargonen.com";
    $actualpass = "1234";
    if (($email == $actualuser) && ($pass == $actualpass)) {
        $_SESSION["username"] = $username;
        header("location:somepage.php");
    } else {
        echo "Username or Password isn't matched.";
    }
}
?>

И если вход выполнен успешно, имя пользователя переходит к переменной session, что означает, что вы можете использовать эту переменную во время сеанса.

somepage.php

<?php
session_start();
?>
    <html>
        <title>User Page</title>
        <body>
            <p><?php echo $_SESSION["username"];?> </p>
        </body>
    </html>

Я предлагаю вам использовать ajax метод для такого рода.

EDIT:

Вот реальный пример из моего предыдущего проекта.

index.php

<div class="modal fade" id="loginmodal" role="dialog" data-backdrop="static">
<div class="modal-dialog">    
  <!-- Modal content-->
  <div class="modal-content">
    <div class="modal-header" style="padding:35px 50px;">
      <button type="button" class="close" data-dismiss="modal">&times;</button>
      <h1> Giriş yap</h1>       
    </div>
    <div class="modal-body" style="padding:40px 50px;">
      <form role="form" method="post" action="index.php">
        <div class="form-group">
          <label for="usrname"><span class=""></span> Kullanıcı Adı</label>
          <input type="text" pattern="[a-z]*"class="form-control" id="usrname" name="username" placeholder="Yetkili veya normal kullanıcı adı giriniz" required>
        </div>
        <div class="form-group">
          <label for="psw"><span class=""></span> Şifre</label>
          <input type="password" class="form-control" id="psw" name="password" placeholder="Şifre" required>
        </div>            
          <button type="submit" class="btn btn-success btn-block" name="login"><span class=""></span> Giriş</button>
      </form>
</div>        

logincheck.php

<?php
if(isset($_POST["login"])){
    $username = $_POST["username"];
    $password = $_POST["password"];
    $query = $db->prepare("select * from users where username=:username AND password=:password");
    $query->execute(array(
        ':username' => $username,
        ':password' => $password
    ));
    $r = $query->fetch();
    $count = $query->rowCount();

    if($count > 0 && $r["rank"] > 0) {
        $_SESSION["username"] = $username;
        $_SESSION["rank"] = $r["rank"];
        header("location:project.php");
    }           
}
?>

userpage.php

<ul class="nav navbar-nav navbar-right">        
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#"> <?php echo $_SESSION["username"];?> <span class="caret">        
          </span></a>
          <ul class="dropdown-menu">
            <li><a href="logout.php">Çıkış yap</a></li>
          </ul>
        </li>
      </ul>

Надеюсь, это помощь!

0 голосов
/ 10 мая 2018

Добавьте точку с запятой здесь header();

<html>
<title>Login Form</title>
<body>
    <div class="container">
        <form  class="" method="post">
            <label for="email">Enter Your Email</label>
            <input type="text" name="email"> <br/>
            <label for="password">Enter Your Password</label>
            <input type="password" name="pass"><br/>
            <input type="submit" value="Login" name="submit">
        </form>
    </div>
</body>
</html>

<?php
if(isset($_POST['submit'])){
    session_start();
    $email=$_POST['email'];
    $pass=$_POST['pass'];
    if(($email=="cagri@vargonen.com") && ($pass=="1234")){
        $_SESSION['user'] = array('email'=>$email);
        echo 'Hello '.$_SESSION['user']['email'].'...!';
    }
    else{
        echo "Invalid username/password";
    }
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...