【问题标题】:Parse error: syntax error, unexpected 'if' (T_IF) in /hipt/sign.php on line 15 [closed]解析错误:语法错误,第 15 行 /hipt/sign.php 中的意外 'if' (T_IF) [关闭]
【发布时间】:2015-01-23 19:20:49
【问题描述】:

我来了

解析错误:语法错误,/home/rainlikq/public_html/script/signupt.php 第 17 行用户名语句中出现意外的“$username”(T_VARIABLE)......

谁能给我一个解决方案

我将其用于注册目的... 我正在尝试执行它...... 实际上我正在将 json 数据解析到 android 设备...

 <?php

$host="localhost";          //replace with database hostname 
$username="rainlikq_rahul";     //replace with database username 
$password="rahul1";             //replace with database password 
$db_name="rainlikq_rainforest";     //replace with database name

 $con=mysql_connect($host, $username, $password)or die("cannot connect"); 



mysql_select_db($db_name)or die("cannot select DB");

 if(isset($_POST['name'], $_POST['password'], $_POST['password2'], $_POST['username'], $_POST['mobile']))
{
 
$username   =   $_POST['username'];
$password   =   $_POST['password'];     
$password2  =   $_POST['password2'];        
$name       =   $_POST['name'];
$mobile     =   $_POST['mobile'];

$result = mysql_query("insert into user(user_email,user_password,name,mobile) values( '$username','$password','$name','$mobile')");
 

// array for JSON response
$response = array();

if ($result) {
        // successfully inserted into database
        $response["success"] = 1;
        $response["message"] = "Signed up successfully";
        // echoing JSON response
        echo json_encode($response);
    } else 
    {
        // failed to insert row
        $response["success"] = 0;
        $response["message"] = "Oops! An error occurred.";

        // echoing JSON response
        echo json_encode($response);
    }
}

else
     {
    // required field is missing
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";
    // echoing JSON response
    echo json_encode($response);
     }





?>

【问题讨论】:

  • 您在第 15 行缺少一些关闭 ) - 让您更加努力地找出它们在哪里..
  • 如果有很多条件,如果我将它们分开。一行中的每个或最多两个条件。这样做对我的编程生涯有很大帮助。
  • 根据您的编辑;那是您的完整和实际代码吗?另外,你在用这个吗? JS?阿贾克斯?包括?
  • 此代码不会产生该错误。 - 反正不是你发布的编辑。

标签: php json get passwords


【解决方案1】:

根据您最初发布的问题,未标记为编辑

见:https://stackoverflow.com/revisions/28117175/1

您忘记关闭几个isset() 电话:

if (isset($_POST['name']) && isset($_POST['password']) && isset($_POST['password2'] && isset($_POST['username'] && isset($_POST['mobile'])) {
                                                                                 //^ Here                      ^ And here

就用这个吧:

if (isset($_POST['name']) && isset($_POST['password']) && isset($_POST['password2']) && isset($_POST['username']) && isset($_POST['mobile'])) {             

此外,由于您使用 AND 运算符,您可以将多个变量放入 isset() 调用中,如下所示:

if(isset($_POST['name'], $_POST['password'], $_POST['password2'], $_POST['username'], $_POST['mobile'])) {

有关isset() 的更多信息,请参阅手册:http://php.net/manual/en/function.isset.php

还有一段话:

如果提供了多个参数,则仅当设置了所有参数时 isset() 才会返回 TRUE。评估从左到右进行,一旦遇到未设置的变量就停止。

旁注:

1。你使用$username 2 次,首先是在你的连接中,然后你在 if 语句中分配它(也许你会遇到麻烦)

2。你使用mysql_* API,我建议你使用mysqli_*PDO。因为:此扩展自 PHP 5.5.0 起已弃用,不推荐用于编写新代码,因为它将在未来被删除。

3。您使用了运算符&lt;&gt;,完全可以,但对于某些人来说,这可能有点奇怪,我会使用!= 和您可以在SQL 语句中使用的其他运算符

4。我还建议您在文件顶部添加错误报告(仅在暂存中):

<?php
    ini_set("display_errors", 1);
    error_reporting(E_ALL);
?>

【讨论】:

  • 嗨,实际上我在发布此问题后更改了此括号问题,但仍然出现错误....解析错误:语法错误,/home/rainlikq/public_html 中的意外'$username'(T_VARIABLE) /script/signupt.php 第 18 行
  • @RahulSaxena 尝试只用 1 个 isset 调用复制我的最后一个代码块,它仍然给你同样的错误吗? (注意。你错过了 2 次关闭它)
  • mysql_select_db($db_name)or die("cannot select DB"); if (isset($_POST['name']),isset($_POST['password']),isset($_POST['password2']),isset($_POST['username']),isset($_POST ['mobile'])) { $username = $_POST['username']; $password = $_POST['密码']; $password2 = $_POST['password2']; $name = $_POST['name']; $mobile = $_POST['mobile']; $result = mysql_query("插入用户(user_email,user_password,name,mobile) 值('$username','$password','$name','$mobile')"); // JSON 响应的数组 $response = array();
  • @RahulSaxena 只需复制这个:if(isset($_POST['name'], $_POST['password'], $_POST['password2'], $_POST['username'], $_POST['mobile'])) { 并将其替换为您当前的 if 语句
  • 现在我正在使用这个代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-09
  • 1970-01-01
  • 1970-01-01
  • 2012-10-30
  • 2013-03-10
  • 1970-01-01
相关资源
最近更新 更多