PHP urlencode字符串并发送回主页?

时间:2014-06-10 22:45:48

标签: php url urlencode

无法弄清楚为什么我的header()不起作用。我有两页

(1)all_people_page.php
(2)editmember.php

第(1)页有一个转到第(2)页的表格。页面(2)更新数据库,需要返回页面(1)。但我想在页面(1)上触发通知,告知用户数​​据库已更新。我想如果我urlencode一个字符串然后我可以收集该变量来发起通知。

我的问题是我甚至无法返回页面(1)“all_people_page.php”



editmember.php:

<?php
  .... all my $_POST variables ....

  require ('db.php');
    $db = null;
    $limit = 10;
    $counter = 0;

    while (true) {
    try {
        $db = new PDO($dsn, $uname, $pword);
        $db->exec( "SET CHARACTER SET utf8" );
        $db->setAttribute( PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); 
        $db->setAttribute( PDO::ATTR_PERSISTENT, true );
        break;
    }
        catch (Exception $e) {
            $db = null;
            $counter++;
            if ($counter == $limit)
                throw $e;
        }
    }

    try
        {       
     $result = $db->prepare("UPDATE member_db SET USER_SEX=?, FIRSTNAME=?, LASTNAME=?, SPOUSE_ATT=?, ADDRESS=?, CITY=?, STATE=?, ZIP=?, BDAY=?, LG_NUM=?, CAMPUS=? WHERE IDNUM=?");
     $result->execute(array($gender,$member_fname,$member_lname,$spouse_att_rad,$member_address,$member_city,$member_state,$member_zip,$bday,$lg_type,$campus,$member_id));

    $notify = 1;
    $url = "http://localhost/testsite/all_people_page.php?notify=". urlencode($notify);
    header(" Location: $url ");

    }
       catch ( PDOException $exception )
    {
       echo "PDO error :" . $exception->getMessage();
    }

2 个答案:

答案 0 :(得分:1)

您在标头声明中使用了空格。

替换

header(" Location: $url ");

header("Location: $url");

答案 1 :(得分:1)

首先确保正在执行包含标题的行,如果正常,则使用

header('Location:'.$url);

而不是

header("Location:$url");

要在all_people_page.php上显示通知,您可以使用会话。创建一个会话,指示已在editmember.php上更新数据库。当页面重定向到all_people_page.php时,请检查all_people_page.php上此会话变量的值。如果发现它比显示消息指示数据库已更新正确。 在all_people_page.php的末尾取消设置此会话变量。