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

这是一个问题。$_SESSION它与或mysql_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 回答