简单的PHP语法问题

时间:2012-01-11 16:09:30

标签: php

已解决,谢谢大家的反馈!非常感激。

如果有人可以帮助解决我遇到的简单语法问题,我将不胜感激。我还处于php的学习阶段,似乎无法解决这个问题。在下面的代码中,我正在分配一个数组和一个定义,但是当我尝试回显信息时,它无法正常工作。

   $arr_features=array("PasswordProtect");

  $arr_FeaturesDescriptions = array("Password Protection: Password Protection will be enabled, requiring participants to enter a password in order to access the event. Your password is: "echo ($_POST['PasswordProtect']);"");

所以基本上“你的密码是:”部分不起作用,任何想法为什么?提前谢谢。

7 个答案:

答案 0 :(得分:2)

因为你正在学习PHP:

echo()会将字符串输出到呈现的HTML。 如果要将字符串(生成与否)附加到另一个字符串的末尾,则需要使用串联运算符将它们连接起来,这在PHP中是.(是的,一个点)。

在您的示例中,它变为: $arr_FeaturesDescriptions = array("Password Protection: Password Protection will be enabled, requiring participants to enter a password in order to access the event. Your password is: " . $_POST['PasswordProtect']);

答案 1 :(得分:1)

$arr_FeaturesDescriptions = array("Password Protection: Password Protection will be enabled, requiring participants to enter a password in order to access the event. Your password is: " . $_POST['PasswordProtect']);

答案 2 :(得分:1)

因为您尝试在字符串中嵌入语句。而是正确的语法

  $arr_FeaturesDescriptions = array("Password Protection: Password Protection will be enabled, requiring participants to enter a password in order to access the event. Your password is: {$_POST['PasswordProtect']}");

答案 3 :(得分:1)

$arr_features=array("PasswordProtect");

$arr_FeaturesDescriptions = array("Password Protection: Password Protection will be enabled, requiring participants to enter a password in order to access the event. Your password is: ".$_POST['PasswordProtect']);

这是正确的代码

答案 4 :(得分:1)

要在字符串中输出变量,您需要使用.连接符:

$arr_FeaturesDescriptions = array("Password Protection: Password Protection will be enabled, requiring participants to enter a password in order to access the event. Your password is: " . $_POST['PasswordProtect']); 

或大括号{}

$arr_FeaturesDescriptions = array("Password Protection: Password Protection will be enabled, requiring participants to enter a password in order to access the event. Your password is: {$_POST['PasswordProtect']}");

答案 5 :(得分:1)

您应该从$ _POST过滤数据,然后在您的代码中使用它。因为您使用双引号,所以您可以轻松地以这种方式插入变量,因为PHP中的双引号字符串将评估其中的变量:

$passwordprotect = validate_input($_POST['PasswordProtect']);
$arr_features=array("PasswordProtect");
$arr_FeaturesDescriptions = array("Password Protection: ... Your password is: $passwordprotect");

但无论如何,你真的不应该显示明文密码。

答案 6 :(得分:1)

而不是echo(),您应该使用string concatenation。您可以在引号字符串中将$_POST['PasswordProtect']括在花括号({})中,或者将值附加到带有'。'的字符串末尾。操作

这是php.net上string data type documentation的链接,详细说明了在PHP中处理字符串的不同方法。