0

セッションの作成時に変数が文字列 (mysql フィールドから取得された varchar) であるため、コンテンツ セッションを印刷するときに問題が発生しました。

初期変数:09680040

div: 9680040 で警告または表示して印刷

???

PHP CODE

$query = "SELECT nombre, apellidop, apellidom, tUser FROM users WHERE ncontrol = '$numeroControl'";
$result = mysql_query($query) or die (mysql_error());
$no_of_rows = mysql_num_rows($result);
if ($no_of_rows > 0) {
    $result = mysql_fetch_array($result);
    $_SESSION['n_control'] = $user['ncontrol'];
}

JS CODE
........
alert <?php echo $_SESSION['n_control'];?>;

JQuery CODE

('#div').html(<?php echo $_SESSION['n_control']; ?>);

編集:問題は、アラートを表示するとき、およびjqueryのdivにコンテンツを配置するときのみです

4

3 に答える 3

5
('#div').html(<?php echo $_SESSION['n_control']; ?>);

これにより、ブラウザに送信される次の行が生成されます。

('#div').html(09680040);

これは、Javascript パーサーによって整数として解釈されます。文字列にするには、単に引用符で囲みます。

('#div').html('<?php echo $_SESSION['n_control']; ?>');
于 2012-05-17T14:19:36.013 に答える
2

これはの質問です。$_SESSIONormysql_queryの部分とは関係ありません。

基本的に、最終的な JS コードは次のようになります。

alert 09680040;

明らかな構文エラーを無視すると、Javascript はそれを数値定数として認識します。

すべてのコンテンツを保持するには、PHP コードで Javascript 文字列を作成する必要があります。を使用しjson_encodeます。

alert(<?php echo json_encode($_SESSION['n_control']);?>);

(いずれにせよ、問題の説明は正しくなく、サンプルコードは実際のコードではありません。したがって、これは私の推測の答えです..)

于 2012-05-17T14:20:20.973 に答える
0

試す:

 $_SESSION['n_control'] = strval($user['ncontrol']);
于 2012-05-17T14:11:41.933 に答える