打印内容会话时遇到问题,因为在创建会话时,变量是字符串(从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上时
答案 0 :(得分:5)
('#div').html(<?php echo $_SESSION['n_control']; ?>);
这将生成以下行,该行将发送到您的浏览器:
('#div').html(09680040);
这将被Javascript解析器解释为整数。只需在其周围加上引号即可使其成为字符串:
('#div').html('<?php echo $_SESSION['n_control']; ?>');
答案 1 :(得分:2)
这是一个javascript问题。它与$_SESSION
或mysql_query
部分无关。
从本质上讲,您的最终JS代码将成为:
alert 09680040;
忽略明显的语法错误,Javascript会将其视为数字常量。
您必须在PHP代码中创建一个Javascript字符串以保留所有内容。使用json_encode
。
alert(<?php echo json_encode($_SESSION['n_control']);?>);
(无论哪种方式,您对问题的描述都是错误的,示例代码肯定不是您的实际代码。所以这是我的猜测答案..)
答案 2 :(得分:0)
尝试:
$_SESSION['n_control'] = strval($user['ncontrol']);