当前位置: 编程技术>php
本页文章导读:
▪PHP中获取变量的变量名的一段代码的bug分析
代码如下: /** * 获取变量名 * * @param $string * @return $string * * $test = "helo"; * $test2 = "helo"; * getVarName($test2); */ function getVarName(&$src){ //存储当前变量值 $save = $src; //存储所有变量值 $allvar = $GLOBALS.........
▪PHP的一个基础知识 表单提交
register.php: 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <title>注册页面</title> </head> <body> <form action="/blog_article/request.html" method="post" name="reg.........
▪php与mysql建立连接并执行SQL语句的代码
今天写了一个小程序,很小很小,只不过是能够建立php与mysql的链接,并且实现简单的SQL语句。 新手初试,还请各路高手多多指导。 程序源代码如下: 代码如下: <?php $conn = mysql_connect("lo.........
[1]PHP中获取变量的变量名的一段代码的bug分析
来源: 互联网 发布时间: 2013-11-30
代码如下:
/**
* 获取变量名
*
* @param $string
* @return $string
*
* $test = "helo";
* $test2 = "helo";
* getVarName($test2);
*/
function getVarName(&$src){
//存储当前变量值
$save = $src;
//存储所有变量值
$allvar = $GLOBALS;
//在函数中不要直拉遍历$GLOBALS,会出现堆栈问题
foreach($allvar as $k=>$v){
//变量值相同,可能不是相同变量,因多个变量的值可能相同
if ($src == $v){
//改变当前变量$src的值
$src = 'change';
//如果$GLOBALS[$k]也跟着改变,那就是同一个变量。
if ($src == $GLOBALS[$k]){
//echo "\$$k name is $k
";
//还原变量值
$src = $save;
return $k;
}
}
}
}
copy下来后发现这个怎么测试结果有时候对有时候不对,想了很久,终于弄明白,虽然很简单,但是自己还是记录下,希望遇到同样情况的同学注意。
比如:现在我测试
代码如下:
$test2 = "hello";
$countNum=0;
echo getVarName($test2);
//按道理应该输出为”test2“,但是输出的是"countNum",
因为函数中的
if ($src == $v) 这里存在问题 比如$src="/blog_article/hello/index.html", $GLOBALS里面有个变量$countNUm=0;
这时在循环的时候判断 if ($src == $v) ,即"hello"==0,比较的结果为true,类型转换的时候“hello“转为整形为0,
然后就退出循环了,得到错误的结果。
一个解决办法就是 if ($src == $v) 改为 if($src=/blog_article/==$v/index.html),即恒等。
如果我理解错了欢迎您指正,一起进步。
[2]PHP的一个基础知识 表单提交
来源: 互联网 发布时间: 2013-11-30
register.php:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<title>注册页面</title>
</head>
<body>
<form action="/blog_article/request.html" method="post" name="registForm">
<table width="330" border="0" align="center" cellpadding="5" bgcolor="#eeeeee">
<tr>
<td width="40%">用户名:</td>
<td><input name="username" type="text" id="username"/></td>
</tr>
<tr>
<td>姓名:</td>
<td><input name="name" type="text" id="name"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input name="pwd" type="text" id="pwd"/></td>
</tr>
<tr>
<td>邮箱:</td>
<td><input name="email" type="text" id="email"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="提交" name="submit"/>
<input type="reset" value="重置" name="button"/>
</td>
</tr>
</table>
</form>
</body>
</html>
request.php
<?php
$username = $_POST['username'];
$name = $_POST['name'];
$pwd = $_POST['pwd'];
$email = $_POST['email'];
//print_r($username);
if(!empty($username))
{
echo "您填写的信息为:<br>\n";
echo "用户名: $username <br>\n";
echo "姓名: $name <br>\n";
echo "密码: $pwd <br>\n";
echo "邮箱: $email <br>\n";
}
print_r($_POST)
//echo "aaaa";
?>
</PRE>
</DIV>
当然,你也可以把request跟regiser.php写到一起。
代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<title>注册页面</title>
</head>
<body>
<form action="/blog_article/request.html" method="post" name="registForm">
<table width="330" border="0" align="center" cellpadding="5" bgcolor="#eeeeee">
<tr>
<td width="40%">用户名:</td>
<td><input name="username" type="text" id="username"/></td>
</tr>
<tr>
<td>姓名:</td>
<td><input name="name" type="text" id="name"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input name="pwd" type="text" id="pwd"/></td>
</tr>
<tr>
<td>邮箱:</td>
<td><input name="email" type="text" id="email"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="提交" name="submit"/>
<input type="reset" value="重置" name="button"/>
</td>
</tr>
</table>
</form>
</body>
</html>
request.php
代码如下:
<?php
$username = $_POST['username'];
$name = $_POST['name'];
$pwd = $_POST['pwd'];
$email = $_POST['email'];
//print_r($username);
if(!empty($username))
{
echo "您填写的信息为:<br>\n";
echo "用户名: $username <br>\n";
echo "姓名: $name <br>\n";
echo "密码: $pwd <br>\n";
echo "邮箱: $email <br>\n";
}
print_r($_POST)
//echo "aaaa";
?>
</PRE>
</DIV>
当然,你也可以把request跟regiser.php写到一起。
[3]php与mysql建立连接并执行SQL语句的代码
来源: 互联网 发布时间: 2013-11-30
今天写了一个小程序,很小很小,只不过是能够建立php与mysql的链接,并且实现简单的SQL语句。
新手初试,还请各路高手多多指导。
程序源代码如下:
<?php
$conn = mysql_connect("localhost","root","") or die ("wrong!");
$sel=mysql_select_db("mydb",$conn);
$sql="INSERT INTO `mydb`.`test` (
`id` ,
`uid` ,
`regdate` ,
`remark`
)
VALUES (
'', 'php200', now( ) , 'dddd'
) ";
$que=mysql_query($sql,$conn);
if($que)
echo"true";
else
echo "wrong";
?>
新手初试,还请各路高手多多指导。
程序源代码如下:
代码如下:
<?php
$conn = mysql_connect("localhost","root","") or die ("wrong!");
$sel=mysql_select_db("mydb",$conn);
$sql="INSERT INTO `mydb`.`test` (
`id` ,
`uid` ,
`regdate` ,
`remark`
)
VALUES (
'', 'php200', now( ) , 'dddd'
) ";
$que=mysql_query($sql,$conn);
if($que)
echo"true";
else
echo "wrong";
?>
最新技术文章: