表单的未定义索引和未定义偏移量
Undefined index and undefined offset for form
我是一名新的开发学生,我为自己创建了一个网站,当我做一些运动(例如自行车)时,我可以把我的结果放在那里,但我在那里有很多问题。
第一个:第 34 和 35 行的未定义索引
第二个:我的表单每个输入的未定义偏移量
你可以在这里查看我的代码:
<?php
session_start();
//Connexion
include('connexionBDD.php');
//Form
if(isset($_POST['enregistrement'])) {
if($_POST['seance'] == 'new') {
//REQ (INSERT)
$req = "INSERT INTO `donnees_velo` (`SEANCE`, `DATE`, `CALORIES`, `DUREE`,`DISTANCE`,`PUISSANCE`, `CALORIES PAR HEURE`,`MOVEs`,`FCMOY`,`FCMAX`,`PERFORMANCE`,`VITESSE`)
VALUES (NULL, '".$_POST['date']."','".$_POST['calories']."', '".$_POST['duree']."', '".$_POST['distance']."','".$_POST['puissance']."', '".$_POST['calories_heure']."', '".$_POST['MOVEs']."','".$_POST['FCMOY']."', '".$_POST['FCMAX']."', '".$_POST['PERFORMANCE']."','".$_POST['VITESSE']."');";
echo $req;
} else {
echo $req = "UPDATE `donnees_velo`
SET `DATE` = '".$_POST['date']."',
`calories` = '".$_POST['calories']."'
`DUREE` = '".$_POST['duree']."'
`DISTANCE` = '".$_POST['distance']."'
`CALORIES PAR HEURE` = '".$_POST['calories_heure']."'
`MOVEs` = '".$_POST['MOVEs']."'
`FCMOY` = '".$_POST['FCMOY']."'
`FCMAX` = '".$_POST['FCMAX']."'
`PERFORMANCE` = '".$_POST['PERFORMANCE']."'
`VITESSE` = '".$_POST['VITESSE']."'
WHERE `seance` = '".$_POST['idvelo']."'";
echo $req;
}
//EXE REQ (QUERY)
$db->query($req);
header('Location: index.html');
exit();
}
if($_GET['seance'] != 'new') {
$req = "SELECT * FROM `donnees_velo` WHERE `seance` = '".$_GET['id']."'";
//REQ LAUNCHING
$rep = $db->query($req);
//REQ TO TBL
$tbl_velo = $rep->fetchAll();
} else {
$tbl_velo[0]['id'] = 'new';
$tbl_velo[0]['date'] = '';
$tbl_velo[0]['calories'] = '';
$tbl_velo[0]['duree'] = '';
$tbl_velo[0]['distance'] = '';
$tbl_velo[0]['calories_heure'] = '';
$tbl_velo[0]['MOVEs'] = '';
$tbl_velo[0]['FCMOY'] = '';
$tbl_velo[0]['FCMAX'] = '';
$tbl_velo[0]['PERFORMANCE'] = '';
$tbl_velo[0]['VITESSE'] = '';
}
var_dump($tbl_velo);
?>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="test.css">
<link rel="stylesheet" href="pagedeux.css">
<title>Vélo</title>
</head>
<body>
<div class="overlay"></div>
<p class="line-1 anim-typewriter">Le vélo</p>
<form action="velo.php" method="POST" >
<input type="hidden" value="<?php echo $tbl_velo[0]['SEANCE']; ?>" name="seance">
Date : <input name="date" value="<?php echo $tbl_velo[0]['date']; ?>" type="date"><br/>
Calories : <input name="calories" value="<?php echo $tbl_velo[0]['calories']; ?>" type='text'><br/>
Durée : <input name="duree" value="<?php echo $tbl_velo[0]['duree']; ?>" type="text">
Distance : <input name="distance" value="<?php echo $tbl_velo[0]['distance']; ?>" type="text">
Calories par heure : <input name="calories_heure" value="<?php echo $tbl_velo[0]['calories_heure']; ?>" type="text">
MOVEs : <input name="MOVEs" value="<?php echo $tbl_velo[0]['MOVEs']; ?>" type="text">
Fréquence cardiaque moyenne : <input name="FCMOY" value="<?php echo $tbl_velo[0]['FCMOY']; ?>" type="text">
Fréquence cardiaque mxaimale : <input name="FCMAX" value="<?php echo $tbl_velo[0]['FCMAX']; ?>" type="text">
Performance : <input name="PERFORMANCE" value="<?php echo $tbl_velo[0]['PERFORMANCE']; ?>" type="text">
Vitesse : <input name="VITESSE" value="<?php echo $tbl_velo[0]['VITESSE']; ?>" type="text">
<input type="submit" name="enregistrement" value="Envoyer">
</form>
非常感谢!
您正在从 $_GET
变量中获取 'seance'
和 'id'
,而由于从形式。
您应该在这两个地方用 $_POST
替换 $_GET
的实例。
此外,请注意易受 SQL Injection 影响的 $_POST['id']
变量,我建议对其进行清理。
我是一名新的开发学生,我为自己创建了一个网站,当我做一些运动(例如自行车)时,我可以把我的结果放在那里,但我在那里有很多问题。 第一个:第 34 和 35 行的未定义索引 第二个:我的表单每个输入的未定义偏移量
你可以在这里查看我的代码:
<?php
session_start();
//Connexion
include('connexionBDD.php');
//Form
if(isset($_POST['enregistrement'])) {
if($_POST['seance'] == 'new') {
//REQ (INSERT)
$req = "INSERT INTO `donnees_velo` (`SEANCE`, `DATE`, `CALORIES`, `DUREE`,`DISTANCE`,`PUISSANCE`, `CALORIES PAR HEURE`,`MOVEs`,`FCMOY`,`FCMAX`,`PERFORMANCE`,`VITESSE`)
VALUES (NULL, '".$_POST['date']."','".$_POST['calories']."', '".$_POST['duree']."', '".$_POST['distance']."','".$_POST['puissance']."', '".$_POST['calories_heure']."', '".$_POST['MOVEs']."','".$_POST['FCMOY']."', '".$_POST['FCMAX']."', '".$_POST['PERFORMANCE']."','".$_POST['VITESSE']."');";
echo $req;
} else {
echo $req = "UPDATE `donnees_velo`
SET `DATE` = '".$_POST['date']."',
`calories` = '".$_POST['calories']."'
`DUREE` = '".$_POST['duree']."'
`DISTANCE` = '".$_POST['distance']."'
`CALORIES PAR HEURE` = '".$_POST['calories_heure']."'
`MOVEs` = '".$_POST['MOVEs']."'
`FCMOY` = '".$_POST['FCMOY']."'
`FCMAX` = '".$_POST['FCMAX']."'
`PERFORMANCE` = '".$_POST['PERFORMANCE']."'
`VITESSE` = '".$_POST['VITESSE']."'
WHERE `seance` = '".$_POST['idvelo']."'";
echo $req;
}
//EXE REQ (QUERY)
$db->query($req);
header('Location: index.html');
exit();
}
if($_GET['seance'] != 'new') {
$req = "SELECT * FROM `donnees_velo` WHERE `seance` = '".$_GET['id']."'";
//REQ LAUNCHING
$rep = $db->query($req);
//REQ TO TBL
$tbl_velo = $rep->fetchAll();
} else {
$tbl_velo[0]['id'] = 'new';
$tbl_velo[0]['date'] = '';
$tbl_velo[0]['calories'] = '';
$tbl_velo[0]['duree'] = '';
$tbl_velo[0]['distance'] = '';
$tbl_velo[0]['calories_heure'] = '';
$tbl_velo[0]['MOVEs'] = '';
$tbl_velo[0]['FCMOY'] = '';
$tbl_velo[0]['FCMAX'] = '';
$tbl_velo[0]['PERFORMANCE'] = '';
$tbl_velo[0]['VITESSE'] = '';
}
var_dump($tbl_velo);
?>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="test.css">
<link rel="stylesheet" href="pagedeux.css">
<title>Vélo</title>
</head>
<body>
<div class="overlay"></div>
<p class="line-1 anim-typewriter">Le vélo</p>
<form action="velo.php" method="POST" >
<input type="hidden" value="<?php echo $tbl_velo[0]['SEANCE']; ?>" name="seance">
Date : <input name="date" value="<?php echo $tbl_velo[0]['date']; ?>" type="date"><br/>
Calories : <input name="calories" value="<?php echo $tbl_velo[0]['calories']; ?>" type='text'><br/>
Durée : <input name="duree" value="<?php echo $tbl_velo[0]['duree']; ?>" type="text">
Distance : <input name="distance" value="<?php echo $tbl_velo[0]['distance']; ?>" type="text">
Calories par heure : <input name="calories_heure" value="<?php echo $tbl_velo[0]['calories_heure']; ?>" type="text">
MOVEs : <input name="MOVEs" value="<?php echo $tbl_velo[0]['MOVEs']; ?>" type="text">
Fréquence cardiaque moyenne : <input name="FCMOY" value="<?php echo $tbl_velo[0]['FCMOY']; ?>" type="text">
Fréquence cardiaque mxaimale : <input name="FCMAX" value="<?php echo $tbl_velo[0]['FCMAX']; ?>" type="text">
Performance : <input name="PERFORMANCE" value="<?php echo $tbl_velo[0]['PERFORMANCE']; ?>" type="text">
Vitesse : <input name="VITESSE" value="<?php echo $tbl_velo[0]['VITESSE']; ?>" type="text">
<input type="submit" name="enregistrement" value="Envoyer">
</form>
非常感谢!
您正在从 $_GET
变量中获取 'seance'
和 'id'
,而由于从形式。
您应该在这两个地方用 $_POST
替换 $_GET
的实例。
此外,请注意易受 SQL Injection 影响的 $_POST['id']
变量,我建议对其进行清理。