+ -
当前位置:首页 → 问答吧 → php关於$_POST的问题

php关於$_POST的问题

时间:2014-05-04

来源:互联网

小弟想在Role的dropdown list的选项改变后, 以role的option value在database找最后一笔data的id, 然后在id的数字部份+1并放在Login ID的textbox内.(e.g C00001->C00002)
但当小弟用
$role=$_POST["role"];echo "alert('$role');";

最后alert box 甚么值也没有. 以下是全页的coding,请问各位前辈小分有甚么做错了吗?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<?php
include("mysql_connect.inc.php");
if(isset($_POST["action"])&&($_POST["action"]=="add"))
{
$lid=$_POST["lid"];
$pwd=$_POST["pwd"];
$name=$_POST["name"];
$hkid=$_POST["hkid"];
$sex=$_POST["sex"];
$bday=$_POST["bday"];
$email=$_POST["email"];
$rem=$_POST["rem"];
$sql_query="INSERT INTO Login (hkid,login_id,password,name,b_day,sex,email,remark) VALUES ('$hkid','$lid','$pwd','$name','$bday','$sex','$email','$rem')";
$result=mysql_query($sql_query);
}
function cnewid()
{
echo "var r = document.getElementById('role').value;"; //取得到option value
$role=$_POST["role"];
echo "alert('$role');"; //alert box甚么值也没有
$sql_query = "select login_id from Login where (login_id like '$role%');";
$result = mysql_query($sql_query);
$rst=mysql_fetch_row($result);
$erst=substr($rst[0],1)+1;
echo "document.getElementById('lid').value=r+$erst;";
}
?>

<head>
<script ="text/javascript">
function setpwd()
{
document.getElementById("pwd").value=document.getElementById("hkid").value;
var ctime=setTimeout("setpwd()",1000);
}
</script>
<meta http-equiv="content-type" c>
<title>Student Register</title>
</head>
<body >
<form action="" method="post">
<table width="200" border="0">
<input name="action" type="hidden" value="add">
<tr>
<td>Role:</td>
<td><select name="role" id="role" >
<option value="">lease Select</option>
<option value="C">Course Designer</option>
<option value="E">Employee</option>
<option value="S">Student</option>
<option value="A">Administrator</option>
</select>
</tr>
<tr>
<td>Login ID:</td>
<td><input type="text" name="lid" disabled id="lid" /></td>
</tr>
<tr>
<td>assword:</td>
<td><input type="password" name="pwd" id="pwd" disabled /></td>
</tr>
<tr>
<td>Name:</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>HK ID:</td>
<td><input type="text" name="hkid" id="hkid" /></td>
</tr>
<tr>
<td>Sex:</td>
<td><select name="sex">
<option value="M">M</option>
<option value="F">F</option>
</select>
</td>
</tr>
<tr>
<td>Birthday:</td>
<td><input type="date" name="bday" max="curtime()"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td>Remark:</td>
<td><textarea name="rem"></textarea></td>
</tr>
</table>
<input type="submit" value="submit" >
</form>
</body>
</html>
e="submit" ></form></body></html>

[ 本帖最后由 猪扒奶茶饭 於 2014-4-16 06:36 PM 编辑 ]

作者: 猪扒奶茶饭   发布时间: 2014-05-04

引用:原帖由 猪扒奶茶饭 於 2014-4-16 06:22 PM 发表
小弟想在Role的dropdown list的选项改变后, 以role的option value在database找最后一笔data的id, 然后在id的数字部份+1并放在Login ID的textbox内.(e.g C00001->C00002)
但当小弟用
$role=$_POST["role"];echo "al ...
好难一下子改变你的 PHP code 。
不过一定要看:
http://www.php.net/manual/en/security.database.sql-injection.php

另外, database 的用法算是太旧了,应转用新 api 。
http://www.php.net/manual/de/migration55.deprecated.php
引用:The original MySQL extension is now deprecated, and will generate E_DEPRECATED errors when connecting to a database. Instead, use the MySQLi or PDO_MySQL extensions.
找一套你觉得合用的又或自行建立一个 framework 来写会比较好。
分开 CSS 、 HTML 、 PHP 及 JavaScript 等为各自的 file 会是一个好的习惯/写法。

作者: xianrenb   发布时间: 2014-05-04

cnewid 呢个function唔见有行到

作者: 邪炎印   发布时间: 2014-05-04