2015-09-14 5 views
-2

Я пытаюсь запустить нижеследующий запрос, который в основном создает кнопку отправки. Однако, когда я пытаюсь нажать кнопку «Принять запрос», она не разрешает условие if и не отвечает за то, что написано в else. Может кто-нибудь помочь, почему это произойдет?

<?php 
    if(isset($_POST['acceptrequest'.$user_from])) 
    { 
    echo "you are now freind !"; 
    } else 
    { 
    echo 'Error in reading - acceptrequest'.$user_from; 
    } 
?> 


<form action = "friend_request.php" method = "POST"> 
<input type="submit" name = "acceptrequest<?php echo $user_from;?>" 
     value="Accept Request" style = "margin-left: 5px;" /> 
<input type="submit" name = "ignorerequest<?php echo $user_from;?>" 
     value="Ignore Request" style = "margin-left: 5px;" /> 
</form> 
+0

Не помещайте пробелы между именами атрибутов и значениями в тегах HTML. Это должно быть '

' –

+1

где определяется '$ user_from'? это должно вызывать неопределенное изменение переменной user_from. –

+0

Возможный дубликат http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index –

ответ

0

В общем, вы не должны использовать переменные, чтобы определить имя формы ввода.

В частности, из-за «переменной» природы переменных вы не можете быть уверены, что указанное имя будет соответствовать имени, которое вы ищете.

Для того, чтобы ваше приложение не имело гражданства, вы должны вместо этого перечислить переменную kn на свой собственный скрытый ввод.

Внизу, я изменил форму для публикации user_from в качестве своего собственного входа, отдельно от acceptrequest и ignorerequest.

Это должно исправить любые проблемы состояния, которые вы испытывали раньше.

<?php 
    if (isset($_POST['acceptrequest')) { 
     echo "You are now friend with {$_POST['user_from']}!"; 
    } else if (isset($_POST['ignorerequest')) { 
     echo "You ignored the request from {$_POST['user_from']}!"; 
    } else { 
     echo 'Error in reading - acceptrequest'.$user_from; 
    } 
?> 


<form action = "friend_request.php" method="POST"> 
<input type="hidden" name="user_from" 
     value="<?php echo $user_from;?>" /> 
<input type="submit" name="acceptrequest" 
     value="Accept Request" style = "margin-left: 5px;" /> 
<input type="submit" name="ignorerequest" 
     value="Ignore Request" style = "margin-left: 5px;" /> 
</form> 
+1

потрясающий мужчина .. он работал ! Узнал что-то новое сегодня –

0

Возможно, вы не задали все переменные. Попробуйте определить, что и использование: $

Так создать что-то вроде: $ acceptrequest == что-то

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