PHP/BD
Fermé
Ibilolz
Messages postés
130
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
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"). Le problème est que sur ma page Ajouter.php j'ai créer une petit champ de ce style :
Et j'aimerai donc récupérer le numéro de la salle pour l'introduire le numéro comme id_salle dans ma table salle. J'ai donc programmé le fichier BD.php comme vous pouvez le voir ci dessous, et quand je clique sur le bouton ajouter sur ma page, il charge une page blanche et puis rien. Je ne comprend pas, le code me semble pourtant juste. J'ai testé ma fonction de connection aussi à part et elle marche aussi.
Merci d'avance
T.
<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">
</div></FORM>
Et j'aimerai donc récupérer le numéro de la salle pour l'introduire le numéro comme id_salle dans ma table salle. J'ai donc programmé le fichier BD.php comme vous pouvez le voir ci dessous, et quand je clique sur le bouton ajouter sur ma page, il charge une page blanche et puis rien. Je ne comprend pas, le code me semble pourtant juste. J'ai testé ma fonction de connection aussi à part et elle marche aussi.
<?php
include 'fonctions.connect.php';
$connect_db = connect();
if ($_POST['Salle']!='')
{
$num_Salle = $_POST['Salle'];
$sql='INSERT INTO Salle(id_salle)
VALUES ("$num_Salle")';
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base
mysql_close();
?>
Merci d'avance
T.
A voir également:
- PHP/BD
- Easy php - Télécharger - Divers Web & Internet
- Télécharger bd pdf gratuit sans inscription - Forum PDF
- Télécharger BD gratuitement ✓ - Forum Téléchargement
- W.i.t.c.h. bd intégrale pdf - Forum Liseuse eBook
- W.i.t.c.h bd scan fr - Forum Loisirs / Divertissements
9 réponses
Bonjour
Dans ton formulaire :
Alors, majuscule ou pas majuscule à 'salle' ? ce n'est pas la même chose.
Tu as aussi une virgule qui n'a rien à faire sans ton <input type=submit
Dans ton formulaire :
<INPUT type=text size=1 name=Salle>et dans ton traitement :
$_POST['salle'].
Alors, majuscule ou pas majuscule à 'salle' ? ce n'est pas la même chose.
Tu as aussi une virgule qui n'a rien à faire sans ton <input type=submit
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai fais encore plus simple :
Mais toujours page blanche http://localhost/Site/BD.php (BD le nom de mon php) :@
<?php
include 'fonctions.connect.php';
$connect_db = connect();
if ($_POST['Salle']!='')
{
$id_salle = $_POST['Salle'];
$sql='INSERT INTO Salle (id_salle)
VALUES ("$id_salle")';
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base
mysql_close();
?>
Mais toujours page blanche http://localhost/Site/BD.php (BD le nom de mon php) :@
Salut,
Ton fichier BD.php n'affiche aucune information si elle correctement exécuté. C'est donc normal que tu ais une page blanche.
Tu peux afficher un message simple comme ceci par exemple :
Bonne journée
Ton fichier BD.php n'affiche aucune information si elle correctement exécuté. C'est donc normal que tu ais une page blanche.
Tu peux afficher un message simple comme ceci par exemple :
if (mysql_query($sql)) { echo 'Salle ajoutée'; } else { die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); }
Bonne journée
Le problème c'est que ça n'ajoute aucune salle dans ma BD et que même si j'ajoute le message comme ceci :
Lorsque je clique sur ajouter, jattends 30 sec qu'il charge le localhost, puis page blanche
<?php
include 'fonctions.connect.php';
$connect_db = connect();
if ($_POST['Salle']!='')
{
$id_salle = $_POST['Salle'];
$sql='INSERT INTO Salle (id_salle)
VALUES ("$id_salle")';
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
if (mysql_query($sql)) {
echo 'Salle ajoutée';
} else {
die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
}
// on ferme la connexion à la base
mysql_close();
?>
Lorsque je clique sur ajouter, jattends 30 sec qu'il charge le localhost, puis page blanche
Effectivement je n'avais pas vu que tu as une erreur de syntaxe sur la construction de ta chaine $sql :
Si l'id d'une salle est forcément un entier, tu peux caster ton $_POST['Salle'] pour éviter les injections sql.
Pense à activer l'affichage des erreurs php en développement.
$id_salle = (int) $_POST['Salle']; // converti en entier $sql = "INSERT INTO Salle (id_salle) VALUES ('$id_salle')";
Si l'id d'une salle est forcément un entier, tu peux caster ton $_POST['Salle'] pour éviter les injections sql.
Pense à activer l'affichage des erreurs php en développement.
Avec mon bouton :
Ma fonction connexion :
Et ma page BD.php :
Rien n'est ajouté a la BD et toujours cette page blanche
<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">
</div></FORM>
Ma fonction connexion :
<?php
$connect = mysql_connect('localhost','root','saintex01') or die ("erreur de connexion");
mysql_select_db('Inventaire_SaintEx',$connect) or die ("erreur de connexion base");
?>
Et ma page BD.php :
<?php
include 'fonctions.connect.php';
if ($_POST['Salle']!='')
{
$id_salle = (int) $_POST['Salle'];
$sql = "INSERT INTO Salle (id_salle) VALUES ('$id_salle')";
mysql_query($sql) ;
}
?>
Rien n'est ajouté a la BD et toujours cette page blanche
Plusieurs pistes d'erreurs :
- entoure les valeurs des attributs html avec des quotes :
- vérifier les chemins. Ton fichier html et tes deux fichiers php sont-ils tous dans le même dossier ?
- vérifier les identifiants sql et le nom de la base
Dans tous les cas, active l'affichage des erreurs php pour voir exactement d'où vient ton erreur : dans le fichier php.ini, modifie ces deux lignes comme ceci :
error_reporting = On
error_reporting = E_ALL
et redémarre ton serveur web
- entoure les valeurs des attributs html avec des quotes :
<input type="text" size="1" name="Salle" />
- vérifier les chemins. Ton fichier html et tes deux fichiers php sont-ils tous dans le même dossier ?
- vérifier les identifiants sql et le nom de la base
Dans tous les cas, active l'affichage des erreurs php pour voir exactement d'où vient ton erreur : dans le fichier php.ini, modifie ces deux lignes comme ceci :
error_reporting = On
error_reporting = E_ALL
et redémarre ton serveur web