Version complète: sur le forum Webmaster Hub : Ajout article
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
toulousain3117
Bonjour, je viens vous voir car j'ai un petit soucie avec un script que j'essaye de mettre en place.


Je souhaites faire en sortes que mes membres puissent écrire un article, puis que l'article soit affiché dans une zone administrative pour moi même puis le validé et donc que l'article soit enregistré dans la table qui regroupe les artcile validé.



J'ai déjà creer le formulaire qui permet de proposer l'article, l'envoi de l'article marche parfaitement et s'enregistre parfaitement dans la BDD .


J'ai ensuite réussi a creer la zone administratif qui permet de validé ou pas l'article .


Le seul probleme c'est quand je clique sur valider, l'enregistrement ne se fait pas voilà mon code complet de la page des validation des articles !


CODE
<?php


//Page du haut
include("sources/haut.php");

//Fichier necessaire
include("sources/config.php");

// Verifie si on peut se connecter a la base sql
$connect=mysql_connect($host,$user,$pass) or die ("Impossible de se connecter");
mysql_select_db($base, $connect) or die ("Impossible de selectionner la base de donnees");

//Verifie si on s'est connecte a l'espace membre
$connom=$HTTP_COOKIE_VARS["espace_login"];
$conpass=$HTTP_COOKIE_VARS["espace_pass"];
$result=mysql_query ("SELECT * FROM comptes WHERE nom='$connom' and pass='$conpass'") or die ("Requete impossible");
$autoconnect = mysql_num_rows($result);
if ($autoconnect==0) {
echo("<script language=\"javascript\">location=\"erreur.php\";</script>");}
?><?php

if($action == "add")
{

$nom = $HTTP_POST_VARS["nom"];
$idmembre = $HTTP_POST_VARS["idmembre"];
$titre = $HTTP_POST_VARS["titre"];
$article = $HTTP_POST_VARS["article"];
$email = $HTTP_POST_VARS["email"];

$nom = strip_tags($nom);
$idmembre = strip_tags($idmembre);
$titre = strip_tags($titre);
$article = strip_tags($article);
$email = strip_tags($email);

if($article == "")
{
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL = ?msg=Veuillez+choisir+un+article+!\">";
exit;
}

$db = mysql_connect($host,$user,$pass);
mysql_select_db($base,$db);

$sql = "INSERT INTO validart (id, nom, idmembre, titre, article, email, valide) VALUES ('$nom', '$idmembre', '$titre', '$article', '$email', '1')";
mysql_query($sql);

echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL = ?msg=l'article+a+bien+était+validé+!\">";
exit;

mysql_close($db);

}

?><?php

//Recupere le nombre de messages au total
$result=mysql_query ("SELECT * FROM articat ORDER by nom") or die ("Requete impossible");

//Nombre de messages recuperer dans $nbmess
$nbmemb = mysql_num_rows($result);

//Premiere Page
if(!$start) {$start=0;}

//Recupere le nombre de messages au total
$result=mysql_query ("SELECT * FROM articat ORDER by nom LIMIT $start,$messpage") or die ("Requete impossible");

//Affichage du nombre de membres
echo("<font face=\"$font\" size=\"$size\">&nbsp;Total des articles :</font><font face=\"$font\" size=\"$size\" color=\"#FF0000\">&nbsp;$nbmemb</font><hr>");

//Affichage des membres
while ($row = mysql_fetch_array($result)) {

$noma = $row["nom"];
$idmembre = $row["idmembre"];
$titre = $row["titre"];
$article = $row["article"];
$id = $row["id"];


//Affichage des membres
echo("<table width=\"100%\" border=\"0\" bgcolor=\"#FFFFFF\">\n");
echo("<tr>\n");
echo("<center>Proposé par <b>$noma - $idmembre</b></td></center>\n");
echo("<b>Titre</b> : $titre\n");
echo ("<center><td width=\"94%\"><font face=\"$font\" size=\"$size\" color=\"#000000\">$article</font><a href=\"?action=add\">Valider</a><p>==============</td></center>\n");
echo("</tr>\n");
echo ("</table>\n");
}
//Si il n'y a pas encore de message recu
if ($nbmemb=="") {
echo("<table width=\"100%\" border=\"0\" bgcolor=\"#FFFFFF\"><tr>");
echo("<td><font face=\"<? echo $font; ?>\" size=\"$size\"><i>Aucun article pour le moment</i></font>");
echo("</td></tr></table>");}

//Barre de navigation (page précédente - page suivante)
//Affichage ou non de l'url page precedente
echo("<table width=\"100%\" border=\"0\" align=\"center\"><tr><td width=\"30%\">");
if($start>0){
echo("<a href=\"validart.php?start=".($start-$messpage)."\"><font face=\"$font\" size=\"$size\">&lt;&lt; Pr&eacute;c&eacute;dente</font></a>");}
if($nbmemb>0){
echo("</td><td width=\"40%\"><div align=\"center\"><font face=\"$font\" size=\"$size\">Page ");
echo ($start + $messpage)/$messpage;
echo (" sur ");
echo ceil($nbmemb/ $messpage);}
echo("</font></div></td><td width=\"30%\">");
//Affichage ou non de l'url Page suivante
if($nbmemb>$start+$messpage){
echo("<div align=\"right\"><a href=\"validart.php?start=".($start+$messpage)."\"><font face=\"$font\" size=\"$size\">Suivante &gt;&gt;</font></a></div>");}
echo("</td>\n</tr>\n</table>\n");
?>
</td>
</tr>
</table>
<br>
<div align="center"><font face="<? echo $font; ?>" size="<? echo $size; ?>"><a href="compte.php">Retour à votre compte</a></font></div>

<?php
//Ferme la base de donnees
mysql_free_result($result);
mysql_close($connect);



//Page du bas
include("sources/bas.php");
?>
</td>
</tr>
<tr>
<td height="25">&nbsp;</td>
<td><input name="Submit" type="submit" class="txt_box" value=" Ajouter"></td>
</tr>
</table>
</form>



Vous pouvez m'aider svp
_seb
salut,

tu pourrais commencer par permettre aux erreurs de s'afficher au moment de la requete
CODE
mysql_query($sql) or die(mysql_error());
toulousain3117
et je le met ou ce message ?

j'ai trouver lol


il n'ya aucune erreur


Juste que les champs que j'ai demandé ne s'affiche pas
toulousain3117
j'ai réussi a proposer, validé puis publier les articles mais j'aimerais bien faire en sortes que le dernier publier soit le premier afficher, mais je ne sais pas comment faire pouvez vous m'aider svp ?


voilà le code de la page ou sont publier les articles :
CODE
<?php


//Page du haut
include("sources/haut.php");

//Fichier necessaire
include("sources/config.php");

// Verifie si on peut se connecter a la base sql
$connect=mysql_connect($host,$user,$pass) or die ("Impossible de se connecter");
mysql_select_db($base, $connect) or die ("Impossible de selectionner la base de donnees");

//Verifie si on s'est connecte a l'espace membre
$connom=$HTTP_COOKIE_VARS["espace_login"];
$conpass=$HTTP_COOKIE_VARS["espace_pass"];
$result=mysql_query ("SELECT * FROM comptes WHERE nom='$connom' and pass='$conpass'") or die ("Requete impossible");
$autoconnect = mysql_num_rows($result);
if ($autoconnect==0) {
echo("<script language=\"javascript\">location=\"erreur.php\";</script>");}
?><?php

//Recupere le nombre de messages au total
$result=mysql_query ("SELECT * FROM articat where valide=1") or die ("Requete impossible");

//Nombre de messages recuperer dans $nbmess
$nbmemb = mysql_num_rows($result);

//Premiere Page
if(!$start) {$start=0;}

//Recupere le nombre de messages au total
$result=mysql_query ("SELECT * FROM articat where valide=1 LIMIT $start,$messpage") or die ("Requete impossible");

//Affichage du nombre de membres
echo("<font face=\"$font\" size=\"$size\">&nbsp;Total des articles :</font><font face=\"$font\" size=\"$size\" color=\"#FF0000\">&nbsp;$nbmemb</font><hr>");

//Affichage des membres
while ($row = mysql_fetch_array($result)) {

$noma = $row["nom"];
$idmembre = $row["idmembre"];
$titre = $row["titre"];
$article = $row["article"];
$id = $row["id"];


//Affichage des membres
echo("<table width=\"100%\" border=\"0\" bgcolor=\"#FFFFFF\">\n");
echo("<tr>\n");
echo("<center>Proposé par <b>$noma- $idmembre</b></td></center>\n");
echo("<b>Titre</b> : $titre\n");
echo ("<center><td width=\"94%\"><font face=\"$font\" size=\"$size\" color=\"#000000\">$article</font><a href=\"#\"> Repliquer </a><p>==============</td></center>\n");
echo("</tr>\n");
echo ("</table>\n");
}
//Si il n'y a pas encore de message recu
if ($nbmemb=="") {
echo("<table width=\"100%\" border=\"0\" bgcolor=\"#FFFFFF\"><tr>");
echo("<td><font face=\"<? echo $font; ?>\" size=\"$size\"><i>Aucun article pour le moment</i></font>");
echo("</td></tr></table>");}

//Barre de navigation (page précédente - page suivante)
//Affichage ou non de l'url page precedente
echo("<table width=\"100%\" border=\"0\" align=\"center\"><tr><td width=\"30%\">");
if($start>0){
echo("<a href=\"validart.php?start=".($start-$messpage)."\"><font face=\"$font\" size=\"$size\">&lt;&lt; Pr&eacute;c&eacute;dente</font></a>");}
if($nbmemb>0){
echo("</td><td width=\"40%\"><div align=\"center\"><font face=\"$font\" size=\"$size\">Page ");
echo ($start + $messpage)/$messpage;
echo (" sur ");
echo ceil($nbmemb/ $messpage);}
echo("</font></div></td><td width=\"30%\">");
//Affichage ou non de l'url Page suivante
if($nbmemb>$start+$messpage){
echo("<div align=\"right\"><a href=\"validart.php?start=".($start+$messpage)."\"><font face=\"$font\" size=\"$size\">Suivante &gt;&gt;</font></a></div>");}
echo("</td>\n</tr>\n</table>\n");
?>
</td>
</tr>
</table>
<br>
<div align="center"><font face="<? echo $font; ?>" size="<? echo $size; ?>"><a href="compte.php">Retour à votre compte</a></font></div>

<?php
//Ferme la base de donnees
mysql_free_result($result);
mysql_close($connect);



//Page du bas
include("sources/bas.php");
?><?php

if($msg)
{
echo '<div align="center"><span class="Style5">'.stripslashes($msg).'</span></div>';
}

?>
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.