2016-03-07 3 views
0

У меня есть значок, который окружен якорные тегами в эхе-заявлении:заголовка() вызова не туда, где определен

<a href='/inc/favourite_post.php?id=$thought_id'> 
    <span class='glyphicon glyphicon-heart-empty' aria-hidden='true' style='padding-right: 5px;'></span> 
</a> 

Когда эта иконка нажата, мне нужно, чтобы выполнить PHP запрос, который найден в favourite_post.php.

Вот favourite_post.php:

$getid = $_GET['id']; 
$favourited_by = $username; 
/***********************/ 
//query to get user id 
$get_uid = mysqli_query ($connect, "SELECT * FROM users WHERE username='$username'"); 
while($query = mysqli_fetch_array($get_uid)){ 
    $uid = $query['id']; 
} 
/***********************/ 
// get details of the post id and username 
$get_id = mysqli_query ($connect, "SELECT * FROM user_thoughts WHERE added_by ='$user'"); 
$row_query = mysqli_fetch_array($get_id); 
$fav_by = $row_query['favourited_by']; 
$fav_status = $row_query['fav_status']; 

$fav_query = mysqli_query ($connect, "INSERT INTO post_favourites (user_id, thought_id) VALUES ('$uid', '$getid')"); 

header ("Location: ../profile_page/$added_by"); 

Проблема пройти через:

  1. Предположим, я вошел как Элис, и я на Andersons profile_page. URL на этом этапе будет читать http://localhost/profile_page/anderson.
  2. Мне нравится сообщение от Anderson и щелкните значок, который выполняет этот запрос в избранное в свой пост.
  3. Когда пользователь выбирает кому-то сообщение, мне нужно, чтобы страница была на том же адресе, то есть оставалась на http://localhost/profile_page/anderson. Таким образом, в вызове header(), я указал, что это местоположение должно быть ../profile_page/$added_by. $added_by - это имя пользователя и должно вернуть пользователя на http://localhost/profile_page/anderson, но это не так.
  4. Когда значок щелкнут, адресная строка считывает http://localhost/profile_page/ .. значение переменной $added_by не передается.

Edit:

Вот где я определил $added_by:

$get_id = mysqli_query ($connect, "SELECT * FROM user_thoughts WHERE added_by ='$user'"); 
    $row_query = mysqli_fetch_array($get_id); 
     $added_by = $row_query['added_by']; 
     $fav_by = $row_query['favourited_by']; 
     $fav_status = $row_query['fav_status']; 

Ранее я использовал header ("Location: profile_page/$user") на других страницах. $user - это var, который содержит данные после ?u= в URL-адресе. $added_by получает те же данные из данных. $user и $added_by - оба пользователя для пользователей, поэтому я в тупике.

+2

Вы никогда не определяете '$ added_by'. – AbraCadaver

+1

проверьте, не выводите ли вы перед заголовком. в любом случае, этот заголовок терпит неудачу по той или иной причине, возможно, даже переменная не удалась. http://php.net/manual/en/function.error-reporting.php –

+0

Возможный дубликат [PHP: Примечание: неопределенная переменная и уведомление: неопределенный индекс] (http://stackoverflow.com/questions/4261133/php -notice-undefined-variable-and-notice-undefined-index) –

ответ

0

Я думаю, что вы на самом деле имел в виду использовать переменную $favourited_by в вашем header() вызова:

header("Location: ../profile_page/$favourited_by"); 
+0

Прежде всего, спасибо за ваш ответ. Переменная '$ favourited_by' хранит переменную' $ username', которая является сеансом, созданным для зарегистрированного пользователя. С вызовом header() я всегда буду перенаправлен на зарегистрированный пользовательский профиль_страницы. – Freddy

0

Эта строка кода является недопустимым: <a href='/inc/favourite_post.php?id=$thought_id'>. Это должно быть так: <a href='/inc/favourite_post.php?id=<?php echo $thought_id;?>'>. Конечно, я предположил, что «$ думал_ид» является переменной php.

Смежные вопросы