您好我的问题是在使用查询更新数据库后,表单中的值不会更改,即使代码底部的相同值(例如team1
)给了我更新值。要更新表单中的值,我要刷新页面。
<form action="" method="post" id="form-partite">
Team Home: <input type="text" name="team1" value="<?php echo $team1 ?>">
Team Away: <input type="text" name="team2" value="<?php echo $team2 ?>">
<input type="submit" name="submit" id="submit">
</form>
<?php
if (isset($_POST['submit'])) {
if ($_POST['team1'] == "" || $_POST['team2'] == ""){
echo "Devi inserire entrambe le squadre";
} else {
$team1 = $_POST['team1'];
$team2 = $_POST['team2'];
$data = array(
'team1' => $team1,
'team2' => $team2
);
global $wpdb;
$wpdb -> update( wp_partite, $data, array( id => '1' ) );
global $wpdb;
$partita = $wpdb -> get_row("SELECT team1, team2 FROM wp_partite");
$team1 = $partita -> team1;
$team2 = $partita -> team2;
echo "Partita inserita: " . $team1 . " vs " . $team2 . "!";
unset($_POST);
}
}
答案 0 :(得分:0)
不要在PHP之前回显表单,而是在PHP之后执行:
<?php
if (isset($_POST['submit'])) {
if ($_POST['team1'] == "" || $_POST['team2'] == ""){
echo "Devi inserire entrambe le squadre";
} else {
$team1 = $_POST['team1'];
$team2 = $_POST['team2'];
$data = array(
'team1' => $team1,
'team2' => $team2
);
global $wpdb;
$wpdb -> update( wp_partite, $data, array( id => '1' ) );
global $wpdb;
$partita = $wpdb -> get_row("SELECT team1, team2 FROM wp_partite");
$team1 = $partita -> team1;
$team2 = $partita -> team2;
echo "Partita inserita: " . $team1 . " vs " . $team2 . "!";
unset($_POST);
}
}
?>
<form action="" method="post" id="form-partite">
Team Home: <input type="text" name="team1" value="<?php echo $team1 ?>">
Team Away: <input type="text" name="team2" value="<?php echo $team2 ?>">
<input type="submit" name="submit" id="submit">
</form>
答案 1 :(得分:0)
正如Luis所指出的那样,在使用它的变量之前总是调用PHP。 也不要取消设置$ _POST,因为它是一个全局变量,不能取消设置。 取消设置全局变量是一种不好的做法。避免它。
另外,在检查$ _POST ['submit']之前定义$ team1和$ team2,以便它们始终可用并且不会给出未定义的变量错误。
使用trim,因为您不希望用户填写表单中的空格。
你可以取消设置$ _POST中的team1和team2偏移。
以下是代码:
<?php
$team1 = $team2 = ''; // ADD THIS LINE, else form will show undefined variable error.
if (isset($_POST['submit'])) {
if (trim($_POST['team1']) == "" || trim($_POST['team2']) == ""){ // Modified
echo "Devi inserire entrambe le squadre";
} else {
$data = array(
'team1' => $_POST['team1'], // Modified
'team2' => $_POST['team2'] // Modified
);
global $wpdb;
$wpdb -> update( wp_partite, $data, array( id => '1' ) );
global $wpdb;
$partita = $wpdb -> get_row("SELECT team1, team2 FROM wp_partite");
$team1 = $partita -> team1;
$team2 = $partita -> team2;
echo "Partita inserita: " . $team1 . " vs " . $team2 . "!";
unset($_POST['team1']); // Modified
unset($_POST['team2']); // Modified
}
}
?>
<form action="" method="post" id="form-partite">
Team Home: <input type="text" name="team1" value="<?php echo $team1 ?>">
Team Away: <input type="text" name="team2" value="<?php echo $team2 ?>">
<input type="submit" name="submit" id="submit">
</form>