IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Ajouter/Valider des articles [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut Ajouter/Valider des articles
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    <?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

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour,

    et quel est le message d'erreurs ?

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    Il n'ya pas de message d'erreur,


    l'enregistrement dans la base de donnée est envoyé mais les champs sont vide

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    dans la ligne suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "INSERT INTO validart (id, nom, idmembre, titre, article, email, valide) VALUES ('$nom', '$idmembre', '$titre', '$article', '$email', '1')";
    tu demandes d'insérer 7 champs alors que tu ne renvoies que 6 valeurs.

    Si le champs 'id' est auto incrémenté, il ne faut pas le demander au départs, essaye ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "INSERT INTO validart (nom, idmembre, titre, article, email, valide) VALUES ('$nom', '$idmembre', '$titre', '$article', '$email', '1')";

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    j'ai déjà essayer mais toujours pareil j'essaye donc une autre façon avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "UPDATE articat SET valide=1 WHERE id='$id'" ;

    mais cette fois-ci je recherche a modifier le statue dnas la même table mais rien de marche

  6. #6
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    j'y suis enfin arrivé ^^


    mais la maintenant mon problemes c'est d'afficher les articles qui sont valider

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    <?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>';
    }
     
    ?>

  8. #8
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    en considérant que id note le dernier chiffres entré dans la commande sql un ORDER BY DESC , devrais arranger ton problème.

  9. #9
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    Bonjour j'ai essayé avec un ORDER BY DESC mais cela ne marche pas, cela me met Requette Impossible

  10. #10
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    heu......................

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $result=mysql_query ("SELECT * FROM articat where valide=1 LIMIT $start,$messpage ORDER BY id DESC")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SP-2007] Site news - ajouter et afficher des articles
    Par developer5 dans le forum SharePoint
    Réponses: 9
    Dernier message: 14/04/2011, 14h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo