MySQLi的HTML表单插入数据库 无法写入不知道是哪里变量值问题
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>MYZTGAME</title>
</head>
<style>
.header {
position: absolute;
top: 0px;
left: 0px;
right: 0px;
height: 60px;
background-color: #009aff;
color: #fff;
}
.content {
margin-top: 100px;
}
.greenbg {
width: 100%;
background-color: #0f0;
}
.greenbr {
text-align: center;
border: solid;
border-radius: 8px;
border-color: #f00;
color: #000;
}
.submit {
height: 45px;
}
.fit {
width: 100%;
text-align: center;
border-radius: 5px;
border-color: #f00;
color: #000;
}
.row {
margin-top: 10px;
}
.panal {
width: 80%;
margin: 0 auto;
margin-bottom: 20px;
}
.box {
margin-bottom: 20x;
}
</style>
<script>
function CheckInput(){
if(document.getElementById("account").value == ""){alert("请输入您的游戏账号!");document.getElementById("account").focus();return false;}
if(!isPhoneAvailable(document.getElementById("account").value)){alert("游戏账号必须是邮箱地址!");document.getElementById("account").focus();return false;}
if(document.getElementById("POINT").value == ""){alert("请输入充值数量!");document.getElementById("POINT").focus();return false;}
if(document.getElementById("POINT").value.length<7){alert("最少充值数量100锭起步!");document.getElementById("POINT").focus();return false;}
return true;}
var mailReg = /^[a-zA-Z0-9]{3,16}[a-zA-Z0-9]@[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;function isPhoneAvailable(phonevalue){if(mailReg.test(phonevalue)){return true;}else{return false;}}
function getByClass(parent, cls) {
if (parent.getElementsByClassName) {
return parent.getElementsByClassName(cls);
} else {
var res = [];
var reg = new RegExp(' ' + cls + ' ', 'i')
var ele = parent.getElementsByTagName('*');
for (var i = 0; i < ele.length; i++) {
if (reg.test(' ' + ele[i].className + ' ')) {
res.push(ele[i]);
}
}
return res;
}
}
function get(index) {
var choose = getByClass(document, 'greenbr');
for (let i = 0; i < choose.length; i++) {
choose[i].style.backgroundColor = "#fff";
choose[i].style.color = "#000";
}
choose[index].style.backgroundColor = "#f00";
choose[index].style.color = "#fff";
var count = document.getElementById("count");
if(index == 1) { POINT = 4000000; } else
if(index == 2) { POINT = 8000000; } else
if(index == 3) { POINT = 15000000; } else
if(index == 4) { POINT = 35000000; } else
if(index == 5) { POINT = 60000000; } else
{ POINT = 2000000; }
POINT.value = POINT;
}
</script>
<body>
<div class="header text-center" style="text-align:center;color:#000"">
<h3>游戏充值系统</h3>
</div>
<div class="content">
<div class="panal">
<div class="row">
<div class="col-xs-5 greenbr" onclick="get(0)" style="background-color:#f00;color:#fff">
<strong>建议售价:100.00元宝</strong>
<br>200锭金子</br>
</div>
<br>
<div class="col-xs-offset-2 col-xs-5 greenbr" onclick="get(1)">
<strong>建议售价:200.00元宝</strong>
<br>400锭金子</br>
</div>
<br>
<div class="col-xs-5 greenbr" onclick="get(2)">
<strong>建议售价:300.00元宝</strong>
<br>800锭金子</br>
</div>
<br>
<div class="col-xs-offset-2 col-xs-5 greenbr" onclick="get(3)">
<strong>建议售价:500.00元宝</strong>
<br>1500锭金子</br>
</div>
<br>
<div class="col-xs-5 greenbr" onclick="get(4)">
<strong>建议售价:1000.00元宝</strong>
<br>3500锭金子</br>
</div>
<br>
<div class="col-xs-offset-2 col-xs-5 greenbr" onclick="get(5)">
<strong>建议售价:1500.00元宝</strong>
<br>6000锭金子</br>
</div>
</div>
</div>
<hr>
<form class="form panal" method="get" onSubmit="return CheckInput();" action="?action=save">
<div class="form-group row box">
<label for="account" class="col-xs-3 control-label">游戏账号:<font color="#FF0000">*</font></label>
<div class="col-xs-9">
<input type="text" class="form-control" id="account" name="account" size="36" placeholder="请输入需充值的邮箱账号">
</div>
</div>
<div class="form-group row box">
<label for="POINT" class="col-xs-3 control-label">金子数量:(文)<font color="#FF0000">*</font></label>
<div class="col-xs-9">
<input type="text" class="form-control" id="POINT" name="POINT" size="36" placeholder="请选择充值金额" readonly value="">
</div>
</div>
<br>
<div class="form-group row box">
<label for="codes" class="col-xs-3 control-label">验证码:<font color="#FF0000">*</font></label>
<div class="col-xs-9">
<input type="text" name="codes" id="codes" size="12">
<img src="code.php" onclick="this.src='code.php?'+new Date().getTime();" width="150" height="50">
</div>
</div>
<br>
<div class="form-group row box">
<div class="col-xs-12 fit">
<button type="submit" style="background-color:#f00;color:#fff" class="btn btn-success fit">立即充值</button>
<p>温馨提示:1<font color="#FF0000">0000</font>文=1锭金子</p>
</div>
</div>
</form>
</div>
</body>
</html>
<?php
$dbConf= array(
'host'=>'127.0.0.1',
'user'=>'MYZTsunify00',
'password'=>'ns3ZS4a5shhKZ6shWwHPf',
'dbName'=>'MYZTsunifgy00',
'charSet'=>'utf8',
'port'=>'3306');
function openDb($dbConf){$conn=mysqli_connect($dbConf['host'],$dbConf['user'],$dbConf['password'],$dbConf['dbName'],$dbConf['port']) or die('打开失败');mysqli_set_charset($conn,$dbConf['charSet']);return$conn;}
function closeDb($conn){mysqli_close($conn);}$conn=openDb($dbConf);
if(isset($_GET["action"])){session_start();$codes = $_POST["codes"];
if(strtolower($_SESSION["captcha"]) != strtolower($codes))
{echo "<h1>验证码错误!</h1>";$_SESSION["captcha"] = "";}
else{if($_GET["action"]=="save"){$account=$_POST["account"];$POINT=$_POST["POINT"];
$sql="UPDATE POINTBONUS0000 set POINT=POINT+'$POINT' where ACCOUNT='$account'";
$rs=$conn->query($sql);echo "<h1>注册成功!请妥善保管。游戏账号:".$account."</h1>";}}}closeDb($conn);
?>
code.php
<?php
/**
* 字母+数字的验证码生成
*/
// 开启session
session_start();
//1.创建黑色画布
$image = imagecreatetruecolor(100, 30);
//2.为画布定义(背景)颜色
$bgcolor = imagecolorallocate($image, 255, 255, 255);
//3.填充颜色
imagefill($image, 0, 0, $bgcolor);
// 4.设置验证码内容
//4.1 定义验证码的内容
$content = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
//4.1 创建一个变量存储产生的验证码数据,便于用户提交核对
$captcha = "";
for ($i = 0; $i < 4; $i++) {
// 字体大小
$fontsize = 10;
// 字体颜色
$fontcolor = imagecolorallocate($image, mt_rand(0, 120), mt_rand(0, 120), mt_rand(0, 120));
// 设置字体内容
$fontcontent = substr($content, mt_rand(0, strlen($content)), 1);
$captcha .= $fontcontent;
// 显示的坐标
$x = ($i * 100 / 4) + mt_rand(5, 10);
$y = mt_rand(5, 10);
// 填充内容到画布中
imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}
$_SESSION["captcha"] = $captcha;
//4.3 设置背景干扰元素
for ($$i = 0; $i < 200; $i++) {
$pointcolor = imagecolorallocate($image, mt_rand(50, 200), mt_rand(50, 200), mt_rand(50, 200));
imagesetpixel($image, mt_rand(1, 99), mt_rand(1, 29), $pointcolor);
}
//4.4 设置干扰线
for ($i = 0; $i < 3; $i++) {
$linecolor = imagecolorallocate($image, mt_rand(50, 200), mt_rand(50, 200), mt_rand(50, 200));
imageline($image, mt_rand(1, 99), mt_rand(1, 29), mt_rand(1, 99), mt_rand(1, 29), $linecolor);
}
//5.向浏览器输出图片头信息
header('content-type:image/png');
//6.输出图片到浏览器
imagepng($image);
//7.销毁图片
imagedestroy($image);
?>
不知道你这个问题是否已经解决, 如果还没有解决的话:HTML文件由文本组成。只要理解了语法规则,就可以在记事本等编辑器中进行编写制作。制作静态Web页面有两种方式,“在编辑器中直接输入标签”和“使用软件制作标签”,通过这两种方式制作的Web页面的内容不会发生改变,Web也只会显示标签指定的内容。例如,对于一个为“晚上好”的Web页面,任何人在任何时候访问该页面,它都仅会显示“晚上好”。这样的Web页面就是静态Web页面。
翻译 优化后的问题: 我在使用MySQLi的HTML表单插入数据库时,遇到了写入不了变量值的问题。请问我应该如何调试,找出哪里出了问题?
参考资料: 段落0: 17.2.1 制作静态Web页面 HTML文件由文本组成。只要理解了语法规则,就可以在记事本等编辑器中进行编写制作。制作静态Web页面有两种方式,“在编辑器中直接输入标签”和“使用软件制作标签”,通过这两种方式制作的Web页面的内容不会发生改变,Web也只会显示标签指定的内容。例如,对于一个为“晚上好”的Web页面,任何人在任何时候访问该页面,它都仅会显示“晚上好”。这样的Web页面就是静态Web页面。
段落1: 本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序 使用时将自动重新安装MySQL数据库,由于安装的时候马虎,一路next(事实上, 某些地方需要严格的配置,我忘记注意了),导致现在出了很多麻烦。 错误信息: 本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将 自动。
我重新在MySQL官网下载社区版mysql-installer-community-5.6.31.0,此版本为免费的。 以系统用户运行windows服务,注意:在Windows下MySQL服务名为:mysql57。不再是mysql 解决方法: 1.首先,你需要把原来的服务删除 (mysql为你的服务名称,自己可以随便定义的。 此命令需要进入mysql安装目录下的bin目录运行) mysqld --remove mysql
2.在mysql的根目录下, 清空data目录。 (如果没有data目录,请自行创建一个空目录,起名为data!)
3.接着执行如下命令: C:\Program Files\MySQL,路径改成你自己的! mysqld --install mysql --defaults-file=C:\Program Files\MySQL\my.ini
4.以管理员的身份执行启动服务命令: net start mysql57
附加:可以去data中查看后缀为.err的日志,查看密码设置:
若找不到密码 重新设置新的密码
段落2: 18、下列()语句用于清除自最近的事务语句以来所有的修改。 A. commit B. roll back C. begin D. save 答案:B 解析:答案选Broll back用于清除自最近的事务语句以来所有的修改,commit用于提交事务,begin开始事务。save保存事务。
段落3: 17.2.2 制作动态Web页面 对于下面的脚本
<?php if(date("G")<=6){ print"不困吗?"; }elseif (date("G")<=9) { print"早上好!"; }elseif (date("G")<=18) { print"你好!"; }else { print"晚上好!"; }
执行以上脚本PHP会根据“时间”这个条件输出不同的内容。这种通过PHP脚本等程序间接地输出显示内容,而且内容会根据条件发生改变的Web页面称为动态Web页面。
段落4: 参考博文 http://blog.csdn.net/laozhaokun/article/details/22034787 段落5: 49、子查询的执行过程遵循()的原则 A. 由外及里 B. 由里及外 C. 由左及右,顺序执行 D. 由前及后,顺序执行 答案:B 解析:子查询的执行过程遵循“由里及外”的原则,即先执行最内层的子查询语句,然后将执行结果与外层的语句进行合并,依次逐层向外扩展并最终形成完整的 SQL 语句
段落6: 46、下面哪些选项属于线程生命周期中的状态 A. 阻塞 B. 运行 C. 冰冻 D. 新建 答案:A,B,D 解析:当线程被创建启动后,该线程并非一启动就会被执行,也不会一直处于执行状态。在线程的生命周期中,要经过新建>>就绪>>运行>>阻塞>>死亡这 5 种状态,没有“冰冻”状态。
段落7: 写一个事件 你得先看下自己的MySQL有没有开启时间调度器。
SHOW VARIABLES LIKE 'event_scheduler';
开启事件调度器
SET GLOBAL event_scheduler = ON;
创建事件
CREATE EVENT del_event
ON SCHEDULE EVERY 1 DAY
STARTS '2020-09-08 15:30:30'
DO CALL delete_history();
ps:开启事件:这里一定得记得开启事件
ALTER EVENT second_event ON COMPLETION PRESERVE ENABLE;//开启定时任务
ALTER EVENT second_event ON COMPLETION PRESERVE DISABLE;//关闭定时任务
也可以这样写:
CREATE EVENT del_event
ON SCHEDULE EVERY 1 SECOND
ON COMPLETION PRESERVE DISABLE
DO CALL del_history();
当你在测试的时候,你可以先把时间间隔设置短一些,这样可以比较快速的看效果
周期执行–关键字 EVERY 单位有:second,minute,hour,day,week(周),quarter(季度),month,year
ON SCHEDULE EVERY 1 SECOND //每秒执行1次
ON SCHEDULE EVERY 2 MINUTE //每两分钟执行1次
ON SCHEDULE EVERY 3 DAY //每3天执行1次
在具体某个时间执行–关键字 AT
ON SCHEDULE AT CURRENT_TIMESTAMP() + INTERVAL 5 DAY //5天后执行
ON SCHEDULE AT CURRENT_TIMESTAMP() + INTERVAL 10 MINUTE //10分钟后执行
ON SCHEDULE AT '2016-10-01 21:50:00' //在2016年10月1日,晚上9点50执行
在某个时间段执行–关键字 STARTS ENDS
ON SCHEDULE EVERY 1 DAY STARTS CURRENT_TIMESTAMP() + INTERVAL 5 DAY ENDS CURRENT_TIMESTAMP() + INTERVAL 1 MONTH //5天后开始每天都执行执行到下个月底
ON SCHEDULE EVERY 1 DAY ENDS CURRENT_TIMESTAMP() + INTERVAL 5 DAY //从现在起每天执行,执行5天
查看你的事件
SHOW EVENTS;
删除存储过程
DROP PROCEDURE 存储过程名;
删除事件
DROP EVENT 事件名;