-4

重複の可能性:
解析エラー: 構文エラー、予期しない T_STRING 59

チェックボックス付きのテーブルの形式で表示したい名前のデータベースがあります。HTMLタグをphpコードに配置しようとするまで、すべてが機能します。入力タグを入れると、次のエラーが表示されます。

解析エラー: 構文エラー、予期しない T_STRING、',' または ';' が必要です

コンマまたはセミコロンを置く場所がわかりません。

<form>
    <?php
    $name = $_POST['name'];

    $host = "mysql16.000webhost.com";
    $user_name = "a1611480_akaash";
    $pwd = "****";
    $database_name = "a1611480_akaash";
    $db = mysql_connect($host, $user_name, $pwd);

    mysql_select_db($database_name);

    $result = mysql_query("SELECT name FROM Sort");

    $var = array();
    while ($row = mysql_fetch_array($result)) {
        $var[] = $row['name'];
    }

    $unique = array_unique($var);

    foreach ($unique as $value) {

        echo "<p class = Body_text><label>$value</label> <input type="checkbox" name="name" value="$value" /> </p>\n";
    }
    ?>
</form>
4

5 に答える 5

2

エコー行では、全体を二重引用符で囲む必要があります。チェックボックスの前に二重引用符を開くと、チェックボックスが未知の PHP 呼び出しとして表示されます。一重引用符と二重引用符を組み合わせて使用​​します。

于 2012-11-13T22:55:00.110 に答える
1

この行を変更してください..二重引用符をエスケープする必要があります

echo "<p class = Body_text><label>$value</label> <input type=\"checkbox\" name=\"name\" value=\"$value\" /> </p>\n";
于 2012-11-13T22:55:07.773 に答える
1

これを置き換えます:

echo "<p class = Body_text><label>$value</label> <input type="checkbox" name="name" value="$value" /> </p>\n"

これとともに:

echo <<<EOD
<p class = Body_text><label>$value</label> <input type="checkbox" name="name" value="$value" /> </p>
EOD;

... これはHEREDOC 構文を使用しており、引用の問題のほとんどを簡単に回避できます。ただし、重要な注意事項があります。行をインデントしてはEOD; ならず、その行に他のもの (末尾のスペースなど) を含めることはできません。

于 2012-11-13T22:55:20.590 に答える
0

「エコー」行を次のように置き換えます

echo "<p class = Body_text><label>$value</label> <input type='checkbox' name='name' value='$value' /> </p>\n";

文字列の区切り記号として、またチェックボックス自体にも二重引用符を使用しているため、php 文字列から抜け出してしまいます。

于 2012-11-13T22:55:06.150 に答える
0

バックスラッシュをエスケープするか、ヒアドキュメント構文を使用する必要があります。PHP コードを壊しているいくつかの例については、以下を参照してください。

echo "<p class = Body_text><label>$value</label> <input type="checkbox" name="name" value="$value" /> </p>\n";
                                                            ^^^      ^^^
于 2012-11-13T22:55:37.663 に答える