Connexion bd sql server à partir d'un formulaire

salwa175
Invité n'ayant pas de compte PHPfrance

12 févr. 2020, 17:59

Bonjour,

Je suis novice en php. Je cherche à me connecter à une base de données sql server 2014 à partir d'un formulaire mais je n'arrive.

Voici mon code:

Code : Tout sélectionner

<html> <head><title>Formulaire de connexion à LINA </title></head> <body> <h1>Renseigner les codes d'acces</h1> <h2>Entrez les donnees demandees :</h2> <form method="POST"> <fieldset><legend>Server : </legend><input type="text" name="server"/></fieldset> <fieldset><legend>Login : </legend><input type="text" name="login"/></fieldset> <fieldset><legend>Mot de passe : </legend><input type="password" name="password"/></fieldset> <input type="submit" name="submit" value="Se connecter"/> </form> <?php $server = $_POST ['server']; $login = $_POST ['login']; $password = $_POST ['password']; $server_def = "localhost\SQL2014"; $login_def = "sa"; $password_def = "Imap0910"; $myDB = 'LINA'; $connection_info = array ($myDB, $login_def, $password_def); if(isset($_POST ['submit'])) { if(!empty($_POST['server']) && !empty($_POST['login']) && !empty($_POST['password'])) { if (($server==$server_def) && ($login==$login_def) && ($password==$password_def)) { $connect = sqlsrv_connect($server_def, $connection_info); if ($connect) { echo "connexion réussie"; } } } echo "Tous les champs sont obligatoire obligatoire"; } echo "renseigner les champs"; ?> </body> </html>
Je ne sais où est l'erreur.

Pouvez-vous m'aider à trouver l' ou les erreurs svp ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8540 Messages

12 févr. 2020, 18:17

Il faut probablement que tu indiques les identifiants pour te connecter à la base de données.
Par ailleurs, je te recommande d'ajouter une gestion d'erreur pour voir les messages d'erreur car sinon tu code à l'aveugle et c'est compliqué/impossible de débuguer :-)

Met en place l'exemple 2 de la doc dans un script à part pour commencer :
https://www.php.net/manual/fr/function. ... onnect.php
Une fois que ça marchera tu l'intégrera dans ton script avec le formulaire et le reste.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 1 Messages

14 févr. 2020, 12:15

Oui tu as raison pour le compilateur, c'est pour ça que je compile avec des compilateur en ligne.

J'ai rectifié la partie php sans mettre la partie html et ça se connecte à la base.

Par contre quand j'ajoute le code html pour que je saisisse les informations de connexion. à l'appui sur se connecter j'ai rien aucun message : connecté à la base ou pas ...

Voici le code rectifié.

Code : Tout sélectionner

<html> <head><title>Formulaire de connexion à LINA </title></head> <body> <h1>Renseigner les codes d'acces</h1> <h2>Entrez les donnees demandees :</h2> <form method="POST"> <fieldset><legend>Server : </legend><input type="text" name="server"/></fieldset> <fieldset><legend>Login : </legend><input type="text" name="login"/></fieldset> <fieldset><legend>Mot de passe : </legend><input type="password" name="password"/></fieldset> <input type="submit" name="submit" value="Se connecter"/> </form> <?php if(isset($_POST ['submit'])) { $server = $_POST ['server']; $login = $_POST ['login']; $password = $_POST ['password']; $server_def = "localhost\SQL2014"; $login_def = "sa"; $password_def = "Imap0910"; $myDB = 'LINA'; $connection_info = array ("Database" => "LINA", "UID" => "sa", "PWD" => "Imap0910"); if(!empty($server) && !empty($login) && !empty($password)) { if (($server==$server_def) && ($login==$login_def) && ($password==$password_def)) { $connect = sqlsrv_connect($server_def, $connection_info); if ($connect) { echo "connexion réussie. <br />"; } else { echo "connexion échouée. <br />"; die ( print_r (sqlsrv_errors(), true)); } } echo "bd non connectée"; } echo "Tous les champs sont obligatoire"; } ?> </body> </html>

J'ignore pourquoi. Avez-vous des réponses svp ?