gpt4 book ai didi

php - 重复 - php 代码重复 MySQL 中的行 - 出了什么问题?

转载 作者:行者123 更新时间:2023-11-29 12:20:23 24 4
gpt4 key购买 nike

stockoverflow 社区大家好!

我正在开发一个表单,用于收集 MySQL 数据库表中的简单数据。
我对 php 语言相当陌生,这意味着我很可能误解或忘记了一些东西。

我的 php 表单代码有问题。它在我的 MySQL 数据库中添加了两次相同的行。有人知道代码有什么问题吗?

add_shortcode('map_location_report','map_location_report_form');

function map_location_report_form()
{
global $wpdb;

$this_page = $_SERVER['REQUEST_URI'];
$page = $_POST['page'];

if ( $page == NULL )
{
echo '<form method="post" action="' . $this_page .'">

<div class="formfield-report" id="formfield-report-firstname">
<label for="first_name" id="first_name">Navn: </label>
<input type="text" name="first_name" id="first_name" />
</div>

<div class="formfield-report" id="formfield-report-lastname">
<label for="last_name" id="last_name">Efternavn: </label>
<input type="text" name="last_name" id="last_name" />
</div>

<div class="formfield-report" id="formfield-report-locationtype">
<label for="report_type " id="report_type ">Rapport type: </label>
<select name="report_type " />
<option value="sigtmelding" selected>Sigtmelding</option>
<option value="fangstrapport">Fangstrapport</option>
<option value="jagtomraade">Jagtområde</option>
</select>
</div>

<div class="formfield-report" id="formfield-report-latitude">
<label for="location_latitude" id="location_latitude">Breddegrad: </label>
<input type="text" name="location_latitude" id="location_latitude" />
</div>

<div class="formfield-report" id="formfield-report-longitude">
<label for="location_longitude" id="location_longitude">Længdegrad: </label>
<input type="text" name="location_longitude" id="location_longitude" />
</div>

<input type="hidden" value="1" name="page" />

<div id="formfield-report-button">
<input class="btn btn-default submit-form-button" type="Submit" />
</div>

</form>';
}
elseif ( $page == 1 )
{
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$report_type = $_POST['report_type '];
$location_latitude = $_POST['location_latitude'];
$location_longitude = $_POST['location_longitude'];

$page_one_table = 'maplocationreports';

$page_one_inputs = array
(
'first_name' => $first_name,
'last_name' => $last_name,
'report_type ' => $report_type ,
'location_latitude' => $location_latitude,
'location_longitude' => $location_longitude,
'page' => $page
);

$insert_page_one = $wpdb->insert($page_one_table, $page_one_inputs);

echo '<h3>Mange tak for dit bidrag!</h3>';
echo '<p>Der er sat stor pris på at du har taget dig tid til at registrere et punkt på kortet!</p>';

}
};

创建表 map 位置报告(
id INT( 7 ) NOT NULL AUTO_INCRMENT,
名字 VARCHAR( 50 ) NOT NULL,
姓氏 VARCHAR( 50 ) NOT NULL,
report_type VARCHAR(20) NOT NULL,
location_latitude VARCHAR( 12 ) NOT NULL,
location_longitude VARCHAR( 12 ) NOT NULL,
页 INT( 1 ) NOT NULL,
时间戳 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
主键(id)
)

如果您发现任何错误,请告诉我。我将非常感激!

提前致谢!

最佳答案

您需要将用于处理表单的代码移至短代码之外。短代码应用于控制屏幕上显示的内容。通过分离这两个责任,您的问题应该得到解决。内容仅显示一次并不意味着您的简码仅使用一次。其他代码可以与它交互。

举例来说,我想为页面生成一个元描述标记。我可能会将您的帖子内容修剪到一定的长度,但在此之前,我要确保所有短代码都已运行并转换为输出。通过这样做,当您只期望它发生一次时,将行插入数据库的短代码将运行两次。

关于php - 重复 - php 代码重复 MySQL 中的行 - 出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29108633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com