使用isset($#u POST[';submit';])或$#u SERVER[";REQUEST\u METHOD";]==创建新用户php和sql;邮政「;错误
我不熟悉php和sql,我正在尝试构建一个新的用户系统。 我试过两种不同的方法,它们都会给我错误 $\u服务器[“请求\u方法”]=“POST”给了我一个未识别的索引“Nom”、“Prenom”、“Role”和“Mail”错误 和isset($_POST['submit'])不输入if(不打印test2) 所以我猜我对表单有问题,但我不知道它是什么 编辑:新问题:sql查询无法通过,因此数据不会添加到数据库中。我收到了这个错误信息:一个小错误,一个维耶兹·雷萨耶加上焦油!aka是我在.php文件中最后一条if-else语句中的一条 这是我的html代码(用于收集数据的表单):使用isset($#u POST[';submit';])或$#u SERVER[";REQUEST\u METHOD";]==创建新用户php和sql;邮政「;错误,php,sql,forms,Php,Sql,Forms,我不熟悉php和sql,我正在尝试构建一个新的用户系统。 我试过两种不同的方法,它们都会给我错误 $\u服务器[“请求\u方法”]=“POST”给了我一个未识别的索引“Nom”、“Prenom”、“Role”和“Mail”错误 和isset($_POST['submit'])不输入if(不打印test2) 所以我猜我对表单有问题,但我不知道它是什么 编辑:新问题:sql查询无法通过,因此数据不会添加到数据库中。我收到了这个错误信息:一个小错误,一个维耶兹·雷萨耶加上焦油!aka是我在.php文件
新的利用率
维列兹·雷姆普利尔·沙万特酒店
名称
名称
电子邮件
角色
利用者
手势
管理员
这是我新的_user.php文件:
<?php
//Ouvrir la bdd
require_once "../Control/config.php";
//Création de variables
$Prenom = $Nom = $Mot_de_Passe = $Role = $Mail ="";
$Prenom_erreur = $Nom_Erreur = $Mdp_erreur = $Role_erreur = $Mail_erreur = "";
echo "test1";
//if(isset($_POST['submit'])){
if($_SERVER["REQUEST_METHOD"] == "POST"){
echo "test2";
// Validité Nom
if(empty(trim($_POST['Nom']))){
$Nom_Erreur = "Veuillez entrer un nom";
} else {
$Nom = trim($_POST['Nom']);}
// Validité Prénom
if(empty(trim($_POST["Prénom"]))){
$Prenom_erreur = "Veuillez entrer un prénom";
} else{
$Prenom = trim($_POST["Prénom"]);
}
//Verif mail
if(empty(trim($_POST["Adressemail"]))){
$Mail_erreur = "Veuillez entrer un mail";
} else{
$Mail = trim($_POST["Adressemail"]);
}
if(empty(trim($_POST["role"]))){
$Role_erreur = "Veuillez choisir un rôle";
} else{
if (trim($_POST["role"]) == 'Administrateur'){
$Role = 3;
} elseif(trim($_POST["role"]) == 'Gestionnaire'){
$Role = 2;
} else {
$Role = 1;
}
}
//Création d'un mdp aléatoire
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#$&*";
$length = strlen( $chars );
echo "Random string =";
for( $i = 0; $i < 6 ; $i++ ) {
$Mot_de_Passe= $chars[ rand( 0, $length - 1 ) ];
echo $Mot_de_Passe; }
// Verif erreurs
if(empty($Prenom_erreur) && empty($Mail_erreur) && empty($Mdp_erreur) && empty($Nom_Erreur) && empty($Role_erreur)){
$Mdp_code = password_hash($Mot_de_Passe, PASSWORD_DEFAULT);
$sql = "INSERT INTO utilisateurs (Nom, Prenom, Mail, Mot_de_Passe, Role) VALUES ($Nom,$Prenom,$Mail,$Mdp_code,$Role)";
if($db->query($sql) === TRUE){
//Si succès
echo "Utilisateur ajouté";
} else{
echo "Une petite erreur, veuillez réessayer plus tard ! ";
}
}
}
?>
您没有名为submit的输入。你应该试试这个:
if (isset($_POST['Nom']))
您没有在submit按钮中添加名称,因此if(isset($\u POST['submit']){echo“ok”}或者{echo“error”}
因此您得到了错误
<input type = "submit" value = "Envoyer"/>
换成这个
<input type = "submit" name="submit" value = "Envoyer"/>
使用此选项,我希望您能得到答案和解决方案。$\u POST['submit']
从未设置,因为您的提交输入没有name=“submit”
属性$\u服务器[“REQUEST\u METHOD”]==“POST”
,因为它在您的表单中应该是METHOD=“POST”
,而不是methode=“POST”
-因此使用GETGreat发送表单,非常感谢它解决了一半的问题!现在,sql查询发送一个false,因此数据不会添加到数据库中,我从php代码中的最后一个else中得到错误消息。由于未设置$Prénom
,因此您将其命名为$Prenom
,并尝试了该操作:/如果需要更多帮助,请告诉我。。非常感谢!现在它进入了它,但是SQL查询出现了一个问题,它返回了false:/有什么想法吗?你能告诉我错误吗?然后我就可以解决问题了,没有任何错误,只是($db->query($SQL)==TRUE)
是false,我不明白我为什么解决了它!问题是我在插入中缺少“”,谢谢您的帮助!!
<input type = "submit" name="submit" value = "Envoyer"/>