致命错误:函数名称必须是第3行/home/../public_html/updater.php中的字符串
1: <?php
2:
3: $user_id = $_GET("uid"); /* <-- Line 3 */
4: $user_name = $_GET("uname");
5: $setting = $_GET("setting");
6:
7: $MyString = $user_name + '[' + $user_id + ']{' + $setting + '} \n';
8:
9: $myfile = fopen('database.txt', 'a');
10: fwrite($myfile, $MyString . '\n');
11: fclose($myfile);
12:
13: ?>
有什么问题?
答案 0 :(得分:23)
使用方括号将$_GET()
代码更改为$_GET[]
。
答案 1 :(得分:5)
除了使用方括号而不是括号外,还应将第7行更改为
$MyString = $user_name . "[" . $user_id . "]{" . $setting . "} \n";
和第10行到
fwrite($myfile, $MyString . "\n");
您应该使用句点(。)进行字符串连接而不是加号(+)。此外,在编写特殊字符(换行符)时,您需要使用双引号字符串而不是单引号。
答案 2 :(得分:3)
要在php中获取array值,请使用方括号[]
而不是vb,即$user_id = $_GET["uid"];
答案 3 :(得分:2)
语法错误。正确的语法是:
$user_id = $_GET["uid"];
在适用的地方应用更改。
答案 4 :(得分:1)
对您使用两个换行符的原因感到困惑。一个人不应该够吗?
你的代码也错了'\ n',你做不到。
你需要;
“\ n”正确解释的隐式换行符(或chr(10))
CRLF(chr(13)+ chr(10)),用于DOS格式的文本文件。
CR用于linux格式的文本文件。 (或chr(13))
另外,我建议使用“ta”进行fopen调用。从fopen()php页面拉出来;
如果您使用纯文本文件并且使用\ n来界定脚本中的行结尾,则应使用't'模式,但希望您的文件可以通过记事本等应用程序读取。你应该在所有其他情况下使用'b'。
参考文献:
http://php.net/manual/en/function.fopen.php
http://www.december.com/html/spec/ascii.html(13被视为回车或/ r,10被视为换行或/ n)
答案 5 :(得分:-1)
更改所有 GET 方法:
$user_id = $_GET("uid"); /* <-- Line 3 */
到
$user_id = $_GET["uid"];
完成
答案 6 :(得分:-1)
我希望你已经解决了这些问题。您必须从“括号”更改为“方括号”。在从输入中提取它们的同时修剪它们是最佳做法。
$user_id = trim($_GET["uid"]); /* <-- Line 3 */
$user_name = trim($_GET["uname"]);
$setting = trim($_GET["setting"]);
祝你好运!