3

致命的なエラー: 関数名は、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: ?>

どうしたの ?

4

6 に答える 6

24

$_GET()コードを$_GET[]角括弧付きに変更します。

于 2012-07-29T04:03:28.500 に答える
5

括弧の代わりに角括弧を使用することに加えて、7 行目を次のように変更する必要があります。

$MyString = $user_name . "[" . $user_id . "]{" . $setting . "} \n";

そして10行目~

fwrite($myfile, $MyString . "\n");

文字列の連結には、プラス (+) ではなくピリオド (.) を使用する必要があります。また、特殊文字 (改行) を記述するときは、一重引用符ではなく二重引用符で囲まれた文字列を使用する必要があります。

于 2012-07-29T04:05:49.950 に答える
3

PHP で配列値を取得するに[]は、vb とは異なり、 角かっこを使用します。$user_id = $_GET["uid"];

于 2012-07-29T04:04:49.607 に答える
2

構文が間違っています。正しい構文は次のとおりです。

$user_id = $_GET["uid"];

必要に応じて変更を適用します。

于 2012-07-29T04:10:49.820 に答える
1

なぜ2つの改行を使用しているのか混乱しています。1つで十分ではないでしょうか?

また、あなたのコードは '\n' で間違っています。それはできません。

必要がある;

"\n" 適切に解釈される暗黙の改行 (または chr(10))

DOS 形式のテキスト ファイルに使用される CRLF (chr(13) + chr(10))。

Linux 形式のテキスト ファイルに使用される CR。(または chr(13))


また、fopen 呼び出しに「ta」を使用することをお勧めします。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 と見なされます)

于 2012-07-29T04:15:26.230 に答える