Создание гиперссылки php с использованием переменных - PullRequest
0 голосов
/ 06 февраля 2012

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

Это проверочный код

<?php
$host="host"; // Host name 
$username="admin"; // Mysql username 
$password="********"; // Mysql password 
$db_name="users"; // Database name 
$tbl_name="members"; // Table name 

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

// Check if Remember Me is Checked
if (isset($_POST['remember'])) {
    $remember = $_POST['remember'];
    if ($remember == 'rememberme') {
        $remember = 'checked';
    }
}
if($remember='checked' && $count==1){
    setcookie("extendloginwwd", "$myusername", time()+50400);
    // Register $myusername, $mypassword and redirect to file
"http://mydomain.co.cc/php/login_success.php"
    $_SESSION['username'] = "myusername";
    $_SESSION['password'] = "mypassword";
    header("location:http://mydomain.co.cc/php/login_success.php");
}
elseif($count==1){
    // Register $myusername, $mypassword and redirect to file
"http://mydomain.co.cc/php/login_success.php"
    $_SESSION['username'] = "myusername";
    $_SESSION['password'] = "mypassword";
    header("location:http://mydomain.co.cc/php/login_success.php");
}
else {
    echo "Wrong Username or Password";
}
?>

Это прекрасно работает, у меня естьнет проблем с этим.Файл login_success.php является источником проблем.

<?php
session_start();
?>
<!Doctype HTML>
<html>
    <head>
        <title>Login Success</title>
        <link rel="stylesheet" type="text/CSS" href="http://mydomain.co.cc/common.css">
        <?php 
            $user=$username;
            $userdir="http://wolffwebdesign.co.cc/$user";
        ?>
    </head>
    <body>
        <h1>Login Successfull!</h1>
        <p>Welcome <?php echo "$user"?>! Click <?php echo "<a href=$userdir>here</a>";?> to visit your service page to see how we are doing!
    </body>
</html>

Допустим, что $ myusername = "john".Я бы хотел, чтобы на странице отображалось что-то вроде:

Добро пожаловать, Джон!Нажмите здесь , чтобы перейти на страницу вашего сервиса и узнать, как у нас идут дела!

Обратите внимание, что там указано имя пользователя, а также ссылка ведет на mydomain.co.cc/john

Вместо этого я получаю что-то вроде:

Добро пожаловать!Нажмите здесь , чтобы посетить страницу обслуживания и узнать, как у нас идут дела *

Обратите внимание, что здесь не указано имя пользователя и ссылка ведет на мою домашнюю страницу.

Спасибо за предоставленную помощь.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2012

Вы должны сохранить все пользовательские данные в сеансе ($ _SESSION ['user']), который содержит все данные, которые вы получили с помощью вашего sql-запроса. Таким образом, имя пользователя, (настоящее) имя и т. Д. На странице приветствия вы можете персонализировать свой текст, например, например. "Welcom"

0 голосов
/ 06 февраля 2012

Да, потому что вы ставите вот так $username=$user и нигде не инициализируете $ user.Чтобы инициализировать $ user, вы должны сделать $user=$username, но имейте в виду, что $ username на самом деле является именем пользователя из базы данных mysql.

В PHP переменная

$ (before = означает, что это получает значение) = $ value (после = означает, что это значение, которое нужно взять)

Лучше сделать $user = $_SESSION['username']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...