初学php遇到的问题
近来对php网页编程颇感兴趣,于是稍微学了点.不过照着书做了几个网页,且碰到不少问题.现求教各位大侠如下:
1.在linux下,是不是凡是网页中嵌有php语句时,就须把网页存为.php的形式,否则在客户端就会打不开?
我觉得应该可以把文件命名为.html的,不过最简单的hello world的网页我把它命名为.html后,在客户端打开是空白的一页,而命名为.php后且能够打开.为什么呀,是不是要在php的配置文件中做一些修改?
2.php网页间怎么传递变量?
我编写了两个网页如下:
第一个网页命名为eg1-3.html,其源代码如下:
<html>
<head>
<title>Example 1-3</title>
</head>
<body>
<form action="eg1-4.php" method="post">
Please input your first name:
<input type="text" name="firstname"><br> //命名文本框名为firstname
<br>
Please input your last name:
<input type="text" name="lastname"><br> //命名文本框名为lastname
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
第二个网页命名为eg1-4.php,其源代码如下:
<html>
<head>
<title>Example 1-4:Answer for eg1-3</title>
</head>
<body>
<?php
$space=" ";
printf("Your name is <b>%s</b>.<br>",$firstname.$space.$lastname); //这里变量名同上 面两个文本框
printf("and the first name is <b>%s</b>,<br>",$firstname);
printf("and the last name is <b>%s</b>.<br>",$lastname);
printf("Thank you for your vist!");
?>
</body>
</html>
可是奇怪的是,执行结果输入第一个网页两个文本框的值并没有传递至第二个网页,也就是其值为空。请问应该怎么改? 因为安全问题,现在默认 form 变量通过 $_POST['xxxx'] 进行传递。
比如 $firstname 需要改为 $_POST['firstname'] 来调用。
其它的还有 $_SESSION[]、$_GET[]、$_REQUEST[] 等~~~ 多谢版主!
不过还是不明白,为什么用$_POST['xxxx']就能提高安全性呢? 如果按照旧的方法:
假设 $admin 是 SESSION 的变量还是 URL 变量?
假设这个变量是管能否使用管理员功能的变量。
1 表示可以使用。
本来为了安全把它放在了 SESSION 里(这个变量只存在于服务器上)。但如果某个人在 URL 后面加上 “?admin=1”。
这下就乱了。
代码里的 $admin 就成了 URL 变量,值为 1 。
但现在区分不了他是 SESSION 还是 URL 变量(都是 $admin 变量)结果,这个提交URL 的人就可以使用管理权限。 行了,谢谢!
不愧为版主,佩服ing !
我是按照一本书来做的,看来这书太旧了!
不可尽信书哪!
页:
[1]