PHP/BD

Résolu/Fermé
Ibilolz
Messages postés
119
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
18 décembre 2014
- 14 avril 2014 à 14:33
Ibilolz
Messages postés
119
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
18 décembre 2014
- 14 avril 2014 à 15:56
Bonjour, je suis entrain de travailler sur un petit site en html5/CSS3 avec un peu de php et de javascript pour visualiser la base de donnée du matériel informatique du lycée ou je travail. J'ai donc créé ma base de donnée avec phpmyadmin, j'ai récupérer une fonction de conection à celle-ci qui marche bien ("fonctions.connect.php").

J'ai un petit bouton, de ce genre
FORM Method="POST" Action="BD.php"> Numéro de la salle : <INPUT type=text size=1 			name=Salle> <input type="submit" name="submit" Value="Ajouter">  

et je récupère le numéro entrer pour l'ajouter dans ma table Salle de ma BD avec la fonction BD.php suivante :
<?php

include 'fonctions.connect.php';


if ($_POST['Salle']!='')
{
$id_salle = (int) $_POST['Salle'];

$sql = "INSERT INTO Salle (num_salle) VALUES ('$id_salle')";


mysql_query($sql) ;

}

J'ai maintenant un bouton comme ceci :

<FORM Method="POST" Action="BD2.php">
Nom :<input type="text" name="Nom" size=10 <br></br>
Date d'installation :<input type="text" name="datei" size=20 <br></br>
Marque :<input type="text" name="marque" size=20 <br></br>
AddIP :<input type="text" name="addip" size=20 <br></br>
AddMAC :</label><input type="text" name="addmac" size=20 <br></br>
Proc :</label><input type="text" name="proc" size=20 <br></br>
Mem :</label><input type="text" name="mem" size=20 <br></br>
DD :</label><input type="text" name="dd" size=20 <br></br>
<br></br>
<input type="submit", name="submit" Value="Ajouter"> </div></FORM>

(pour rentrer du matériel informatique dans ma table Matériel_informatique, je travaille sur un site qui va permettre de visualiser l'inventaire informatique d'un lycée). J'ai donc crée une fonction BD2. php comme ceci :

<?php

include 'fonctions.connect.php';


if ($_POST['Nom']!='', $_POST['datei']!='',$_POST['marque']!='',$_POST['addip']!='', $_POST['addmac']!='',$_POST['proc']!='',$_POST['mem']!='',$_POST['dd']!='')

{

$nom_mat = $_POST['Nom'];
$datei = $_POST['datei'];
$marque = $_POST['marque'];
$addip = (int) $_POST['addip'];
$addmac = (int) $_POST['addmac'];
$proc = $_POST['proc'];
$mem = $_POST['mem'];
$dd = $_POST['dd'];

$sql = "INSERT INTO Matériel_informatique (nom_mat,dateInstall,marque_mat,addip_mat,addmac,proc_mat,mem_mat,dd_mat)
VALUES ('$nom_mat','$datei','$marque','$addip','$addmac','$proc','$mem','$dd')";


mysql_query($sql) ;

}

?>

Mais quand je clique sur ajouter, rien ne s'entre dans ma table Matériel_informatique.

13 réponses

Bonjour

L'erreur ne me saute pas aux yeux. Peut-être que mettre un accent dans le nom de ta table Matériel_informatique n'était pas une bonne idée, l'encodage des lettres accentuées étant rarement maîtrisé.

Pour avoir plus de précisions :
mysql_query($sql) or die(mysql_error()) ;
0
Ibilolz
Messages postés
119
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
18 décembre 2014

Modifié par Ibilolz le 14/04/2014 à 15:03
Il ne me renseigne pas d'erreur, page blanche et aucun ajout. J'ai renommé la table en materiel et toujours rien
0
Utilisateur anonyme
14 avril 2014 à 15:06
Ajoute print_r($_POST); au début du script pour voir ce que tu récupères vraiment.

Je remarque que ton test initial est farfelu tu devrais faire des tests avec des isset ou des empty, mais ta série de comparaisons séparées par des virgules ne sert à rien (il faudrait des && entre chaque comparaison)
0
benj21000
Messages postés
8
Date d'inscription
lundi 14 avril 2014
Statut
Membre
Dernière intervention
14 avril 2014

14 avril 2014 à 15:08
Bonjour, à la place des !=' ' essaye de mettre des !empty par exemple !empty($_POST['Nom'])
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ibilolz
Messages postés
119
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
18 décembre 2014

14 avril 2014 à 15:13
Que ce soit avec des empty ou print_r($_POST) au début du script, rien d'ajouté, page blanche et je ne récupère pas d'érreur
0
benj21000
Messages postés
8
Date d'inscription
lundi 14 avril 2014
Statut
Membre
Dernière intervention
14 avril 2014

14 avril 2014 à 15:15
Juste après l'accolade de ton if met echo 'test'; et dis moi s'il s'affiche?
0
Ibilolz
Messages postés
119
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
18 décembre 2014

14 avril 2014 à 15:18
Il ne s'affiche pas
0
benj21000
Messages postés
8
Date d'inscription
lundi 14 avril 2014
Statut
Membre
Dernière intervention
14 avril 2014

14 avril 2014 à 15:19
c'est donc le if qui n'est pas correct
Vous avez remplacer tous les != par des empty?
0
benj21000
Messages postés
8
Date d'inscription
lundi 14 avril 2014
Statut
Membre
Dernière intervention
14 avril 2014

14 avril 2014 à 15:19
a la place des , mettez &&
0
Ibilolz
Messages postés
119
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
18 décembre 2014

Modifié par Ibilolz le 14/04/2014 à 15:28
problème résolu, merci à tous les deux.
0
S'il te dit que le champ n'existe pas, tu peux être sûr qu'il n'existe pas.
Regardes-tu bien la bonne table (materiel ou Matériel_informatique) ?
Peux-tu copier ici la définition de ta table donnée par phpmyadmin ?
0
Ibilolz
Messages postés
119
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
18 décembre 2014

Modifié par Ibilolz le 14/04/2014 à 15:46
Re :s , j'ai ensuite continuer avec un troisième bouton :

<FORM Method="POST" Action="BD3.php">
<label>Nom :</label><input type="text" name="nom" size=2 <br></br>
<label>Marque :</label><input type="text" name="marque" size=20 <br></br>
<label>Date d'installation :</label><input type="datei" name="age_mat" size=4 <br></br>
<br></br>
<input type="submit", name="submit" Value="Ajouter"> </div></FORM>

plus simple, j'ai créé le fichier BD3.txt :

<?php

include 'fonctions.connect.php';


if ($_POST['nom']!='' && $_POST['marque']!='' && $_POST['datei']!='')
{

$nom_mat = $_POST['nom'];
$marque = $_POST['marque'];
$datei = $_POST['datei'];


$sql = "INSERT INTO Materiel (nom_mat,dateInstall,marque_mat,addip_mat,addmac,proc_mat,mem_mat,dd_mat)
VALUES ('$nom_mat','$datei','$marque')";


mysql_query($sql) or die(mysql_error()) ;

}

?>


J'ai fais attention de ne pas refaire les mêmes erreurs, et il ne veut pas ajouter à ma table materiel. Pourtant on a le droit d'ajouter une donnée dans une table en ne remplissant que 3 de ses champs ?? Le echo test a la fin marche et je n'ai pas d'erreurs
0
benj21000
Messages postés
8
Date d'inscription
lundi 14 avril 2014
Statut
Membre
Dernière intervention
14 avril 2014

14 avril 2014 à 15:51
Pour remplir les champ vide met '','','','$datei',... ainsi de suite
0
Ibilolz
Messages postés
119
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
18 décembre 2014

14 avril 2014 à 15:56
Merci
0