QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1043|回复: 4

初学php遇到的问题

[复制链接]
发表于 2004-9-7 20:24:49 | 显示全部楼层 |阅读模式
近来对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>

可是奇怪的是,执行结果输入第一个网页两个文本框的值并没有传递至第二个网页,也就是其值为空。请问应该怎么改?
发表于 2004-9-7 21:11:53 | 显示全部楼层
因为安全问题,现在默认 form 变量通过 $_POST['xxxx'] 进行传递。
比如 $firstname 需要改为 $_POST['firstname'] 来调用。

其它的还有 $_SESSION[]、$_GET[]、$_REQUEST[] 等~~~
回复

使用道具 举报

 楼主| 发表于 2004-9-8 16:25:48 | 显示全部楼层
多谢版主!
不过还是不明白,为什么用$_POST['xxxx']就能提高安全性呢?
回复

使用道具 举报

发表于 2004-9-8 16:57:18 | 显示全部楼层
如果按照旧的方法:

假设 $admin 是 SESSION 的变量还是 URL 变量?
假设这个变量是管能否使用管理员功能的变量。
1 表示可以使用。

本来为了安全把它放在了 SESSION 里(这个变量只存在于服务器上)。但如果某个人在 URL 后面加上 “?admin=1”。
这下就乱了。
代码里的 $admin 就成了 URL 变量,值为 1 。
但现在区分不了他是 SESSION 还是 URL 变量(都是 $admin 变量)结果,这个提交URL 的人就可以使用管理权限。
回复

使用道具 举报

 楼主| 发表于 2004-9-8 20:22:39 | 显示全部楼层
行了,谢谢!
不愧为版主,佩服ing !
我是按照一本书来做的,看来这书太旧了!
不可尽信书哪!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 14:58 , Processed in 0.039846 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表