Php et sqlsrv
Résolu
Bonsoir,
je suis debutante en php et sqlsrv j'utilise le serveur IIS je ne fais que mettre tout ce qui me passe par la tete pour pourvoir reussir. j'ai fait la connexion avec ma base mais je n'arrive pas a inserer jfais pas mal de recherche mais je ne trouve rien. au commencement ca me retournait des erreurs que je corrigeait mais la maintenant je ne sais pa quoi faire puisq'il ne retourne pas d'erreur mais une page blanche je ne sais pas quoi corrige. je vous prie g besoin de votre aide, je consulte google depuis 3 jours et rien.
je ne sais pas quoi faire.
je suis debutante en php et sqlsrv j'utilise le serveur IIS je ne fais que mettre tout ce qui me passe par la tete pour pourvoir reussir. j'ai fait la connexion avec ma base mais je n'arrive pas a inserer jfais pas mal de recherche mais je ne trouve rien. au commencement ca me retournait des erreurs que je corrigeait mais la maintenant je ne sais pa quoi faire puisq'il ne retourne pas d'erreur mais une page blanche je ne sais pas quoi corrige. je vous prie g besoin de votre aide, je consulte google depuis 3 jours et rien.
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
$server= "Sandra-PC\SQLEXPRESS";
$options= array("UID" => "sa", "PWD" =>"sandrads12", "Database" => "G_materiels");
$conn= sqlsrv_connect($server, $options);
if ($conn ===false)
{
echo"peux pas connecter";
die( print_r(sqlsrv_errors(), true));
}
if(isset($_POST['enregistrer'])){
$nom= $_POST['nom'];
$prenom= $_POST['prenom'];
$username= $_POST['username'];
$password= $_POST['password'];
$type_admin= $_POST['type_admin'];
$sql= "INSERT INTO administrateur (nom, prenom, username, password, type_admin) VALUES (:nom, :prenom, :username, :password, :type_admin)";
$sql->sqlsrv_execute(array(
'nom' =>$nom,
'prenom' =>$prenom,
'username' =>$username,
'password' =>$password,
'type_admin' =>$type_admin
));
$stmt=sqlsrv_prepare($conn, $sql);
if( sqlsrv_execute( $stmt ) === false ) {
die( print_r( sqlsrv_errors(), true));
}
?>
<table border="1" >
<tr>
<td>Nom</td>
<td><?php echo ($nom) ?></td>
</tr>
<tr>
<td>Prenom</td>
<td><?php echo ($prenom) ?></td>
</tr>
<tr>
<td>Identifiant</td>
<td><?php echo ($username) ?></td>
</tr>
<tr>
<td>Mot de passe</td>
<td><?php echo ($password) ?></td>
</tr>
<tr>
<td>Type Administrateur</td>
<td><?php echo ($type_admin) ?></td>
</tr>
</table>
<?php } //fin if?>
<a href="affichage.php" rel="nofollow noopener noreferrer" target="_blank"> Afficher les utilisateurs </a>
</body>
</html>
je ne sais pas quoi faire.
6 réponses
-
bonjour,
je ne sais plus quoi faire maintenant.
quand j'insere directement avec un script ca marche.
mais ca ne fonctionne pas avec le formulaire et je c pas pourquoi.-
-
@yg_beoui,
je faisais un test tout a l'heure avec;
if( isset($_POST['enregistrer']) && isset ($_POST['nom']) && isset ($_POST['prenom']) && isset ($_POST['username']) && isset ($_POST['Motd_passe']) && isset ($_POST['type_admin'])){
$nom= $_POST['nom'];
$prenom= $_POST['prenom'];
$username= $_POST['username'];
$Motd_passe= $_POST['Motd_passe'];
$type_admin= $_POST['type_admin'];
echo $_POST['nom'];
ca marchait mais quand j'ajoute la requete sql et autres bah ca ne marche plus je pense que c'est la mon prob mais c pas quoi faire. -
ContributeurPeut-être ainsi?
$sql= "INSERT INTO administrateur (nom, prenom, username, password, type_admin) VALUES (?, ?, ?, ?, ?)"; $params = array($nom,$prenom, $username,$password,$type_admin); $stmt = sqlsrv_query( $conn, $sql, $params); if( $stmt === false ) { die( print_r( sqlsrv_errors(), true)); } -
@yg_beBonjour
OUF enfin ça fonctionne.
Avant y’avait un p’tit probe pendant que je faisais des tests pour l'insertion directe j'avais mis comme code:
$sql1="SET IDENTITY_INSERT dbo.administrateur ON";
$ss = sqlsrv_query( $conn, $sql1);
if( $ss== false ) {
die( print_r( sqlsrv_errors(), true));
Quand j'ai mis ton code y'avait un probe d'identité alors j'ai mis OFF a la place de ON et boum ça marche convenablement bon je l'ai enlevé de toute manière, mais l'ancien code ne fonctionne pas quoiqu'il en soit. Pourquoi?? D 'après vous.
je vous en remercie sincèrement pour votre patience .
-
-
c'est ce que jsuis en train de tester.
ouf ca me donne la grosse tete. -
encore la meme erreur.
quand j'entre des informations dans la premiere page, elle affiche ces lignes:
array(6) { ["nom"]=> string(4) "DC" ["prenom"]=> string(6) "Dod" ["username"]=> string(7) "jdod" ["password"]=> string(7) "jdod" ["type_admin"]=> string(6) "simple" ["enregistrer"]=> string(11) "Enregistrer" }
_post:
quand jfais un select dans la base g mes resultats tel kel.
mais l'insertion ne marche pas. -
ContributeurPeut-être ajouter
var_dump $_POST;
avantif(isset($_POST['enregistrer'])){-
-
-
@yg_be
<!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="form.css"> </head> <body> <div id="header"> <div id="tete"> </div> </div> <form method="POST" action=" ajouter.php"> <a id="top"> <fieldset> <table> <tr> <td>Nom : </td> <td><input type="text" name="nom"></td> </tr> <tr> <td>Prenom : </td> <td><input type="text" name="prenom"></td> </tr> <tr> <td>Identifiant : </td> <td><input type="text" name="username"></td> </tr> <tr> <td>Mot de passe : </td> <td><input type="password" name="password"></td> </tr> <tr> <td>Type Administrateur: </td> <td><input type="text" name="type_admin"></td> </tr> <tr> <td> </td> <td><input type="submit" value="Enregistrer" name="enregistrer"></td> </tr> </table> </a> </fieldset> </form> </body> </html>
voilaEDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI
Merci d'y penser dans tes prochains messages. -
-
-
Après <\table>
-
ContributeurJe me demande où se termine
if(isset($_POST['enregistrer'])){, où se trouve le}