如何在.js文件中获得.php文件中的$_SESSION js的验证写在页面内,再用php输出session比如<script>var session=<?php echo $_SESSION[xxx] ?></script> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ls正解。<?php session_start();?><script>var session = <?php echo $_SESSION['xx']; ?></script> js中混插php代码即可,前提这个文件也是php文件 你的意思是js的验证写在哪个页面内啊?我已经有一个panduan.js文件了,想在这里面实现,就是不知道如何获取在yanzhengma.php中产生的验证码。 这些代码是放在yanzhengma.php中吗?我试过了,但是panduan.js无法识别session. <script language="javascript" src="yanzhengma.php"></script>yanzhengma.php<?php session_start();?><script>var session = <?php echo $_SESSION['xx']; ?></script> 我想知道的是,在panduan.js中如何用到这个session的值呢? 先输出Session值到页面的js代码中,像下面:<?phpsession_start();?><script>var session = <?php echo $_SESSION['xx']; ?></script>js文件中可以调用这个变量。然后再在这代码后面调用js文件。OK了。 js只能获取cookie,不能获取session 这就是JS的问题了function check(){ if(document.getElementById("checkcode").value!=session) { alert("False") return false; }}<form name="a" action="" onsubmit="return check()"> js毕竟是客户端脚本语言,如果一定要获取session只能用嵌套(php服务器脚本语言),那种好像不叫js获取session <?phpHeader("Content-type: image/gif");/** 初始化*/$border = 1; //是否要边框 1要:0不要$how = 4; //验证码位数$w = $how*15; //图片宽度$h = 28; //图片高度$fontsize = 30; //字体大小$alpha = "abcdefghijkmnopqrstuvwxyz"; //验证码内容1:字母$number = "023456789"; //验证码内容2:数字$randcode = ""; //验证码字符串初始化srand((double)microtime()*1000000); //初始化随机数种子$im = ImageCreate($w, $h); //创建验证图片/** 绘制基本框架*/$bgcolor = ImageColorAllocate($im, 255, 255, 255); //设置背景颜色ImageFill($im, 0, 0, $bgcolor); //填充背景色if($border){ $black = ImageColorAllocate($im, 0, 0, 0); //设置边框颜色 ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//绘制边框}/** 逐位产生随机字符*/for($i=0; $i<$how; $i++){ $alpha_or_number = mt_rand(0, 1); //字母还是数字 $str = $alpha_or_number ? $alpha : $number; $which = mt_rand(0, strlen($str)-1); //取哪个字符 $code = substr($str, $which, 1); //取字符 $j = !$i ? 4 : $j+15; //绘字符位置 $color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字符随即颜色 ImageChar($im, $fontsize, $j, 3, $code, $color3); //绘字符 $randcode .= $code; //逐位加入验证码字符串}/** 添加干扰*/for($i=0; $i<5; $i++)//绘背景干扰线{ $color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰线颜色 ImageArc($im, mt_rand(-5,$w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1); //干扰线} for($i=0; $i<$how*40; $i++)//绘背景干扰点{ $color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰点颜色 ImageSetPixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //干扰点}//把验证码字符串写入sessionsession_start();$_SESSION['randcode'] = $randcode;/*绘图结束*/Imagegif($im);ImageDestroy($im);/*绘图结束*/?> 这是验证码的生成代码,在verify.php中。你知道怎样在一个.js文件中得到这个验证码的值吗? 用AJAX吧。首先在服务器端输出session ,然后用AJAX返回这个值 ajax我不会用啊是不是类似这样: $('.bt_send').click(function(){ var session = <?php echo $_SESSION['randcode']; ?>; $.ajax ({ type:'POST', url:'panduan.js?yanzhengma='+session, …… }); }); <?php session_start(); $s=$_session['']; ?><script>var value=<?php echo json_encode($s);?>;</script> 你要做的,是在把数据插入数据库之前,判断验证码输入框中的内容是否与$_SESSION中的一致,找到插入数据的函数,应该在另一个php文件中,你的.js文件是要通过ajax向这个文件传递数据的,你好好检查一下那个传递函数,就是有url和data的那部分,你data是否写全了?。还有php给变量赋值时,是哪个函数的变量就在这个函数内部赋值。你用global的话也可以。 一个关于php双循环棘手问题,求解决 从XML获取最大值用什么方法了 求编程思想!!! 动态显示当前页面玩家列表 我想问几个关于php环境放到linux下的问题 php代码请教? 关于页面跳转(链接超时的问题) 统计小说字数 前面& 是做什么用的 最近被黄贴困扰寻求技术解决方案 eWebEdit在线编辑器(php)版怎么样? PHP有没有非阻塞函数的概念? file_get_contents()获取页面中知识有警告,没有链接上这个网页
session_start();
?>
<script>
var session = <?php echo $_SESSION['xx']; ?>
</script>
session_start();
?>
<script>
var session = <?php echo $_SESSION['xx']; ?>
</script>
<?php
session_start();
?>
<script>
var session = <?php echo $_SESSION['xx']; ?>
</script>js文件中可以调用这个变量。
然后再在这代码后面调用js文件。
OK了。
{
if(document.getElementById("checkcode").value!=session)
{
alert("False")
return false;
}
}<form name="a" action="" onsubmit="return check()">
Header("Content-type: image/gif");
/*
* 初始化
*/
$border = 1; //是否要边框 1要:0不要
$how = 4; //验证码位数
$w = $how*15; //图片宽度
$h = 28; //图片高度
$fontsize = 30; //字体大小
$alpha = "abcdefghijkmnopqrstuvwxyz"; //验证码内容1:字母
$number = "023456789"; //验证码内容2:数字
$randcode = ""; //验证码字符串初始化
srand((double)microtime()*1000000); //初始化随机数种子$im = ImageCreate($w, $h); //创建验证图片/*
* 绘制基本框架
*/
$bgcolor = ImageColorAllocate($im, 255, 255, 255); //设置背景颜色
ImageFill($im, 0, 0, $bgcolor); //填充背景色
if($border)
{
$black = ImageColorAllocate($im, 0, 0, 0); //设置边框颜色
ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//绘制边框
}/*
* 逐位产生随机字符
*/
for($i=0; $i<$how; $i++)
{
$alpha_or_number = mt_rand(0, 1); //字母还是数字
$str = $alpha_or_number ? $alpha : $number;
$which = mt_rand(0, strlen($str)-1); //取哪个字符
$code = substr($str, $which, 1); //取字符
$j = !$i ? 4 : $j+15; //绘字符位置
$color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字符随即颜色
ImageChar($im, $fontsize, $j, 3, $code, $color3); //绘字符
$randcode .= $code; //逐位加入验证码字符串
}/*
* 添加干扰
*/
for($i=0; $i<5; $i++)//绘背景干扰线
{
$color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰线颜色
ImageArc($im, mt_rand(-5,$w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1); //干扰线
}
for($i=0; $i<$how*40; $i++)//绘背景干扰点
{
$color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰点颜色
ImageSetPixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //干扰点
}//把验证码字符串写入session
session_start();
$_SESSION['randcode'] = $randcode;/*绘图结束*/
Imagegif($im);
ImageDestroy($im);
/*绘图结束*/
?>
这是验证码的生成代码,在verify.php中。你知道怎样在一个.js文件中得到这个验证码的值吗?
是不是类似这样:
$('.bt_send').click(function(){
var session = <?php echo $_SESSION['randcode']; ?>;
$.ajax
({
type:'POST',
url:'panduan.js?yanzhengma='+session,
……
});
});
session_start();
$s=$_session[''];
?>
<script>
var value=<?php echo json_encode($s);?>;
</script>