将变量从表单传递到更新但url不显示它的值

时间:2016-07-07 07:29:53

标签: php

我通过url将变量传递给函数,但它没有反映任何内容 这是url的代码:

$result = file_get_contents('http://localhost/service/service.php?action=update_details&id=$id,&name=$name,&lname=$lname,&email=$email,&username=$username,&password=$password,&gender=$gender,&mobile=$mobile,&address=$address');

并且功能在其他php文件上。这是代码:

if($tag == 'update_details') {
    $id = $_GET["id"];
    $name=($_GET['name']);      
    $lname=($_GET['lname']);
    $gender=($_GET['gender']);
    $email=($_GET['email']);    
    $username=($_GET['username']);   
    $password=($_GET['password']);  
    $mobile=($_GET['mobile']);
    $address=($_GET['address']);
    if  ->updateUser($id,$name,$lname,$username,$password,$gender,$email,$mobile,$address)) {
        $app_info = "success";
        exit (json_encode($app_info));
    } else {
        $error="not done";  
        exit(json_encode($error));  
    }
}

2 个答案:

答案 0 :(得分:0)

从网址中删除逗号:

$result = file_get_contents('http://localhost/service/service.php?action=update_details&id=$id&name=$name&lname=$lname&email=$email&username=$username&password=$password&gender=$gender&mobile=$mobile&address=$address');

答案 1 :(得分:0)

首先,您必须考虑到您已经获得的所有建议:

  • 用双引号替换简单引号(如@Rasclatt所注意到的),以便解释嵌入变量
  • 压制逗号(正如@Jayesh Chitroda所说)获得正常构建的URL

此外,您必须注意这个PHP manual建议:

  

如果要打开包含特殊字符(如空格)的URI,则需要使用urlencode()对URI进行编码。

因此,如果您的某些变量可能包含此类字符(在您的情况下可能会出现这种情况),您还必须urlencode()它们。 请记住:不要urlencode()整个URI,而是每个涉及变量。

通过这种方式,您将正确调用service.php脚本,但还有另一个潜在问题(@Rasclatt也已注意到):if ->updateUser(...)){没有意义。
也许这是你问题上的错字?现在由你来研究这一点。