Php 如何在一个变量中发布两个字段值
我有两个领域Php 如何在一个变量中发布两个字段值,php,Php,我有两个领域 <form action="insert.php" method="post"> Firstname: <input type="text" name="firstname" /> Lastname: <input type="text" name="lastname" /> Age: <input type="text" name="age" /> <input type="submit" /> </form&
<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
名字:
姓氏:
年龄:
如何在数据库的一个字段中将name和lastname放在一个变量中
是吗
只需将两个值连接起来,例如
<?php
$name = $_POST['firstname'] . $_POST['lastname'];
?>
然后在你想要的任何字段中发布$name。实际上你有三个字段。使用(或):
如果将值存储在数据库中,请不要忘记使用(或使用上面所说的内容)。永远不要相信用户输入。保留一个数组,并将其序列化以存储它
$name['firstname']=$_post['firstname'];
$name['lastname']=$_post['lastname'];
//storage and retrieval methods
$stored_name = serialize($name);
$name = unserialize($stored_name);
通过这种方式,您不会失去在数组中分离变量的功能,如果需要,您可以随时将它们连接起来以供显示。一般性评论。世界上有很大一部分人没有名字和姓氏 更好的做法是只要求“姓名”,并将其粘贴在一个字段中
如果必须拆分它们,那么“给定名称”和“姓氏”是更好的标签。您可以使用[]为文本输入指定相同的名称
Firstname: <input type="text" name="name[]" />
Lastname: <input type="text" name="name[]" />
但我更愿意
$name=$_post['firstname'] . ' ' . $_post['lastname'];
我也有同样的问题,我有一个表单,上面有报告问题的人的名字,它从我的用户数据库中取名字和姓氏,并将它们加在一起,但是当需要将两个名字都发布到数据库时,它只会发布第一个名字。 我的解决方案是首先从用户数据库中调用名字和姓氏,然后我只调用名字和姓氏,并将它们组合在一起生成reportername 因此,这是代码的第一部分,用于调用我需要的表单用户详细信息:
// Select the member from the users table
$sql = "SELECT * FROM users WHERE username='$log_username' AND activated='1' LIMIT 1";
$user_query = mysqli_query($db_conx, $sql);
// Now make sure that user exists in the table
$numrows = mysqli_num_rows($user_query);
if($numrows < 1){
echo "That user does not exist or is not yet activated, press back";
// exit();
}
// Fetch the user row from the query above
while ($row = mysqli_fetch_array($user_query, MYSQLI_ASSOC)) {
$profile_id = $row["id"];
$first_name = $row["First_Name"];
$last_name = $row["Last_Name"];
$userlevel = $row["userlevel"];
}
然后,您可以将其发布到数据库:
$reportername = mysqli_real_escape_string($db_conx, $reportername);
$sql = "INSERT INTO yourform (`reportedby`) Value ('$reportername')";
我已经将我的代码分条,这样可以给你一个想法,我相信有更多经验的程序员可以告诉你一种更简单的方法,我只知道它对我有用。连接变量的快捷方法是:
$name = "$_POST[first_name] $_POST[last_name]"
这个能帮你。。。!我也实现了这一点,它的工作
Firstname: <input type="text" name="firstName" />
Lastname: <input type="text" name="lastName" />
我会尝试让你知道,或者更好的是,使用带绑定参数的PDO。逃跑是1990年的事。这一点很好,但更适合作为对原始问题的实际评论。我也有一个内部辩论。表格是用英语写的,英语国家有多少人没有名字和姓氏?呃,那些非欧洲背景的人?
// Select the member from the users table
$sql = "SELECT * FROM users WHERE username='$log_username' AND activated='1' LIMIT 1";
$user_query = mysqli_query($db_conx, $sql);
// Now make sure that user exists in the table
$numrows = mysqli_num_rows($user_query);
if($numrows < 1){
echo "That user does not exist or is not yet activated, press back";
// exit();
}
// Fetch the user row from the query above
while ($row = mysqli_fetch_array($user_query, MYSQLI_ASSOC)) {
$profile_id = $row["id"];
$first_name = $row["First_Name"];
$last_name = $row["Last_Name"];
$userlevel = $row["userlevel"];
}
$reporter_sql = "SELECT CONCAT (First_name,' ', Last_name) AS reportername FROM users WHERE username='$log_username' AND activated='1' LIMIT 1";
$reporter_results = mysqli_query($db_conx, $reporter_sql);
while ($row = mysqli_fetch_array($reporter_results, MYSQLI_ASSOC)){
$reportername = $row['reportername'];
}
$reportername = mysqli_real_escape_string($db_conx, $reportername);
$sql = "INSERT INTO yourform (`reportedby`) Value ('$reportername')";
$name = "$_POST[first_name] $_POST[last_name]"
Firstname: <input type="text" name="firstName" />
Lastname: <input type="text" name="lastName" />
$fullname = $_post['firstName']. ' ' .$_post['lastName'];