Modifier un formulaire ? ( Sil vous plait ! !!!! Jarrive pa depuis des heures ) [Résolu]

Signaler
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007
-
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007
-
Bonjour tous le monde,
alors ce que je vais essayer dde vous raconter ca va pas etre tres facile pour moi. depuis plusieurs heures je cherche le probleme ! et je l'ai trouvé ! mais quoi mettre dans la variable ! hum hum ! je ne sais pas...

Voila ! jai creer un espace membre ou les gens peuvent ajouter et modifie voir meme supprimer leurs propres news !
dans la rubrique Modifier il y a un tableau ! dans ce tableau il y a une liste ! ce sont des titres de news ! oui oui ! des titres de news ;) . a droite de cela une images qui permet que quand on clique dessus suivant le titres elle renvoi vers une page de formulaire

Dans ce formulaire on apercoit le detail de la news, tel que son titre, le message, lurl de limage etc... Donc une requete est bien entendu enclanché depuis mysql + des echos pour laffichage des données par rapport a id cliquer dans la selection des news...

Voila le probleme !

donc je modifie ma news comme convenue !
jappuie sur ! Mettre a jour !
je definie bien les variable ! je fais la requete ! mais que dois je marquer au moment de l'update ! je vous fourni le lien !

---la page de formulaire modif.php ---------

<?php
include("config.php");
$idmbr= $_GET['idmbr'];
@mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
@mysql_select_db($BD_base)
or die("Impossible de se connecter à la base de données.");


$requete = "SELECT * FROM news ".
" where titre='$idmbr'";
$result = mysql_query($requete);
$enreg = mysql_fetch_array($result); ?>



<meta name="generator" content="Namo WebEditor v5.0">
<form method="post" action="miseajournews_ok.php">
Titre :
'> '>
Lieu
Exposition
:
'>
Date
Expo :
'>
Ajouter une Image à partir d'une Url&nbsp;:
'>
Pour en Savoir plus ! Le membre est redirigé vers cette page :

'>&nbsp;
Message
:
<textarea name="texte" rows="7" cols="25"><? echo $enreg["texte"]; ?></textarea>
&nbsp;

</form>
&nbsp;

---------
Et nous voici au moment ou on appuie sur ( Mettre a jour ! )
la requete enclanché !

<?php


include("config.php");



$titre = $_POST["titre"];
$lieu_expo = $_POST["lieu_expo"];
$date_expo = $_POST["date_expo"];
$photo = $_POST["photo"];
$lienweb = $_POST["lienweb"];
$texte = $_POST["texte"];


@mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
@mysql_select_db($BD_base)
or die("Impossible de se connecter à la base de données.");



mysql_query("Update news Set titre='$titre',
lieu_expo='$lieu_expo', date_expo='$date_expo', photo='$photo', lienweb='$lienweb'
texte='$texte' where ........... ");




echo (" Vos Informations ont bien été mis à jour");
echo '<meta http-equiv ="refresh" content="1;URL=modif_article.php">';



?>

Je sais tres bien que j'ai oublié quelque chose ! et je me demande que dois je mettre dans la section WHERE ???? pour definir l'id de la news (Voir en rouge )

l'affichage de la news selectionner marche tres bien ! mais au moment ou je ve faire la mise a jour faut que je defini lid ! mais comment ??
donc quelquun peut maider ! ca serait super en sachant que je souhaite avoir des reponses direct ! je cherche depuis des heures et j'en ai un peu marre :)
donc je fais appel a vous :)

merci encore pour toutes ces aides ! c'est super !
Bisous Milka ;) et bonne soirée a vous !

7 réponses

Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
Where id='".$_POST['id']."'";



Dans ton formualire de modification, tu as défini un input caché comprenant l'id de la news en train d'être triturée ::

'>

Bon bah tu n'as plus qu'à rappeler cette référence lors de l'envoi à MySQL !



(Bizare que tu turbines depuis des heures là dessus... Le problème doit être ailleurs non ?)



Alors, j'en profite pour faire quelque commentaires :

* @mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)

N'utilise pconnect que si c'est vraiment nécessaire (connexion
persistante !?!) Et là ce n'est pas le cas. D'autan plus que tu oublies
de fermer ta connexion en fin de script... Donc tu accumules petit à
petit les connexions ouvertes.



* @mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)

Evite l'utilisation du caractère "ta-gueule!" -@- . Because si tu as une erreur de connexion.... Jamais tu ne trouvera le bug !

Préfère la gestion personalisée des erreursgrâce à set_error_handler(). Puis récupère les erreurs dans un fichier ou je ne sais où si tu ne veux pas quelles s'affichent !



* $titre = $_POST["titre"];

$lieu_expo = $_POST["lieu_expo"];

$date_expo = $_POST["date_expo"];

$photo = $_POST["photo"];

$lienweb = $_POST["lienweb"];

$texte = $_POST["texte"];



Et si $_POST['titre'] est indéfini ?

préfère une chose du genre $titre = isset($_POST['titre']) ? $_POST['titre'] : 'Valeu par défaut';
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
(Quand tu es en phase de débuggae : enlève les @ ! )
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

c bon jai toruvé ! et jai changé mes petites erreur ! merci encore !! et bien vu pour larobase car c ca qui mempecher de voir les erreur !

mysql_query("Update news Set titre='$titre',
lieu_expo='$lieu_expo', date_expo='$date_expo', photo='$photo', lienweb='$lienweb'
texte='$texte' where ...........");

il me manquait en plus de cela une virgule a coté de lienweb ! :s
ha la la
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
Ah ah ah !



Pour éviter de perdre des heures sur ce genre de mauvaise blague... Il y'a un dernier truc :

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



Et là tu aurais tout de suite vu l'erreur, expliquée en détail par Monsieur MySQL Server...



Bonne chance pour la suite
Messages postés
37
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
21 mars 2006

Tu dois lui dire sur quels enregistrement il faut appliquer la requête !



L'idéal est de mettre à chaque news un identifiant, un champ ID par exemple



et quand tu fais modifier, tu passe l'ID de la news à modifier et tu fais



UPDATE .... SET .... WHERE ID=id_passe_en_url



Voili voilou



ciao
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

Ok daccord je note tous ! merci davoir pri le temps de me repondre c'est super gentil de votre part !

alors jai bien ajouter ce que vous mavez dis ! c noté je vais reparé tous cela :)

en ce qui concerne ma petite requene ! aucune erreur ne saffichent par rapport a tous ce que vous m'avez enoncés :)
aucun pb ! mais la requete ne ce fait toujours pas :(

au niveau de l'update ...
pourtant il y a toutes les données necessaires .... i dont understand ! comme dirait no vrai anglais ;)

le php serait raciste envers moi :d alors la aucune idée :s
je vais essayer de prendre contact avec un deuxieme avis. pour que j'envoi mon script et queon le test ensemble :s

je trouve pa la faille :s
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

merci a toi !! :) c super ;) et a bientot je l'espere ! :)