Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用isset($#u POST[';submit';])或$#u SERVER[";REQUEST\u METHOD";]==创建新用户php和sql;邮政「;错误_Php_Sql_Forms - Fatal编程技术网

使用isset($#u POST[';submit';])或$#u SERVER[";REQUEST\u METHOD";]==创建新用户php和sql;邮政「;错误

使用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文件

我不熟悉php和sql,我正在尝试构建一个新的用户系统。 我试过两种不同的方法,它们都会给我错误

$\u服务器[“请求\u方法”]=“POST”给了我一个未识别的索引“Nom”、“Prenom”、“Role”和“Mail”错误

和isset($_POST['submit'])不输入if(不打印test2)

所以我猜我对表单有问题,但我不知道它是什么

编辑:新问题:sql查询无法通过,因此数据不会添加到数据库中。我收到了这个错误信息:一个小错误,一个维耶兹·雷萨耶加上焦油!aka是我在.php文件中最后一条if-else语句中的一条

这是我的html代码(用于收集数据的表单):


新的利用率
维列兹·雷姆普利尔·沙万特酒店

名称

名称

电子邮件

角色
利用者 手势 管理员

这是我新的_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"/>