[(#FORMULAIRE_ARTICLE)] : Permettre aux visiteurs de proposer un article sur votre site

Comment permettre à vos visiteurs de proposer un article ? En lui proposant un formulaire à remplir !

Voilà ce que nous souhaitons faire : http://www.livres-online.com/ecrire.php3, comme sur cette page permettre aux visiteurs du site de proposer des articles.

Gestion de l’insertion de l’article dans la base de données

Ce code PHP inclus sert à réaliser l’insertion des données dans la base une fois le formulaire validé. Il faut le mettre au tout tout début du squelette concerné.

<INCLURE(formulaire_article.php3)>

-  Une erreur sera générée par le « header() » si un code HTML quelconque a été écrit préalablement (voir fichier),
-  Si l’auteur est logué c’est lui l’auteur, sinon c’est l’auteur n° 1,
-  L’article aura le statut « proposé ».

Affichage du Formulaire

À mettre à l’endroit opportun de votre squelette, dans une boucle (RUBRIQUES) avec pour id_rubrique la rubrique concernée.

<h1>Proposer un article</h1>
<?
if($message){
echo $message ;
}else{
if ($titre_article || $texte) {
?>
<h2>Appercu avant la publication </h2>
<div style="padding:10px;border:1px dashed #cccccc;margin:10px;width:40%">
<h3><?echo strtoupper($titre_article);?></h3>
<p><?echo nl2br($texte);?></p>
</div>
<?}else{?>
<p>
Vous souhaitez proposer un article, remplissez le formulaire ci-dessous</p>
<?}?>
<form method='POST' action='#SELF'>
<h2>Proposer un article</h2>
<p>Titre : <INPUT TYPE="text" CLASS="forml" NAME="titre_article" VALUE="<?echo $titre_article;?>" SIZE="30"></p>
<p>
<b>Descriptif :</b>
<BR><TEXTAREA NAME='texte' ROWS='20' CLASS='forml' COLS='40' wrap=soft><?echo $texte;?></textarea>

<!--
<p>
Nom du site : <INPUT TYPE="text" CLASS="forml" NAME="nom_site" VALUE="<?php echo $nom_site; ?>" SIZE="30">
</p>
<p>
Url du site : <INPUT TYPE="text" CLASS="forml" NAME="url_site" VALUE="<?php echo $url_site; ?>" SIZE="30">
</p>
-->

<DIV ALIGN="left"><small>Les champs en gras sont obligatoires</small></div><br>
<DIV ALIGN="right">
	<INPUT TYPE="submit" NAME="Visualiser" CLASS="spip_bouton" VALUE="Visualiser votre article">
	<?if ($titre_article && $texte) {?>
		<INPUT TYPE="hidden" NAME="id_rubrique" VALUE="#ID_RUBRIQUE">
		<INPUT TYPE="hidden" NAME="id_auteur" VALUE="<?php echo $auteur_session['id_auteur'] ; ?>">
		<INPUT TYPE="hidden" NAME="redirect" VALUE="#SELF">
		<INPUT TYPE="submit" NAME="Valider" CLASS="spip_bouton" VALUE="Demander la publication">
	<?}?>
</DIV></p>
</FORM>
<?php } ?>

Le Script

Voici une nouvelle version du script :

formulaire_article.php3
Codes à télécharger et à intégrer en haut du squelette avec l’inclure.

Vous pouvez le télécharger, le modifier pour le rendre générique, et nous le re-proposer ici même (via le lien Variantes ci dessous par exemple).

Amusez vous bien.

Une fois que cela marchera bien comme squelette php3/html, on verra comment l’intégrer au parseur de squelettes de spip pour le faire fonctionner comme une [(#BALISE)].

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom