0
votes

Comment prendre les entrées des options, alors que je dois saisir des données dans deux tables d'une même base de données, en fonction des données d'options seront insérées

J'ai deux tables dans une base de données où je dois saisir des données via un formulaire, mais la condition est-il est une option de sélection dans le formulaire et comme option que nous devons insérer des données. Si l'option 1 est choisie, les données doivent être insérées sur Tableau X et si l'option 2 est choisie, les données doivent être insérées sur Tableau Y

J'ai essayé à l'aide d'un boîtier de commutation et d'un autre mais ne pouvait pas t trouver le bon état pour cela. Code HTML - P>

if (isset($_POST['signup'])) 
{
    if ($_POST['logtype'] == 'consumer') 
    {
        $consumer=mysqli_query($edb,"insert into consumer(name,email,address,logtype,password) values('".$_POST['aname']."','".$_POST['email']."','".$_POST['address']."','".$_POST['logtype']."',md5.
                            ('".$_POST['apass']."'))");    
                                header("Location:loginonly.php");
                }
                elseif ( $_POST['logtype'] == 'electrician' ) 
                {

                            $electrician=mysqli_query($edb,"insert into electrician(name,email,address,logtype,password) values('".$_POST['aname']."','".$_POST['email']."','".$_POST['address']."','".$_POST['logtype']."',md5.
                                ('".$_POST['apass']."'))");    
                                header("Location:loginonly.php");
                }


12 commentaires

Avez-vous testé la requête SQL dans votre console SQL?


N'utilisez pas MD5 pour le hachage de mot de passe !. Utilisez Password_Hash () pour créer un hachage et un mot de passe sécurisé () pour vérifier un mot de passe contre un hachage


Oui. Normalement, il télécharge avec la requête, mais quand je pose la condition, il n'entraîne pas de données


Vous utilisez la fonction PHP MD5 mal. Dans la console, vous n'utilisez pas MD5 car votre chaîne est déjà une chaîne MD5. Et c'est l'erreur.


Quelle est la sortie de $ _ post ['logtype'] ?


Montrez-nous votre code de formulaire HTML


Ce n'est pas l'erreur si j'envoie des données normalement à la base de données sans la condition de sélection d'option, les données insèrent en douceur sans ces erreurs.


@imoverflow voir que j'ai téléchargé tous les codes maintenant. S'il vous plaît aidez-moi ici


Dans votre code PHP, je pense que vous ne fermez pas si (Isset ($ _ Post ["Signup"]))


merci gars j'ai résolu le problème


quel était le problème ?


au lieu de si ($ _post ['logtype'] == "consommateur") j'ai utilisé si ($ _Request ['logtype'] == "consommateur") et cela a fonctionné


4 Réponses :


0
votes
if ($_POST['logtype'] == 'consumer') {
             $consumer=mysqli_query($edb,"insert into consumer(name,email,address,logtype,password) values('".$_POST['aname']."','".$_POST['email']."','".$_POST['address']."','".$_POST['logtype']."',md5('".$_POST['apass']."'))");                            header("Location:loginonly.php");
        }
        elseif ( $_POST['logtype'] == 'electrician' ) 
        {
           $electrician=mysqli_query($edb,"insert into electrician(name,email,address,logtype,password) values('".$_POST['aname']."','".$_POST['email']."','".$_POST['address']."','".$_POST['logtype']."',md5('".$_POST['apass']."'))");    
header("Location:loginonly.php");
        }
May be you are using md5 method wrong

2 commentaires

rien de mal avec MD5 ou hachage fonctionne correctement mais la condition de comparaison de la valeur sélectionnée de l'option ne fonctionne pas


Passez-vous ces valeurs statiquement? Moyens de déposer.



0
votes

Je pense que vous utilisez la fonction MD5 incorrecte. xxx

au lieu de

md5. ('". $ _ POST [' APASS ']."') // MD5 doit être Dans la partie PHP en guillemets doubles

Pour minimiser les sources d'erreur, je préférerais ce code: xxx


1 commentaires

rien de mal avec hachage ou n'envoie normalement des données à la table, il ne fonctionne pas que lorsque m utilise la condition d'options



1
votes

Vous devez ajouter une certaine manutention d'erreur à votre exécution de la requête pour trouver ce qui se passe.

Erreur MySQLI de base à PHP serait quelque chose comme: p>

<?php
 if (!mysqli_query($edb,"YOUR QUERY HERE"))
 {
  echo("Error description: " . mysqli_error($con));
 }
?>


0 commentaires

0
votes

Il y avait une erreur de syntaxe dans votre requête près de la fonction MD5. Son être exécuté comme MD5. (Mot de passe) au lieu de MD5 (mot de passe). Il est également conseillé de garder une erreur d'erreur sur PHP en mode de développement. https://www.php.net/manual/fr/function. Erreur-Reporting.php


1 commentaires

MD5 fonctionnait parfaitement, avait un problème avec la condition où nous devons comparer avec l'option pour la saisie de données.