牛骨文教育服务平台(让学习变的简单)
博文笔记

PHP页面间参数传递

创建时间:2017-10-31 投稿人: 浏览次数:672

我们定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用。


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


第一种:
使用客户端浏览器的cookie。cookie很容易理解,就是一个临时文件,可以把它看成一个储藏室,浏览器在浏览的过程中记录一些信息,就暂时存放在这里。

在page01中设置一个cookie。

<?php
       setcookie("mycookie","自灵");
?>

就是这么简单,我们已经创建cookie完毕。我们定义了一个变量mycookie,它的值是字符串"自灵"。我们可以随便给cookie变量起名字,可以定义多个cookie变量。在page02页面接受cookie。

<?php
     $wuziling = $_COOKIE["mycookie"];
     echo $wuziling;
?>

我们使用$_COOKIE[]提取cookie中的变量mycookie,将它的值付给$wuziling。然后简单的输出。好了,到这里使用cookie从页面之间传递参数完毕。


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


第二种:
使用服务器端的session。理解session是一件很容易的事情。与cookie的不同在于它是服务器端的临时储藏室。session常被称作会话。在page01中设置一个session。

<?php
session_start();
$_SESSION["temp"]=array("123","456","789");
?>

要想使用session,必须启动session。session_start();就是启动session的方法。一般要写在最前面。第二个语句我定义了一个$_SESSION["temp"]数组,数组的名称是$_SESSION["temp"],里面存储了3个字符串。在page02页面接受session。

<?php
     session_start();
     for($i=0;$i<3;$i++)
     {
             echo $_SESSION["temp"][$i]."<br />";
     }
?>

首先启动会话。启动后我们在page01定义的变量已经可以使用了,不需要其他任何获取的操作,这里不同于cookie。下面我们使用for循环将其内容输出。
【不要以为$_SESSION["temp"][$i]是一个二维数组,它是个一维数组,数组的名称是$_SESSION["temp"],虽然这个名称比较繁琐,数组的下标是"temp"】
【我们在写$_SESSION["temp"]时,temp加双引号或者单引号都是等价的。】
【这里我们定义会话变量时定义的是数组,也可以定义普通变量,就像cookie里面讲到的】


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


第三种:
使用表单来传递。
page01.php这样写:

<form action="page02.php" method="post">
     <input type="text" name="wuziling" />
     <input type="submit" name="submit" value="提交" />
</form>

表单内的属性action直接指定此表单内容传递到哪个页面。method指明了传递的方式。post代表使用消息传递,就像我们发短信一样。page02.php这样写:

<?php
     $wu = $_POST["wuziling"];
     echo $wu;
?>

用$_POST[ ]获取传递过来的变量值。这个变量名wuziling在表单的input标签的name属性里定义。然后将其传递给另外一个变量$wu。这样我们就可以输出了。直接输出也是可以的,echo   $_POST["wuziling"];
【如果哪里不明白,请参考本版块的另外一个详细介绍表单提交的帖子】
【method的值也可以是get】


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


第四种:
使用超链接传递参数。我们上网的很多操作都是点击超链接在网页之间跳来跳去。点的同时同样可以传递参数。
page01.php这样写:

<?php
$var = "I love you !";
?>
<a href="<?php echo "page02.php?new=".$var ?>">get</a>

定义一个变量$var。
超链接a的href属性里写明要跳转到page02页面。后面加一个问号,一个自己定义的变量new【此名称在page02页面要使用】,new的值就是我们想传递的$var。
page02.php这样写:

<?php
     echo   $_GET["new"];
?>

使用$_GET[ ]获取new的值,然后就可以输出或做其他用途。这时的浏览器地址栏可以直接看到new变量和它的值。


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


主要执行的是MySQL update语句于页面7跳转页面8进而修改数据库;

实例:7.php

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<form action="#" method="post" name="form1">
    公告主题:&nbsp;
    <input type="text" name="txt_title" /><br />
    <input type="submit" name="Submit" value="搜索" onclick="retutn check(form1)" />

</form>

<script language="javascript">
function check(form1)
{
    if(form1.txt_title.value=="")
    {
        alert("请输入查询关键字!");
        form1.txt_title.focus();
        return false;
    }
form1.submit();
}

</script>
<?php
$link=mysql_connect("localhost","root","a3141592654")or die("数据库服务器连接失败".mysql_error());
mysql_select_db("msphp",$link);
$txt_title=$_POST[txt_title];
$sql=mysql_query("select * from tb_affiche where title like "%$txt_title%" or content like "%$txt_title%"");
$info=mysql_fetch_object($sql);
if($info==false)
{
    echo "检索信息不存在!";    
}
echo "<table>";
do
{    
    echo "<tr>";
    echo "<td>".$info->title."</td>";    
    echo "<td>".$info->content."</td>";    
    echo "<td><a href="8.php?title=".$info->title."&content=".$info->content."">编辑</a></td>"; 

                                                  //?在URL中表示,其后面作为参数提交给脚本。脚本中通过get来获取对应的参数值。
    echo "</tr>";
}while($info=mysql_fetch_object($sql));
echo "</table>";
mysql_free_result($sql);
mysql_close();

?>
</body>
</html>


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


实例:8.php


<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
    $title = $_GET["title"];
    $content = $_GET["content"];
?>

<form action="" method="post">
<label>
<p>标题</p>
<input type="text" name = "title" value="<?PHP echo $title; ?>"/>
</label>
<label>
<p>内容</p>
<textarea name="content"><?PHP echo $content; ?></textarea>
</label>
<label>
<p></p>
<input type="submit" name="submit"/>
</label>
</form>

<?php
    if($_POST["submit"]){
    
        $link=mysql_connect("localhost","root","a3141592654")or die("数据库服务器连接失败".mysql_error());
        mysql_select_db("msphp",$link);
        $new_title = $_POST["title"];
        $new_content = $_POST["content"];
        $sql = "update tb_affiche set title="".$new_title."", content="".$new_content."" where title="".$title."" and content="".$content.""";
        $result = mysql_query($sql);
        if($result){
            echo "<script>alert("成功!");history.back();window.location.href="7.php"</script>";
            }
        else{
            echo "<script>alert("失败!");history.back();window.location.href="7.php"</script>";
            }
    }
?>
</body>
</html>



阅读更多
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。