Я создаю социальную сеть. Я создал страницу профиля и страницу типа новостей, которая переводит вас на страницу профиля.
Я пытаюсь легко создать уникальный базовый макет профиля в зависимости от данных, которые вы ввели в другой скрипт. У меня есть переменная сессии ($ _SESSION ['id']), которую я пытаюсь захватить, переместить пользователя на страницу на основе этого и загрузить результаты, соответствующие идентификатору в таблице MySQL. Однако данные, зависящие от идентификатора, не работают. Ниже приведены выдержки из ключевых сценариев:
Меню навигации в профиле
<? function fetch_new_users() { $result = mysql_query("SELECT `id`, `username` FROM `users` WHERE username='{$_SESSION['user_login']}'"); $mysql = mysql_fetch_assoc($result); return $mysql; } $users = fetch_new_users(); ?> <? if (isset($_SESSION["user_login"])) { echo ' <div class="fnav"> <?php foreach($users as $user): ?> <p> <a href="profile.php?id=<?php echo $user[\'id\']; ?>" >Profile</a> </p> <?php endforeach; ?> </div><!-- end fnav -->
Создание переменной сеанса при входе в систему
if(isset($_POST["user_login"]) && isset($_POST["password_login"])) { $user_login = preg_replace('#[^A-Za-z0-9]#i', '', $_POST["user_login"]); // filter everything but numbers and letters $password_login = preg_replace('#[^A-Za-z0-9]#i', '', $_POST["password_login"]); // filter everything but numbers and letters $md5password_login = md5($password_login); $sql = mysql_query("SELECT id FROM users WHERE username='$user_login' AND password='$md5password_login' LIMIT 1"); // query the person //Check for their existance $userCount = mysql_num_rows($sql); //Count the number of rows returned if($userCount == 1) { while($row = mysql_fetch_array($sql)) { $id = $row["id"]; } $_SESSION["id"] = $id; $_SESSION["user_login"] = $user_login; $_SESSION["password_login"] = $password_login; exit("<meta http-equiv=\"refresh\" content=\"0\">"); } else { echo 'That information is incorrect, try again'; exit(); }
Фактический захват данных из таблицы MySQL
$id1 = $_GET['id']; //check user exists $check = mysql_query("SELECT * FROM `users` WHERE id='$id1'"); $get = mysql_fetch_assoc($check); $username = $get['username']; $firstname = $get['first_name'];