formulaire de contact et d'inscription

Bonjour et meilleurs voeux à tous les participants aux discutions autour de
SPIP.

Voilà, je cherche le meilleur moyen de faire un formulaire d'inscription
complet: login+ mdp etc... et un formulaire de contact détaché du reste des
pages de mon spip
par exemple avoir une page: contact.html
et une vraie page inscription.html et une page connexion.html pour les
membres pour qu'ils puissent s'inscrire et proposer des articles et news.

j'ai vu des trucs sur google mais rien de satisfaisant...

cdlt

--
http://wouahoo.com

shyboy a écrit :

Bonjour et meilleurs voeux à tous les participants aux discutions autour de SPIP.

Voilà, je cherche le meilleur moyen de faire un formulaire d'inscription complet: login+ mdp etc... et un formulaire de contact détaché du reste des pages de mon spip
par exemple avoir une page: contact.html
et une vraie page inscription.html et une page connexion.html pour les membres pour qu'ils puissent s'inscrire et proposer des articles et news.

j'ai vu des trucs sur google mais rien de satisfaisant...

cdlt

Pour la page contact, si ça <http://www2.ac-lyon.fr/etab/colleges/col-42/jromains/spip.php?page=contact&gt; te convient, je peux t'envoyer le fichier qui est pris à la base ici <http://www.mmt-fr.org/article63.html&gt;\.

intéressant, je vaux bien tester ton script pour la page de contact externe.
"Jean-Christophe Villeneuve" <jcvilleneuve@cegetel.net> a écrit dans le
message de news: 47821DAF.9060407@cegetel.net...
shyboy a écrit :

Bonjour et meilleurs voeux à tous les participants aux discutions autour
de
SPIP.

Voilà, je cherche le meilleur moyen de faire un formulaire d'inscription
complet: login+ mdp etc... et un formulaire de contact détaché du reste
des
pages de mon spip
par exemple avoir une page: contact.html
et une vraie page inscription.html et une page connexion.html pour les
membres pour qu'ils puissent s'inscrire et proposer des articles et news.

j'ai vu des trucs sur google mais rien de satisfaisant...

cdlt

Pour la page contact, si ça
<http://www2.ac-lyon.fr/etab/colleges/col-42/jromains/spip.php?page=contact&gt;
te convient, je peux t'envoyer le fichier qui est pris à la base ici
<http://www.mmt-fr.org/article63.html&gt;\.

shyboy a écrit :

intéressant, je vaux bien tester ton script pour la page de contact externe.
  
voilà le fichier
J'ai juste modifié 2 ou 3 trucs pour avoir
- les champs que je voulais (choix du sujet)
- le passage du message en iso pour l'envoi et réaffichage en utf8 sur le site (grâce à l'aide de Mike sur cette liste)

Je te mets aussi les css

Pense à modifier l'adresse d'envoi <Large sourire>

Amuse-toi bien

BLOC PHP A METTRE DANS UN SQUELETTE

<?php
// Merci à Alain Sichel pour cette page contact
function formulaire($Nom="",$Prenom="",$Email="",$Sujet="",$Message="") {
?>

<form action="<?php echo $PHP_SELF ?>" method="post">

  <table class="tour" cellspacing="0" cellpadding="10" align="center">
    <tr class="unite">
      <td class="item">Votre nom&nbsp;:</td>
      <td width="50%">
          <input type="text" name="Nom" size="30" value="<?php echo trim(htmlentities($Nom)) ?>" />
        </td>
    </tr>
    <tr class="unite">
      <td class="item">Votre pr&eacute;nom&nbsp;:</td>
      <td width="50%">
          <input type="text" name="Prenom" value="<?php echo trim(htmlentities($Prenom)) ?>" size="30" />
        </td>
    </tr>
    <tr class="unite">
      <td class="item">Votre E-mail&nbsp;:</td>
      <td width="50%">
          <input type="text" name="Email" value="<?php echo trim(htmlentities($Email)) ?>" size="30" />
        </td>
    </tr>

    <tr class="unite">
      <td class="item">Motif de votre message&nbsp;:</td>
      <td width="50%"><?php $s = 'selected="true"'; ?>
    <input type="radio" name="Sujet" value="Renseignement" <?php if ($Sujet=='Renseignement') { echo $s; } ?> size="30" />Renseignement<br>
    <input type="radio" name="Sujet" value="Inscription" <?php if ($Sujet=='Inscription') { echo $s; } ?> size="30" />Inscription<br>
    <input type="radio" name="Sujet" value="Probleme Technique" <?php if ($Sujet=='Probleme_Technique') { echo $s; } ?> size="30" />Probl&egrave;me technique<br>
    <input type="radio" name="Sujet" value="Avis sur le site" <?php if ($Sujet=='Avis sur le site') { echo $s; } ?> size="30" />Votre avis sur le site<br>
    <input type="radio" name="Sujet" value="Autre sujet" <?php if ($Sujet=='Autre sujet') { echo $s; } ?> size="30" />Autre<br>
        </td>
    </tr>

    <tr class="unite">
      <td valign="top" class="item">Votre message :</td>
      <td width="50%">
          <textarea name="Message" alt="Message" rows="10" cols="35" wrap="virtual" style="background-color:#ffffff"><? if (ereg("%~#`$&|}{^[><]",$Message)) { echo "Certains caract&egrave;res utilis&eacute;s sont interdits";
                  $erreur=1; }
                  else {echo trim($Message); } ?></textarea>
        </td>
    </tr>
    <tr class="unite">
      <td>&nbsp;</td>
      <td width="50%"> <center>
          <br />
          <input type="submit" name="Submit" value="Envoi" alt="Envoi" title="Envoi de votre message" />
        </center></td>
    </tr>
  </table>
<?
}
if(!isset($Nom)) {
    formulaire();
}
else {
    $vNom=trim(htmlentities($_POST["Nom"]));
    $vPrenom=trim(htmlentities($_POST["Prenom"]));
    $vMessage=trim(utf8_decode($_POST["Message"]));
    $vEmail=trim(htmlentities($_POST["Email"]));
    $vSujet=trim(htmlentities($_POST["Sujet"]));
    $destinataire='jcvilleneuve@cegetel.net';
    $titre="Page contact du college Jules Romains";
    $message="Provenance : $HTTP_REFERER\n";
    $message.="Adresse IP : $REMOTE_ADDR,\n";
    $message.="Navigateur : $HTTP_USER_AGENT\n";
    $message.="Nom : $vNom\n";
    $message.="Prenom : $vPrenom\n";
    $message.="E-mail : $vEmail\n";
    $message.="Motif : $vSujet\n";
    $message.="Message : $vMessage\n";

    if (empty($vNom)) {
        echo "<p class='red'>Vous n'avez pas donn&eacute; votre nom.</p>";
        $erreur=1;
    }
    if (empty($vPrenom)) {
        echo "<p class='red'>Vous n'avez pas donn&eacute; votre pr&eacute;nom.</p>";
        $erreur=1;
    }
    if (empty($Email)) {
        echo "<p class='red'>Vous n'avez pas donn&eacute; votre adresse &eacute;lectronique ... comment pourrais-je vous r&eacute;pondre ?</p>";
        $erreur=1;
    }
    if (empty($Sujet)) {
        echo "<p class='red'>Vous n'avez pas choisi le motif de votre message.</p>";
        $erreur=1;
    }
    if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$vEmail) && ($erreur<>1)){
        echo "<p class='red'>L'adresse e-mail n'est pas correcte&nbsp;:</p>";
        $erreur=1;
    }
    if (empty($Message)) {
        echo "<p class='red'>Vous n'avez pas compos&eacute; de message ! Distrait(e) ?</p>";
        $erreur=1;
    }
    if ($erreur==1) {
        formulaire($Nom,$Prenom,$Email,$Sujet,$Message);
    }
    else {
                    // PREPARATION DES HEADERS
           $headers ='From: <'.$vEmail.'>'."\n";
         $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
         $headers .='Content-Transfer-Encoding: 8bit';

   mail($destinataire,$titre,$message,$headers) ;
           echo '<p class="texte-retour">
        Bonjour, <span class="valeur"> '. $vPrenom.' '. $vNom.'</span>.<br /><br />
        Votre message a bien &eacute;t&eacute; envoy&eacute; au webmestre du site <br />
        qui vous r&eacute;pondra d&egrave;s que possible à cette adresse :
        <br /><span class="valeur"> '. $vEmail.'</span><br /><br />
         </p>';

        echo '<p class="texte-retour2">Motif de votre message :</p>';

        echo '<p class="valeur2">'. $vSujet.'</p>';
               echo '<p class="texte-retour2">Votre message :</p>';
               echo '<p class="valeur3">'. $vMessage=utf8_encode($vMessage) .'</p>';

    }
}
?>
</form>

LES CSS

/*******************/
/* la page contact */
/*******************/
#intro{
    -moz-border-radius:10px; /*bords arrondis que pour mozilla*/
    background-color: #E5EFF8;
    padding: 5px;
    font-size:14px;
    color: #336699;
    margin:0px 5px 0 10px;
}

.tour {
    margin: 10px auto 0 auto;
    width: 90%;
    border: 1px solid #C4CCD4;
    -moz-border-radius:10px; /*bords arrondis que pour mozilla*/
    background-color: #E5EFF8;
    padding: 5px;
}
.unite {
    font-size: 12px;
    color: #000000;
}
.item{
    font-weight: bold;
    text-align: right;
}
.item2{
    font-weight: bold;
    text-align: right;
}

.texte-retour {
    color: #303030;
    background-color: transparent;
    font-size: 14px;
    text-align: center;
}
.texte-retour2 {
    color: #303030;
    background-color: transparent;
    font-size: 14px;
}
.valeur {
    color: #000000;
    background-color: transparent;
    font-size: 14px;
    font-weight: bold;
}
.valeur2 {
    color: #000000;
    font-size: 14px;
    width: 80%;
    margin: auto;
    border: 1px solid #C4CCD4;
    -moz-border-radius:10px; /*bords arrondis que pour mozilla*/
    background-color: #E5EFF8;
    padding: 5px;
}
.valeur3 {
    color: #000000;
    font-size: 14px;
    width: 80%;
    margin: auto;
    border: 1px solid #C4CCD4;
    -moz-border-radius:10px; /*bords arrondis que pour mozilla*/
    background-color: #E5EFF8;
    padding: 5px;
}
.red {
    color: #FF0000;
    background-color: transparent;
    font-weight: bold;
}

merci pour ton aide précieuse, je vais étudier ce script php pour
l'intégrer ce soir...
@+

"Jean-Christophe Villeneuve" <jcvilleneuve@cegetel.net> a écrit dans le
message de news: 47824385.5090505@cegetel.net...
shyboy a écrit :

intéressant, je vaux bien tester ton script pour la page de contact
externe.

voilà le fichier
J'ai juste modifié 2 ou 3 trucs pour avoir
- les champs que je voulais (choix du sujet)
- le passage du message en iso pour l'envoi et réaffichage en utf8 sur
le site (grâce à l'aide de Mike sur cette liste)

Je te mets aussi les css

Pense à modifier l'adresse d'envoi <Large sourire>

Amuse-toi bien

BLOC PHP A METTRE DANS UN SQUELETTE

<?php
// Merci à Alain Sichel pour cette page contact
function formulaire($Nom="",$Prenom="",$Email="",$Sujet="",$Message="") {
?>

<form action="<?php echo $PHP_SELF ?>" method="post">

  <table class="tour" cellspacing="0" cellpadding="10" align="center">
    <tr class="unite">
      <td class="item">Votre nom&nbsp;:</td>
      <td width="50%">
          <input type="text" name="Nom" size="30" value="<?php echo
trim(htmlentities($Nom)) ?>" />
        </td>
    </tr>
    <tr class="unite">
      <td class="item">Votre pr&eacute;nom&nbsp;:</td>
      <td width="50%">
          <input type="text" name="Prenom" value="<?php echo
trim(htmlentities($Prenom)) ?>" size="30" />
        </td>
    </tr>
    <tr class="unite">
      <td class="item">Votre E-mail&nbsp;:</td>
      <td width="50%">
          <input type="text" name="Email" value="<?php echo
trim(htmlentities($Email)) ?>" size="30" />
        </td>
    </tr>

    <tr class="unite">
      <td class="item">Motif de votre message&nbsp;:</td>
      <td width="50%"><?php $s = 'selected="true"'; ?>
    <input type="radio" name="Sujet" value="Renseignement" <?php if
($Sujet=='Renseignement') { echo $s; } ?> size="30" />Renseignement<br>
    <input type="radio" name="Sujet" value="Inscription" <?php if
($Sujet=='Inscription') { echo $s; } ?> size="30" />Inscription<br>
    <input type="radio" name="Sujet" value="Probleme Technique" <?php if
($Sujet=='Probleme_Technique') { echo $s; } ?> size="30"
/>Probl&egrave;me technique<br>
    <input type="radio" name="Sujet" value="Avis sur le site" <?php if
($Sujet=='Avis sur le site') { echo $s; } ?> size="30" />Votre avis sur
le site<br>
    <input type="radio" name="Sujet" value="Autre sujet" <?php if
($Sujet=='Autre sujet') { echo $s; } ?> size="30" />Autre<br>
        </td>
    </tr>

    <tr class="unite">
      <td valign="top" class="item">Votre message :</td>
      <td width="50%">
          <textarea name="Message" alt="Message" rows="10" cols="35"
wrap="virtual" style="background-color:#ffffff"><? if
(ereg("%~#`$&|}{^[><]",$Message)) { echo "Certains caract&egrave;res
utilis&eacute;s sont interdits";
                  $erreur=1; }
                  else {echo trim($Message); } ?></textarea>
        </td>
    </tr>
    <tr class="unite">
      <td>&nbsp;</td>
      <td width="50%"> <center>
          <br />
          <input type="submit" name="Submit" value="Envoi" alt="Envoi"
title="Envoi de votre message" />
        </center></td>
    </tr>
  </table>
<?
}
if(!isset($Nom)) {
    formulaire();
}
else {
    $vNom=trim(htmlentities($_POST["Nom"]));
    $vPrenom=trim(htmlentities($_POST["Prenom"]));
    $vMessage=trim(utf8_decode($_POST["Message"]));
    $vEmail=trim(htmlentities($_POST["Email"]));
    $vSujet=trim(htmlentities($_POST["Sujet"]));
    $destinataire='jcvilleneuve@cegetel.net';
    $titre="Page contact du college Jules Romains";
    $message="Provenance : $HTTP_REFERER\n";
    $message.="Adresse IP : $REMOTE_ADDR,\n";
    $message.="Navigateur : $HTTP_USER_AGENT\n";
    $message.="Nom : $vNom\n";
    $message.="Prenom : $vPrenom\n";
    $message.="E-mail : $vEmail\n";
    $message.="Motif : $vSujet\n";
    $message.="Message : $vMessage\n";

    if (empty($vNom)) {
        echo "<p class='red'>Vous n'avez pas donn&eacute; votre nom.</p>";
        $erreur=1;
    }
    if (empty($vPrenom)) {
        echo "<p class='red'>Vous n'avez pas donn&eacute; votre
pr&eacute;nom.</p>";
        $erreur=1;
    }
    if (empty($Email)) {
        echo "<p class='red'>Vous n'avez pas donn&eacute; votre adresse
&eacute;lectronique ... comment pourrais-je vous r&eacute;pondre ?</p>";
        $erreur=1;
    }
    if (empty($Sujet)) {
        echo "<p class='red'>Vous n'avez pas choisi le motif de votre
message.</p>";
        $erreur=1;
    }
    if
(!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$vEmail)
&& ($erreur<>1)){
        echo "<p class='red'>L'adresse e-mail n'est pas
correcte&nbsp;:</p>";
        $erreur=1;
    }
    if (empty($Message)) {
        echo "<p class='red'>Vous n'avez pas compos&eacute; de message !
Distrait(e) ?</p>";
        $erreur=1;
    }
    if ($erreur==1) {
        formulaire($Nom,$Prenom,$Email,$Sujet,$Message);
    }
    else {
                    // PREPARATION DES HEADERS
           $headers ='From: <'.$vEmail.'>'."\n";
         $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
         $headers .='Content-Transfer-Encoding: 8bit';

   mail($destinataire,$titre,$message,$headers) ;

        echo '<p class="texte-retour">
        Bonjour, <span class="valeur"> '. $vPrenom.' '.
$vNom.'</span>.<br /><br />
        Votre message a bien &eacute;t&eacute; envoy&eacute; au
webmestre du site <br />
        qui vous r&eacute;pondra d&egrave;s que possible à cette adresse :
        <br /><span class="valeur"> '. $vEmail.'</span><br /><br />
         </p>';

        echo '<p class="texte-retour2">Motif de votre message :</p>';

        echo '<p class="valeur2">'. $vSujet.'</p>';

        echo '<p class="texte-retour2">Votre message :</p>';

        echo '<p class="valeur3">'. $vMessage=utf8_encode($vMessage)
.'</p>';

    }
}
?>
</form>

LES CSS

/*******************/
/* la page contact */
/*******************/
#intro{
    -moz-border-radius:10px; /*bords arrondis que pour mozilla*/
    background-color: #E5EFF8;
    padding: 5px;
    font-size:14px;
    color: #336699;
    margin:0px 5px 0 10px;
}

.tour {
    margin: 10px auto 0 auto;
    width: 90%;
    border: 1px solid #C4CCD4;
    -moz-border-radius:10px; /*bords arrondis que pour mozilla*/
    background-color: #E5EFF8;
    padding: 5px;
}
.unite {
    font-size: 12px;
    color: #000000;
}
.item{
    font-weight: bold;
    text-align: right;
}
.item2{
    font-weight: bold;
    text-align: right;
}

.texte-retour {
    color: #303030;
    background-color: transparent;
    font-size: 14px;
    text-align: center;
}
.texte-retour2 {
    color: #303030;
    background-color: transparent;
    font-size: 14px;
}
.valeur {
    color: #000000;
    background-color: transparent;
    font-size: 14px;
    font-weight: bold;
}
.valeur2 {
    color: #000000;
    font-size: 14px;
    width: 80%;
    margin: auto;
    border: 1px solid #C4CCD4;
    -moz-border-radius:10px; /*bords arrondis que pour mozilla*/
    background-color: #E5EFF8;
    padding: 5px;
}
.valeur3 {
    color: #000000;
    font-size: 14px;
    width: 80%;
    margin: auto;
    border: 1px solid #C4CCD4;
    -moz-border-radius:10px; /*bords arrondis que pour mozilla*/
    background-color: #E5EFF8;
    padding: 5px;
}
.red {
    color: #FF0000;
    background-color: transparent;
    font-weight: bold;
}