我需要一个用户能够以以下格式将数据输入到文本区域。
姓名,电子邮件@email.com
姓名,电子邮件@email.com
姓名,电子邮件@email.com
然后将信息发送到 mysql 数据库。我的问题是我想将正确的名称放入第一列,将正确的电子邮件放入第二列。然后,当我遇到换行符时,我希望它开始一个新行。
有人能帮忙吗?谢谢!
我会explode()
用来分隔不同的行,然后是字段。像那样:
$lines = explode("\n", $_POST['textarea']);
foreach($lines as $line) {
$fields = explode(',', $line);
$name = $fields[0];
$email = $fields[1];
// DO YOUR MYSQL STUFF HERE
}
可能有更好的方法,但这对你有用。
<?php
$textareastring = $_POST['textareaname'];
$array = explode("\n",$textareastring );
foreach($array as $value) {
$data = explode(',',$value);
$name = $data[0];
$email = $data[1];
//Your mysql query goes here
}
?>
正如其他人所说,您可以使用 explode 将结果放入数组中,但是这种方法的问题是不能保证用户会以正确的顺序输入信息。
我要做的就是这个。它仍然不是万无一失的(并且使用单独的输入会更好)但它更好。
<?php
$textareastring = $_POST['textareaname'];
$array = explode("\n",$textareastring );
foreach($array as $value) {
$data = explode(',',$value);
if (strpos($data[1], '@'))
{
$name = $data[0];
$email = $data[1];
}else{
$name = $data[1];
$email = $data[0];
}
}
?>