Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/12/2011, 15h39   #1
Candidat au titre de Membre du Club
 
mouloud jean
Inscription : septembre 2010
Messages : 52
Détails du profil
Informations personnelles :
Nom : mouloud jean

Informations forums :
Inscription : septembre 2010
Messages : 52
Points : 11
Points : 11
Par défaut Php/mysql problème débutant !

Bonjour,
je suis tout à fait novice en programmation php/mysql et je dois créer un site permettant de gérer un parc informatique. Parmi plusieurs choses, je dois permettre aux utilisateurs de déclarer la panne d'un ordinateur.
J'ai donc créer une page php où je mets un formulaire pour que l'utilisateur rentre le nom de l'ordi. Et je veux que quand il valide en appuyant sur le bouton, la table SQL Ordinateur change et que l'état devienne défaillant.
Je vous mets ici le code qui doit être très loin du résultat attendu mais je suis extrêmement novice et je vous demande un peu d'indulgence ^^.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
<?php
$db_conn = mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("lif4",$db_conn) or die (mysql_error());
?>
 
<html>
<head>
<title>Declaration de Panne</title>
</head>
 
<body>
<h2><center> Declaration de Panne pour Etudiant</center></h2>
<br><h3><center> Veuillez insérer le nom de l'ordinateur défaillant </center></h3>
<br><form>
<br><center>Nom Ordinateur <input  TYPE="text" NAME="Ordinateur" ></center>
<br><center><input type="submit" nom ="Panne" value="Envoyer"></center>
</form>
 
<?php
if (isset($_POST['Panne'])AND $_POST['Ordinateur'] != "") {
	$nom=$_POST['Ordinateur'];
    $requete = "
				UPDATE 'ordinateur' 
				SET etat= 'defaillant' 
				Where nom = $nom  ";
	$resultat = mysql_query($requete) or die(mysql_error());
}
?>
 
</body>
</html>
hazaki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 15h44   #2
Membre éclairé
 
Avatar de hariman
 
Homme Luc Hariman RANDRIANOMENJANAHARY
Développeur Java
Inscription : janvier 2008
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Luc Hariman RANDRIANOMENJANAHARY
Localisation : Ile Maurice

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2008
Messages : 175
Points : 349
Points : 349
Envoyer un message via MSN à hariman Envoyer un message via Skype™ à hariman
Code :
1
2
 
...Where nom = '$nom'
hariman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 15h47   #3
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
salut,

pas loin en effet

ton form n'a pas d'action ni de method <form method="POST" action="ta_page.php"apres, pour plus de clarete, separe le php du html (avec une bonne concatenation)
=> avec la colorisation syntaxique, ca aide en plus

Code php :
1
2
3
$requete = "UPDATE 'ordinateur' 
SET etat= 'defaillant' 
Where nom = '".$nom."' ";

pour ton if(), je te conseillerai de tester directement si une variable n'est pas vide
=> if(!empty($$_POST['Panne']) && !empty($_POST['Ordinateur']))ca evite le double test : est-ce que la variable existe et est-ce qu'elle n'est pas vide

Bon courrage
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 15h47   #4
Candidat au titre de Membre du Club
 
mouloud jean
Inscription : septembre 2010
Messages : 52
Détails du profil
Informations personnelles :
Nom : mouloud jean

Informations forums :
Inscription : septembre 2010
Messages : 52
Points : 11
Points : 11
Merci pour l'aide, c'est très sympa, j'arrive donc à ce code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
<?php
$db_conn = mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("lif4",$db_conn) or die (mysql_error());
?>
 
<html>
<head>
<title>Declaration de Panne</title>
</head>
 
<body>
<h2><center> Declaration de Panne pour Etudiant</center></h2>
<br><h3><center> Veuillez insérer le nom de l'ordinateur défaillant </center></h3>
<br><form method="POST" action="DeclarationPanne.php">
<br><center>Nom Ordinateur <input  TYPE="text" NAME="Ordinateur" ></center>
<br><center><input type="submit" nom ="Panne" value="Envoyer"></center>
</form>
 
<?php
if(!empty($$_POST['Panne']) && !empty($_POST['Ordinateur'])) {
	$nom=$_POST['Ordinateur'];
    $requete = "
				UPDATE 'ordinateur' 
				SET etat= 'deffaillant' 
				Where nom = '".$nom."'  ";
	$resultat = mysql_query($requete) or die(mysql_error());
}
?>
 
</body>
</html>
mais ça ne fait toujours rien...
hazaki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 15h57   #5
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
Citation:
Envoyé par hazaki Voir le message
mais ça ne fait toujours rien...
t'es alle voir dans phpmyadmin si ta table avait changee ?
t'as un message d'erreur ?

ps : t'as un double dollar dans ton if() : !empty($$_POST['Panne'])
il nous faut plus de details
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h01   #6
Candidat au titre de Membre du Club
 
mouloud jean
Inscription : septembre 2010
Messages : 52
Détails du profil
Informations personnelles :
Nom : mouloud jean

Informations forums :
Inscription : septembre 2010
Messages : 52
Points : 11
Points : 11
Oui, je suis bien allé vérifier dans PhpMyAdmin mais l'etat n'a pas changé !
Et non je n'ai pas de message d'erreur, tout se passe normalement, à part qu'il n'y a pas d'actualisation ^^
hazaki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h06   #7
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
t'as essaye d'afficher $requete
et de copier/coller la requete generee directement dans phpmyadmin ?
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h09   #8
Membre du Club
 
Femme Adeline
Consultant informatique
Inscription : décembre 2011
Messages : 20
Détails du profil
Informations personnelles :
Nom : Femme Adeline
Âge : 30
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : décembre 2011
Messages : 20
Points : 44
Points : 44
dans ta balise input pour ton bouton tu utilises la propriété "nom" qui n'existe pas essaies avec "name":
<input type="submit" name ="Panne" value="Envoyer">
PtiteA2 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 26/12/2011, 16h11   #9
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
Citation:
Envoyé par PtiteA2 Voir le message
dans ta balise input pour ton bouton tu utilises la propriété "nom" qui n'existe pas essaies avec "name":
<input type="submit" name ="Panne" value="Envoyer">
ah oui, bien vue
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h17   #10
Candidat au titre de Membre du Club
 
mouloud jean
Inscription : septembre 2010
Messages : 52
Détails du profil
Informations personnelles :
Nom : mouloud jean

Informations forums :
Inscription : septembre 2010
Messages : 52
Points : 11
Points : 11
J'ai ajouté echo $requete dans le if mais ça ne m'affiche rien !
Et j'ai remplacé nom par name (désolé pour l'erreur)
hazaki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h21   #11
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
comme l'a precise PtiteA2, tu as mis "nom" au lieu de "name" pour ton bouton submit
donc, il ne connait pas $_POST["Panne"], donc il ne rentre jamais ton ton if()

dis nous si ca change quelque chose

[edit]ah ok, t'as aussi modifie "name"
fais un echo 'toto'; juste a l'entree de ton if(), s'il ne l'affiche pas, il ne rentre jamais dans ton test
=> utilise var_dump($variable) pour commencer a verifier si tes variables sont correctement renseignees.
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h27   #12
Candidat au titre de Membre du Club
 
mouloud jean
Inscription : septembre 2010
Messages : 52
Détails du profil
Informations personnelles :
Nom : mouloud jean

Informations forums :
Inscription : septembre 2010
Messages : 52
Points : 11
Points : 11
J'ai rajouté un echo dans le if et il ne l'affiche pas.
Par contre je sais pas comment on utilise var_dump($variable)
hazaki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h34   #13
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
bah... var_dump($ta_variable);
php.net/manual/fr/function.var-dump.php
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h36   #14
Candidat au titre de Membre du Club
 
mouloud jean
Inscription : septembre 2010
Messages : 52
Détails du profil
Informations personnelles :
Nom : mouloud jean

Informations forums :
Inscription : septembre 2010
Messages : 52
Points : 11
Points : 11
oui ><, ça me renvoie NULL, mais vu qu'il passe pas dans le if c'est normal !
hazaki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h39   #15
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
fais tes var_dump() avant ton if(), justement pour savoir quelle variable est mal renseignee, pour savoir pourquoi tu ne rentre pas dans ton if
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h44   #16
Membre du Club
 
Femme Adeline
Consultant informatique
Inscription : décembre 2011
Messages : 20
Détails du profil
Informations personnelles :
Nom : Femme Adeline
Âge : 30
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : décembre 2011
Messages : 20
Points : 44
Points : 44
c'est bizarre moi avec ton code il rentre dans le if, j'ai rien changé sauf le name et le $ en trop (j'ai juste ajouté un echo après le if):

<?php
$db_conn = mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("lif4",$db_conn) or die (mysql_error());
?>

<html>
<head>
<title>Declaration de Panne</title>
</head>

<body>
<h2><center> Declaration de Panne pour Etudiant</center></h2>
<br><h3><center> Veuillez insérer le nom de l'ordinateur défaillant </center></h3>
<br><form method="POST" action="DeclarationPanne.php">
<br><center>Nom Ordinateur <input TYPE="text" NAME="Ordinateur" ></center>
<br><center><input type="submit" name ="Panne" value="Envoyer"></center>
</form>

<?php
if(!empty($_POST['Panne']) && !empty($_POST['Ordinateur'])) {
echo "coucou";
$nom=$_POST['Ordinateur'];
$requete = "UPDATE 'ordinateur'
SET etat= 'deffaillant'
Where nom = '".$nom."' ";
$resultat = mysql_query($requete) or die(mysql_error());
}
?>

</body>
</html>

T'as le même code que moi?
PtiteA2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h44   #17
Candidat au titre de Membre du Club
 
mouloud jean
Inscription : septembre 2010
Messages : 52
Détails du profil
Informations personnelles :
Nom : mouloud jean

Informations forums :
Inscription : septembre 2010
Messages : 52
Points : 11
Points : 11
Mais tu veux que je mette var_dump($Panne) et var_dump($Ordinateur) ?
Parce que les deux me renvoient NULL
hazaki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h49   #18
Candidat au titre de Membre du Club
 
mouloud jean
Inscription : septembre 2010
Messages : 52
Détails du profil
Informations personnelles :
Nom : mouloud jean

Informations forums :
Inscription : septembre 2010
Messages : 52
Points : 11
Points : 11
Maintenant que j'ai pris ton code oui ça rentre dedans en effet ! J'avais du faire une petite erreur !
Par contre cette erreur s'affiche :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''ordinateur' SET etat= 'deffaillant' Where nom = 'Tosh1'' at line 1
hazaki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h55   #19
Membre du Club
 
Femme Adeline
Consultant informatique
Inscription : décembre 2011
Messages : 20
Détails du profil
Informations personnelles :
Nom : Femme Adeline
Âge : 30
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : décembre 2011
Messages : 20
Points : 44
Points : 44
Oui ça c'est dû à ta requête SQL et à la base de donnée...la question c'est tu veux faire quoi exactement dans la base de donnée???

Pour l'instant ta requête SQL essaie de modifier un enregistrement qui a pour nom celui que tu tapes dans ton formulaire...or si tu tapes un nom qui ne correspond à aucun enregistrement tu as cette erreur.
PtiteA2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h55   #20
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
Citation:
Envoyé par hazaki Voir le message
Maintenant que j'ai pris ton code oui ça rentre dedans en effet ! J'avais du faire une petite erreur !
comme dit plus haut, t'avais un $ en trop dans ton nom de variable

pour ton erreur sql, affiche la requete generee et execute la dans phpmyadmin, lui te donnera une erreur un peut plus complete
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h46.


 
 
 
 
Partenaires

Hébergement Web