当前位置: 首页 > 知识库问答 >
问题:

当名称存在或已添加时获取消息

微生令雪
2023-03-14


在您按下信息提交后,我尝试显示一条消息。

1.此名称已经存在,请使用另一个

2。名字加上去了!

html

<form action="add.php" method="post">
<input type="text" name="name" id="name" class="form-control" required> 
<input class="btn btn-default" type="submit" value="Submit">
</form>

php

$connectie=mysqli_connect("localhost","usernam","pw","db");

$name = $_POST['name'];
$name = stripslashes($name);
$name = mysql_real_escape_string($name);

$check_if_exists="SELECT * FROM names WHERE name = '$name'";

if($data[0] > 1) {
echo"already exists";
} else {

$newUser="INSERT INTO users (name) values('$name')";
    if (mysqli_query($connectie,$newUser))
    {
        echo "name is registerd";
    }
    else
    {
        echo "error<br/>";
    }

现在,它将回声发布在add.php上,而不是表单所在的页面上。我怎么把它送到那里?

共有2个答案

禹昆
2023-03-14

您应该考虑为此使用会话。将session\u start()添加到两个文件的顶部。

if(mysqli_query($connectie, $uewUser))
{
    $_SESSION['flash'] = 'name is registered';
}
else
{
    $_SESSION['flash'] = 'error<br/>';
}

然后,在带有表单的页面中,在想要打印数据的任何地方执行以下检查。

if(isset($_SESSION['flash']))
{
    echo $_SESSION['flash'];
    unset($_SESSION['flash']);
}

这将确保仅为下一个请求保留会话消息。

须捷
2023-03-14

您可以使用会话/会话闪存数据。

首先,您没有正确运行选择查询。它应该是:

$check_if_exists="SELECT * FROM names WHERE name = '$name'";

$count = mysql_num_rows($check_if_exists);
if($count != 0) { // this means that the name already exists:

 $_SESSION['msg']="The name already exists. Please try another name";
  

} else {
  
  //perform the insert query and have the session msg
   $_SESSION['msg']="The name was inserted successfully";
  
}
  
  header('Location: form.php');

// Now in your form page just above the form, have a div to display this message as:

<div class="msg"> 
  <?php if(isset($_SESSION['msg']))

{
echo $_SESSION['msg'];
unset($_SESSION['msg']);
}
?>
</div>

NOTE: you must start the session on both the pages. Have this code on top of both the pages

<?php
session_start();
?>
 类似资料:
  • 在Powershell中,我使用命令Register ScheduledJob-ScriptBlock{…}创建了一个ScheduledJob。此ScheduledJob执行脚本块。如何从ScriptBlock检索当前运行的ScheduledJob的名称? 例如。 Windows任务计划程序中的任务正在运行以下命令: powershell.exe-NoLogo-NonInteractive-Win

  • 问题内容: 如何获得与C 调用给出的值相对应的Olson时区名称(例如)? 这是通过,通过符号链接或在与时间相关的系统配置文件中设置变量来覆盖的值。 问题答案: 我认为最好的选择是遍历所有pytz时区,并检查哪个匹配本地时区,每个pytz时区对象都包含有关utcoffset和tzname的信息,例如CDT,EST,可以从和获取有关本地时间的相同信息,我认为这是足以正确匹配pytz数据库中的本地时区

  • 我希望管理员创建用户。但这将是在客户端,因为会有很多管理员,我不想让那么多人访问我的Firebase控制台。这就是为什么我不想使用Firebase管理SDK。 我找了很多地方,找到了这个。下面是代码: 因此,您可以创建两个不同的Firebase Auth对象,例如: 现在,在onCreate中,您可以将它们初始化为: 要获取ProjectID、WebAPI密钥,您可以转到Firebase项目控制台

  • 问题内容: 有什么解决方案来获取对象的函数名称? -没有有关或的信息。有可能得到其中之一吗? 问题答案: 获取对象的构造函数,然后检查其name属性。 返回“ myClass”。

  • 问题内容: 有没有办法给已经存在的约束命名? 例如 : 在上面的查询中,我没有命名外键约束,因此在创建表之后,我可以为其命名,也可以在不删除列的情况下删除外键约束吗? 问题答案: 是的,您可以像这样重命名约束: 编辑:我忘记了第二个问题。是的,您可以删除约束而不删除列。如果您不知道约束的名称,则可以在表中找到它,如下所示:

  • 问题内容: 出于跟踪目的,我想打印出当前函数名称,例如gcc中的宏。 这样当我有一个功能 它会自动打印出来或类似的东西。 问题答案: [注意:Go 1.7+建议使用代替; 包运行时是您的朋友在这里: