如何在一个变量中发布两个字段值

时间:2011-05-06 09:45:19

标签: 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>

如何在数据库的一个字段中的一个变量中发布名称和姓氏 是吗

<?php
    $name=$_post['firstname']['lastname'];
?>

9 个答案:

答案 0 :(得分:7)

实际上你有三个领域。使用string concatenation(或implode):

$name = $_POST['firstname'] . ' ' . $_POST['lastname'];

如果将值存储在数据库中,请不要忘记使用mysql_real_escape_string(或@ThiefMaster所说的内容)。永远不要相信用户输入。

答案 1 :(得分:3)

只需连接两个值,例如

<?php
    $name = $_POST['firstname'] . $_POST['lastname'];
?>

答案 2 :(得分:1)

保留一个数组,并将其序列化以存储它。

$name['firstname']=$_post['firstname'];

$name['lastname']=$_post['lastname'];

//storage and retrieval methods 
$stored_name = serialize($name);

$name = unserialize($stored_name);

这样您就不会失去在数组中分离变量的功能,如果需要,您可以随后将它们连接起来以供显示。

答案 3 :(得分:1)

您可以使用[]

为文本输入指定相同的名称
Firstname: <input type="text" name="name[]" />

Lastname: <input type="text" name="name[]" />

然后你可以

$name = $_POST['name'][0].$_POST['name'][1];

但我更喜欢

$name=$_post['firstname'] . ' ' . $_post['lastname'];

答案 4 :(得分:1)

这一个会帮助你......!我也实现了它,它的工作原理......!

Firstname: <input type="text" name="firstName" />

Lastname: <input type="text" name="lastName" />
$fullname = $_post['firstName']. ' ' .$_post['lastName'];

答案 5 :(得分:0)

$name = $firstname . " " . $lastname;

然后在您想要的任何字段中发布$ name。

答案 6 :(得分:0)

我遇到了同样的问题,我有一个表单,其中包含报告问题的人的姓名,它从我的用户数据库中获取名字和姓氏并将它们添加到一起,但是当它发布时间时两个名称到数据库,它只会发布第一个名称。 我的解决方案首先是从用户数据库中调用名字和姓氏,然后我只调用名字和姓氏,并将它们连接在一起以生成记者名。

所以这是代码的第一部分,要求我提供表单所需的用户详细信息:

// 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"];


}

接下来我Concat的名字和姓氏:

$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')";

我已经对我的代码进行了划分,因此它给了你一个想法,我确信有更多经验的编码员可以告诉你一个更简单的方法来做到这一点,我知道它对我有用。

答案 7 :(得分:0)

连接变量的快捷方式是:

$name = "$_POST[first_name] $_POST[last_name]"

答案 8 :(得分:-3)

一般评论。世界上很大一部分人没有名字和姓氏。

更好的做法就是要求“名字”,并将其贴在一个字段中。

如果您必须拆分它们,那么“给定名称”和“姓氏”是更好的标签。