Php 如果用户已发布,则使用$\u GET和$\u POST回显某个内容

Php 如果用户已发布,则使用$\u GET和$\u POST回显某个内容,php,post,get,undefined-index,Php,Post,Get,Undefined Index,我有一个让我疯狂了一段时间的问题,因为我就是想不出来 如果用户从表单创建帖子,我想重复类似“成功”的内容 这是我在db querys文件中得到的结果: if ($_REQUEST) { $name = $_REQUEST['name']; $price = $_REQUEST['price']; $dateofevent = $_REQUEST['dateofevent']; $time = $_REQUES

我有一个让我疯狂了一段时间的问题,因为我就是想不出来

如果用户从表单创建帖子,我想重复类似“成功”的内容

这是我在db querys文件中得到的结果:

if ($_REQUEST) {
    $name           = $_REQUEST['name'];
    $price      = $_REQUEST['price'];
    $dateofevent    = $_REQUEST['dateofevent'];
    $time           = $_REQUEST['time'];
    $textinfo       = $_REQUEST['textinfo'];
    $leg            = $_REQUEST['leg'];

    $sql= $dbh->prepare("INSERT INTO events(name, dateofevent, time, price, leg, textinfo) 
    VALUE (:name, :dateofevent, :time, :price, :leg, :textinfo)");

    $sql->bindParam(':name', $name);
    $sql->bindParam(':dateofevent', $dateofevent);
    $sql->bindParam(':time', $time);
    $sql->bindParam(':price', $price);
    $sql->bindParam(':leg', $leg);
    $sql->bindParam(':textinfo', $textinfo);

    $sql->execute();

    $url = $_POST['name'];
    header('Location: events.php?'.$url);
}
然后,我尝试使用
$\u GET
来回显url是否正确的内容

这是迄今为止我的视图文件中的代码:

if(isset($_GET[$url])) {
    echo "success";
}
这里我得到了未定义的变量$url,而echo不工作,没有显示任何内容

我也尝试过类似的方法:

$url = 'path/to/event.php';
if (!$_SERVER['REQUEST_URI'] == $_SERVER[$url]) {
    echo "success";
}
这里我得到了未定义的索引path/to/event.php,而echo也不能正常工作,没有显示任何内容

有人能帮我解决我的问题吗?我是php新手,因此无法进一步了解这一点,我被卡住了

$array = array('foo' => 'bar');
$key   = 'foo';
echo $array[$key]; // outputs 'bar'
这就是您在那里试图做的,显然不起作用,因为
$url
不是一个定义的变量。事实上,由于名称值在与之关联的URL中没有键,因此您根本无法从
$\u get
获得它

最简单的解决方案是在URL中添加一个键:

header('Location: events.php?name=' . urlencode($_POST['name']));
                             ^^^^^
并通过键获取值:

$name = $_GET['name'];
不过,使用用户输入的名称作为数据库中某些内容的主id是很奇怪的。您应该使用数据库中记录的自动递增数字id

这就是您在那里试图做的,显然不起作用,因为
$url
不是一个定义的变量。事实上,由于名称值在与之关联的URL中没有键,因此您根本无法从
$\u get
获得它

最简单的解决方案是在URL中添加一个键:

header('Location: events.php?name=' . urlencode($_POST['name']));
                             ^^^^^
并通过键获取值:

$name = $_GET['name'];
不过,使用用户输入的名称作为数据库中某些内容的主id是很奇怪的。您应该使用数据库中记录的自动递增数字id

这就是您在那里试图做的,显然不起作用,因为
$url
不是一个定义的变量。事实上,由于名称值在与之关联的URL中没有键,因此您根本无法从
$\u get
获得它

最简单的解决方案是在URL中添加一个键:

header('Location: events.php?name=' . urlencode($_POST['name']));
                             ^^^^^
并通过键获取值:

$name = $_GET['name'];
不过,使用用户输入的名称作为数据库中某些内容的主id是很奇怪的。您应该使用数据库中记录的自动递增数字id

这就是您在那里试图做的,显然不起作用,因为
$url
不是一个定义的变量。事实上,由于名称值在与之关联的URL中没有键,因此您根本无法从
$\u get
获得它

最简单的解决方案是在URL中添加一个键:

header('Location: events.php?name=' . urlencode($_POST['name']));
                             ^^^^^
并通过键获取值:

$name = $_GET['name'];

不过,使用用户输入的名称作为数据库中某些内容的主id是很奇怪的。您应该使用数据库中记录的自动递增数字id。

不管怎样,我已经这样解决了它:

if ($_SERVER['REQUEST_URI'] == 'path/to/events.php') {
}
else {
    echo 'success';
}

没关系,我是这样解决的:

if ($_SERVER['REQUEST_URI'] == 'path/to/events.php') {
}
else {
    echo 'success';
}

没关系,我是这样解决的:

if ($_SERVER['REQUEST_URI'] == 'path/to/events.php') {
}
else {
    echo 'success';
}

没关系,我是这样解决的:

if ($_SERVER['REQUEST_URI'] == 'path/to/events.php') {
}
else {
    echo 'success';
}

非常感谢你,我用了这个名字,因为我正试图让它工作,出于懒散,因为它很容易采取的东西,我已经准备好写。我会把它换成id。非常感谢,我在试着让它工作的时候用了这个名字,出于懒散,因为只要拿我写的东西就很容易了。我会把它换成id。非常感谢,我在试着让它工作的时候用了这个名字,出于懒散,因为只要拿我写的东西就很容易了。我会把它换成id。非常感谢,我在试着让它工作的时候用了这个名字,出于懒散,因为只要拿我写的东西就很容易了。我把它换成身份证。