从多个表单中保存多个变量

时间:2018-02-01 12:01:20

标签: php mysql

这是我的代码:

<?php

    echo '<fieldset><form action="gerer_adherents.php" method="post" >
        <h3>Identification pour gérer les adhérents :<br></h3>

    Hôte :<input type="text"  name="hote"/><br>
    BDD :<input type="text" name="bdd"/><br>
    Utilisateur :<input type="text" name="user"/><br>
    Mot de passe :<input type="text" name="password"/><br>
    <input type="hidden" name="validation" /><br>
    <input type="submit" name="bouton" value="Envoyer" /></fieldset>';


    $host     = filter_input(INPUT_POST, 'hote');
    $database = filter_input(INPUT_POST, 'bdd');
    $user     = filter_input(INPUT_POST, 'user');
    $password = filter_input(INPUT_POST, 'password');

    if (isset($host) && isset($database) && isset($user) && isset($password)) {
    try 
    {
        //$base = new PDO('mysql:host=localhost;dbname=court;charset=utf8', "root", "");
        $base = new PDO('mysql:host=' . $host . ';dbname=' . $database . ';charset=utf8', $user, $password);
        var_dump($host, $database, $user, $password);
    }
    catch (exception $e) {
        die('Erreur ' . $e->getMessage());
    }

    echo ' 
        <form action="gerer_adherents.php" method="post">
        <h3>Ajouter une personne :<br></h3>
        Nom :<input type="text" name="nom"/><br>
        Prenom :<input type="text"  name="prenom"/><br>
        Date de naissance :<input type="date" name="date"/><br>
        Téléphone :<input type="text" name="tel"/><br>
        Ville :<input type="text" name="ville"/><br>
        Mail :<input type="text" name="mail"/><br>
        Login :<input type="text" name="login"/><br>
        Password :<input type="text" name="password2"/><br>
        Re-Password :<input type="text" name="repassword2"/><br>
        <input type="submit" name="bouton2" value="Envoyer" /> 
        </form>';


    $nom         = filter_input(INPUT_POST, 'nom');
    $prenom      = filter_input(INPUT_POST, 'prenom');
    $date        = filter_input(INPUT_POST, 'date');
    $tel         = filter_input(INPUT_POST, 'tel');
    $ville       = filter_input(INPUT_POST, 'ville');
    $mail        = filter_input(INPUT_POST, 'mail');
    $login       = filter_input(INPUT_POST, 'login');
    $password2   = filter_input(INPUT_POST, 'password2');
    $repassword2 = filter_input(INPUT_POST, 'repassword2');

    if (isset($nom) && isset($prenom) && isset($date) && isset($tel) && isset($ville) && isset($mail) && isset($login) && isset($password2) && isset($repassword2)) {
        if ($nom && $prenom && $date && $tel && $ville && $mail && $login && $password2 && $repassword2) {
            if ($password2 == $repassword2) {

                var_dump($nom, $prenom, $date, $tel, $ville, $mail, $login, $password2);
                var_dump($host, $database, $user, $password);

                $base->exec("INSERT INTO adherent (`nom`, `prenom`, `date`, `tel`, `ville`, `mail`,`login`, `password`) VALUES ('$nom','$prenom','$date','$tel','$ville','$mail','$login','$password2')");
                $base->exec("CREATE USER '$login'@'localhost' IDENTIFIED BY '$password2';GRANT ALL PRIVILEGES ON `court`.* TO '$login'@'localhost';");
                echo ("<SCRIPT LANGUAGE='JavaScript'>window.alert('Adhérent crée, redirection en cours....')window.location.href='administration.php';</SCRIPT><NOSCRIPT><a href='administration.php'>Adhérent crée, cliquez-ici, si vous n'êtes pas redirigé.</a></NOSCRIPT>");

            } else {
                echo "les 2 password doivent etre identique";
            }
        } else {
            echo "Veuillez saisir tous les champs";
        }
    } else {
        echo "ok";
    }
}
?>
   </body>

我编写了这段代码,允许我连接到MySql数据库,该数据库由两种形式组成(至少对于连接过程而言)。

第一个用于连接数据库,第二个用于执行查询。

我的问题是,我能够连接硬编码值

$base = new PDO('mysql:host=localhost;dbname=court;charset=utf8', "root", "");

但如果我想连接这一行,似乎查询无法正常工作

$base = new PDO('mysql:host='.$host.';dbname='.$database.';charset=utf8', $user, $password);

当我尝试从第二个表单发送查询时,只删除了第一个表单的值,所以我不知道如何保留第一个表单中输入的一部分的值。

0 个答案:

没有答案