2014-01-19 3 views
-1

У меня есть проблема с вызовом функции PHP, когда я нажмите кнопку отправки:PHP терпит неудачу вызова функции

<?php 
if (isset($_GET['username']) === true and empty($_GET['username']) === false) { 
$username  = $_GET['username']; 

if(user_exists($username) === true) { 
$profile_user_id  = user_id_from_username($username, 'username'); 
$my_id     = $_SESSION['user_id']; 
$profile_data   = user_data($profile_user_id, 'username', 'first_name', 'last_name', 'email', 'profile'); 
?> 

    <h1><?php echo $profile_data['first_name']; ?>'s Profile</h1> 
    <?php 
    if($profile_user_id != $my_id) { 
     $check_friend_query = mysql_query("SELECT id FROM friends WHERE (user_one='$my_id' AND user_two='$profile_user_id') OR (user_one='$profile_user_id' AND user_two='$my_id')"); 
     if(mysql_num_rows($check_friend_query) > 0) { 
      echo '<a href="">Already Friends </a>- <a href="">Unfriend '. $profile_data['username'] .'</a>'; 
     } else { 
      $from_query = mysql_query("SELECT id FROM friend_request WHERE `from` = '$profile_user_id' AND `to` = '$my_id'"); 
      $to_query = mysql_query("SELECT id FROM friend_request WHERE `from` = '$my_id' AND `to` = '$profile_user_id'"); 
      if(mysql_num_rows($from_query) == 1) { 
       echo '<a href="#">Ignore</a> or <a href="">Accept</a>'; 
      } elseif(mysql_num_rows($to_query) == 1){ 
       echo '<a href="#">Cancel Request</a>'; 
      } else { 
       if(isset($_GET['submit'])) { 
        friend_request(); 
        header('Location: '.$profile_user_id); 
        exit(); 
       } 
        ?> 
         <form action=""> 
          <input type="submit" name="submit" value="Send friend request!"> 
         </form> 
        <?php 
      } 
     } 
    } 
    ?> 

Это последнее еще Исер ($ GET [ «Submit»] и вызов функции с form.What неправильно . Я не могу найти решение, он просто обновляет страницу, но doenst отправить mysql_query функции, которые я называю это:

function friend_request() { 
if (isset($_GET['username']) === true and empty($_GET['username']) === false) { 
$username  = $_GET['username']; 

    if(user_exists($username) === true) { 
    $profile_user_id  = user_id_from_username($username, 'username'); 
    $my_id     = $_SESSION['user_id']; 
    $profile_data   = user_data($profile_user_id, 'username', 'first_name', 'last_name', 'email', 'profile'); 

mysql_query("INSERT INTO friend_request VALUES('', '$my_id', '$profile_user_id')"); 
}}} 

Пожалуйста, помогите мне, им новое для PHP, и это раздражает меня, я застрял на этом так как вчера вечером пытались понять это. Я действительно не понимаю, в чем проблема. Как я могу изменить свой код? Все работает отлично, ожидая, что функция friend_request().

ответ

0

в вашей форме username входа отсутствует, на основании значения username вы позволили в блок if (isset($_GET['username']) === true and empty($_GET['username']) === false) {

<form action=""> 
     <input type="text" name="username" value="your value"> 
     <input type="submit" name="submit" value="Send friend request!"> 
    </form> 
+0

Спасибо, но это просто кнопка запроса друга, он не требует текст type.Username что я допускал, что заблокирован для других целей. – user3210494

+0

Поскольку ваш код требуется, имя пользователя требуется, вы можете передать имя пользователя как скрытое значение, например '' –

+0

Еще только обновляет страница add's в URL: username? username = username & submit = Отправить + другу + запрос% 21 – user3210494

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