Impossible d'écrire sur ma BDD

Résolu/Fermé
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 - 17 nov. 2008 à 21:37
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 - 5 déc. 2008 à 18:06
Salut,

J'ai crée un site avec des pages d'administrations pour gérer le contenu des pages du-dit site, mais j'ai un problème d'écriture sur ma BDD. En effet, j'avais jusqu'à présent quelques pages d'administrations qui marchaient à merveilles, mais hier j'en ai fait 4 / 5 autres en copiant/collant les codes des autres pages, en changeant bien évidemment les noms des BDD (que j'ai crées par la même occasion ;-) ), mais impossible d'écrire sur les BDD à partir de ces nouvelles pages d'admin. J'ai pourtant refait les pages, rererererevérifié mon code trois bonnes douzaines de fois (ou presque :p),... mais rien y fait. Et il n'y a aucun message d'erreur. Je poste mon code sous peu. En attendant vos réponse, merci à ceux qui pourront m'aider.
A voir également:

6 réponses

MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 46
17 nov. 2008 à 21:51
Voici le code de la page qui ne marche pas (les autres sont presques pareilles à l'exception des noms):

<div id="corps">

<h2>Liste des news</h2>

<h3><a href="pedagogie.php#ajouter_news">Ajouter une news</a></h3>
<h3><a href="../connexion.php">Retour à l'administration</a></h3>
<h3><a href="../../Accueil/index.php">Retour à l'accueil</a></h3>
<?php
mysql_connect("localhost","********", "********");
mysql_select_db("pio");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
// On vérifie si c'est une modification de news ou pas
if ($_POST['id_news'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO pedagogie VALUES('', '" . $titre . "', '". $date ."', '" . $contenu . "', '" . time() . "')");
}
else
{
// On protège la variable "id_news" pour éviter une faille SQL
$_POST['id_news'] = addslashes($_POST['id_news']);
// C'est une modification, on met juste à jour le titre et le contenu
mysql_query("UPDATE pedagogie SET titre='" . $titre . "', date='". $date ."', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
}
}

//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{
// Alors on supprime la news correspondante
// On protège la variable "id_news" pour éviter une faille SQL
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
mysql_query('DELETE FROM pedagogie WHERE id=\'' . $_GET['supprimer_news'] . '\'');
}
?>
<table><tr>
<th class="petit">Modifier</th>
<th class="petit">Supprimer</th>
<th>Titre</th>
<th>Date</th>
<th>Date d'ajout</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM pedagogie ORDER BY id DESC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td class="petit"><?php echo '<a href="pedagogie.php?modifier_news=' . $donnees['id'] . '#ajouter_news">'; ?>Modifier</a></td>
<td class="petit"><?php echo '<a href="pedagogie.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo stripslashes($donnees['date']); ?></td>
<td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
<p><br/><br/></p>
<hr/>
<p><br/><br/></p>

<!----------------------------------------------------
Edition des news
----------------------------------------------------->

<h2 id="ajouter_news">Edition des infos</h2>

<h3><a href="../../Accueil/index.php">Retour à l'accueil</a></h3>
<h3><a href="pedagogie.php">Annuler</a></h3>

<?php
mysql_connect("localhost","********", "********");
mysql_select_db("pio");
if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
{
// On protège la variable "modifier_news" pour éviter une faille SQL
$_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
// On récupère les infos de la news correspondante

$donnees = mysql_fetch_array($retour);

// On place le titre et le contenu dans des variables simples
$titre = stripslashes($donnees['titre']);
$date = stripslashes($donnees['date']);
$contenu = stripslashes($donnees['contenu']);
$id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
}
else // C'est qu'on rédige une nouvelle news
{
// Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
$titre = '';
$contenu = '';
$id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
}
?>
<form action="pedagogie.php" method="post">
<p>Lieu : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
<p>Date : <input type="text" size="30" name="date" value="<?php echo $date; ?>" /></p>
<p>
Pionniers présents :<br />
<textarea name="contenu" cols="50" rows="10"><?php echo $contenu; ?></textarea><br />

<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
<input type="submit" value="Envoyer" />

</p>

</form>




</div>

0
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 46
17 nov. 2008 à 21:53
Et celui de celle qui marche :



<div id="corps">

<h2>Liste des news</h2>

<h3><a href="noel.php#ajouter_news">Ajouter une news</a></h3>
<h3><a href="../connexion.php">Retour à l'administration</a></h3>
<h3><a href="../../Accueil/index.php">Retour à l'accueil</a></h3>
<?php
mysql_connect("localhost","********", "********");
mysql_select_db("pio");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
// On vérifie si c'est une modification de news ou pas
if ($_POST['id_news'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO noel VALUES('', '" . $titre . "', '". $date ."', '" . $contenu . "', '" . time() . "')");
}
else
{
// On protège la variable "id_news" pour éviter une faille SQL
$_POST['id_news'] = addslashes($_POST['id_news']);
// C'est une modification, on met juste à jour le titre et le contenu
mysql_query("UPDATE noel SET titre='" . $titre . "', date='". $date ."', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
}
}

//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{
// Alors on supprime la news correspondante
// On protège la variable "id_news" pour éviter une faille SQL
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
mysql_query('DELETE FROM noel WHERE id=\'' . $_GET['supprimer_news'] . '\'');
}
?>
<table><tr>
<th class="petit">Modifier</th>
<th class="petit">Supprimer</th>
<th>Titre</th>
<th>Date</th>
<th>Date d'ajout</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM noel ORDER BY id DESC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td class="petit"><?php echo '<a href="noel.php?modifier_news=' . $donnees['id'] . '#ajouter_news">'; ?>Modifier</a></td>
<td class="petit"><?php echo '<a href="noel.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo stripslashes($donnees['date']); ?></td>
<td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
<p><br/><br/></p>
<hr/>
<p><br/><br/></p>

<!----------------------------------------------------
Edition des news
----------------------------------------------------->

<h2 id="ajouter_news">Edition des infos</h2>

<h3><a href="../../Accueil/index.php">Retour à l'accueil</a></h3>
<h3><a href="noel.php">Annuler</a></h3>

<?php
mysql_connect("localhost","********", "********");
mysql_select_db("pio");
if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
{
// On protège la variable "modifier_news" pour éviter une faille SQL
$_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
// On récupère les infos de la news correspondante

$donnees = mysql_fetch_array($retour);

// On place le titre et le contenu dans des variables simples
$titre = stripslashes($donnees['titre']);
$date = stripslashes($donnees['date']);
$contenu = stripslashes($donnees['contenu']);
$id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
}
else // C'est qu'on rédige une nouvelle news
{
// Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
$titre = '';
$contenu = '';
$id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
}
?>
<form action="noel.php" method="post">
<p>Lieu : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
<p>Date : <input type="text" size="30" name="date" value="<?php echo $date; ?>" /></p>
<p>
Pionniers présents :<br />
<textarea name="contenu" cols="50" rows="10"><?php echo $contenu; ?></textarea><br />

<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
<input type="submit" value="Envoyer" />

</p>

</form>




</div>


0
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 46
17 nov. 2008 à 21:55
Petite note : je ne connais quasiment pas le PHP. J'ai donc piqué le code sur http://www.siteduzero.com/tutoriel-3-14557-tp-des-news-sur-votre-site.html#ss_part_1
0
Stef60 Messages postés 251 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 22 avril 2009 41
17 nov. 2008 à 23:35
Bonsoir,
tu ne reçois pas de message d'erreur?
0
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 46
18 nov. 2008 à 17:20
Non aucun et c'est ca que je trouve bizarre. Je ne comprends vraiment pas...
0
Stef60 Messages postés 251 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 22 avril 2009 41
18 nov. 2008 à 19:35
Gères les erreurs de tes requêtes.
Voici un exemple:

$query = "INSERT INTO ....";

$result = mysql_query($query);
if (!$result) {
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $query;
die($message);
}
0
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 46
18 nov. 2008 à 20:27
euh... je le mets où :-( ? Je connais juste tout le blabla autour des variables en php (déclaration, écriture,..)
0

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

Posez votre question
Stef60 Messages postés 251 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 22 avril 2009 41
18 nov. 2008 à 20:47
a la place de ca :
mysql_query("INSERT INTO pedagogie VALUES('', '" . $titre . "', '". $date ."', '" . $contenu . "', '" . time() . "')");

tu peux faire comme ca :
$query = "INSERT INTO pedagogie VALUES('', '" . $titre . "', '". $date ."', '" . $contenu . "', '" . time() . "')";

$result = mysql_query($query);
if (!$result) {
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $query;
die($message);
}

-------------------------------------------
Tu fais la même chose avec toutes tes requêtes.
C'est un peu plus long mais cela te permettra de repérer d'éventuelles erreurs.
0
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 46
18 nov. 2008 à 22:54
Ben ca me fait toujours rien... !!!
0
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 46 > MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012
19 nov. 2008 à 15:09
Et faut que je mette ca sur toute les requêtes ? ca plante quand je fais ca.
0
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 46
19 nov. 2008 à 16:29
En fait ca ne m'écrit jamais rien !
0
MHH225 Messages postés 529 Date d'inscription samedi 2 février 2008 Statut Membre Dernière intervention 10 juin 2012 46
5 déc. 2008 à 18:06
Trouvé !
En fait j'avais recopier le INSERT INTO avec les même champs alors que j'en avais supprimer dans la BDD... forcement y'a un bug !
0