Aller au contenu

Formulaire d'inscription à annuaire


Sujets conseillés

Posté

Bonjour.

Suis archi débutante en php :oops::lol: Et j'espère être sur le bon forum (dans la bonne rubrique). Si je ne suis pas claire dans mon message, n'hésitez pas à me le dire:oops:

Voilà. J'ai trouvé un script sur le net que j'ai trouvé très bien pour faire ce que je souhaitais : un annuaire pour le site de copropriété que je suis en train de créer.

Voici le formulaire d'inscription tel qu'il était au tout début : http://pilotetest.free.fr/membre/ins.htm

Je l'ai adapté en rajoutant des champs :

<form action="inserer.php" method="post" enctype="multipart/form-data">
<div
align="center"><center><table border="0" cellpadding="0"
cellspacing="0" width="42%" bgcolor="#415A8C"
bordercolor="#FFFFFF">
<tr>
<td width="40%"><font size="2" color="#FFFFFF">Civilité</font></td>
<td><select name="civilite" size="1">
<option selected>-</option>
<option>Mr</option>
<option>Mme</option>
<option>Mr et Mme</option>
<option>Dr</option>
</select></td>
</tr>
<tr>
<td width="40%"><p align="left">
<font color="#FFFFFF"
size="2">Nom
*</font></p>
</td>
<td><p align="left"><font color="#FFFFFF" size="2">
<input
type="text" size="40" name="prenom"
style="border: 1px solid #000000 font-family: Tahoma; font-size: 9pt;"></font></p>
</td>
</tr>
<tr>
<td width="40%"><font size="2" color="#FFFFFF">Prénom *</font></td>
<td><font color="#FFFFFF" size="2">
<input
type="text" size="40" name="nom"
style="border: 1px solid #000000 font-family: Tahoma; font-size: 9pt;"></font></td>
</tr>
<tr>
<td width="40%"><font size="2" color="#FFFFFF">Statut</font></td>
<td> <select name="statut" size="1">
<option selected>-</option>
<option>propriétaire résidant</option>
<option>propriétaire bailleur</option>
</select></td>
</tr>
<tr>
<td width="40%"><font size="2" color="#FFFFFF">Bâtiment</font></td>
<td> <select name="batiment" size="1">
<option selected>-</option>
<option>A</option>
<option>B</option>
<option>C</option>
<option>D</option>
<option>Parking seul</option>
</select></td>
</tr>
<tr>
<td width="40%"><font size="2" color="#FFFFFF">Etage</font></td>
<td><font color="#000000" size="2">
<input
type="text" size="15" name="etage"
style="border: 1px solid #000000 font-family: Tahoma; font-size: 9pt;"
tupe="text"></font></td>
</tr>

</tr>
</td>

<tr>
<td colspan="2">
<p style="margin-top: 10px; margin-bottom: 10px" align="center">
<font size="2" color="#FFFFFF">Eléments qui seront mis en ligne si
complétés</font></td>
</tr>
<tr>
<td><font size="2" color="#FFFFFF">Téléphone</font></td>
<td><font color="#000000" size="2">
<input
type="text" size="20" name="telephone"
style="border: 1px solid #000000 font-family: Tahoma; font-size: 9pt;"
tupe="text"></font></td>
</tr>
<tr>
<td><p align="left"><font color="#FFFFFF" size="2">Adresse E-mail</font></p>
</td>
<td><p align="left"><font color="#000000" size="2">
<input
type="text" size="40" name="email"
style="border: 1px solid #000000 font-family: Tahoma; font-size: 9pt;"
tupe="text"></font></p>
</td>
</tr>
</td>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2">
<p style="margin-top: 10px; margin-bottom: 0" align="center">
<font size="2" color="#FFFFFF">Eléments qui resteront confidentiels
et ne seront pas affichés</font></p>
<p style="margin-top: 0; margin-bottom: 10px" align="center">
<font size="2" color="#FFFFFF"> mais utiles pour le Conseil
Syndical.</font></td>
</tr>
<tr>
<td valign="top"><font size="2" color="#FFFFFF">Téléphone fixe</font></td>
<td><font color="#000000" size="2">
<input
type="text" size="20" name="tel_fixe"
style="border: 1px solid #000000 font-family: Tahoma; font-size: 9pt;"
tupe="text"></font></td>
</tr>
<tr>
<td valign="top"><font size="2" color="#FFFFFF">Téléphone portable</font></td>
<td><font color="#000000" size="2">
<input
type="text" size="20" name="tel_portable"
style="border: 1px solid #000000 font-family: Tahoma; font-size: 9pt;"
tupe="text"></font></td>
</tr>
<tr>
<td valign="top"><font size="2" color="#FFFFFF">Fax</font></td>
<td><font color="#000000" size="2">
<input
type="text" size="20" name="fax"
style="border: 1px solid #000000 font-family: Tahoma; font-size: 9pt;"
tupe="text"></font></td>
</tr>
<tr>
<td valign="top"><font size="2" color="#FFFFFF">Adresse E-mail</font></td>
<td><font color="#000000" size="2">
<input
type="text" size="40" name="adresse_mail"
style="border: 1px solid #000000 font-family: Tahoma; font-size: 9pt;"
tupe="text"></font></td>
</tr>
<tr>
<td valign="top" colspan="2">
<p align="center" style="margin-top: 10px; margin-bottom: 10px"><font size="2" color="#FFFFFF">Eléments pour les
membres élus au conseil syndical</font></td>
</tr>

<tr>
<td valign="top"><font size="2" color="#FFFFFF">Première année
d'élection</font></td>
<td width="59%"><font color="#000000" size="2">
<input
type="text" size="10" name="annee"
style="border: 1px solid #000000 font-family: Tahoma; font-size: 9pt;"
tupe="text"></font></td>
</tr>

<tr>
<td valign="top"><font size="2" color="#FFFFFF">Année de la dernière
élection</font></td>
<td width="59%"><font color="#000000" size="2">
<input
type="text" size="10" name="derniere"
style="border: 1px solid #000000 font-family: Tahoma; font-size: 9pt;"
tupe="text"></font></td>
</tr>

<tr>
<td valign="top"><font size="2" color="#FFFFFF">Votre position dans
le conseil syndical</font></td>
<td width="59%"> <select name="membre_conseil" size="1">
<option selected>-</option>
<option>président</option>
<option>vice-président</option>
<option>membre actif</option>
<option>membre suppléant</option>
</select></td>
</tr>

<tr>
<td valign="top" colspan="3">
<p style="margin-top: 10px; margin-bottom: 0" align="center">
<font color="#FFFFFF" size="2">Photo à joindre obligatoirement en
format JPEG. </font></p>
<p style="margin-top: 0; margin-bottom: 10px" align="center">
<font color="#FFFFFF" size="2">Le nom du fichier ne doit pas
comporter d'espace ni d'accent.</font></tr>

<tr>
<td valign="top"><font
color="#FFFFFF" size="2">Photo *</td></font>
<td>
<input type=hidden name=MAX_FILE_SIZE value=50000000000>
<input type="file" size="20" name="pseudo_photo" style="border: 1px solid #000000">
</td></td>
<td width="65%"> </td>
</tr>

<tr>

<td colspan="2"><p align="center"><input type="reset"
name="retablir" value="- Retablir -" style="border: 1px solid #000000"> <input
type="submit" name="submit" value="- S'inscrire -" style="border: 1px solid #000000"></p>
</td>
</tr>
</table>
</center></div><p align="center"><font color="#FFFFFF" size="2">* Les champs
précédés d'une (*) sont obligatoires. Merci de les compléter</font></p>
<p align="center"><font size="2" color="#FFFFFF"><a href="index.php">
<font color="#FFFFFF">Retour à l'annuaire</font></a></font><br>
</p>
</form>

Dans cet annuaire, les inscrits seront de 2 catégories : ceux qui seront élus au Conseil Syndical et ceux qui ne le seront pas. Les données sont recueillies dans "inserer.php" qui sert à alimenter une base de données.

Quand j'ai téléchargé puis installé ce script, j'ai remarqué que pour que l'inscription à l'annuaire soit validée, il fallait obligatoirement que le champ "photo" soit complété par celui qui souhaitait s'inscrire : donc upload obligatoire d'une photo.

Le formulaire tel que je l'ai modifié contient 3 parties. Il se trouve ici : http://www.sevben-telesecretariat.com/trombinoscope/ins.htm

Voici mes questions :

Le caractère obligatoire concernant l'upload de la photo doit exister mais seulement pour la partie basse du formulaire (seuls les membres du conseil syndical devront uploader une photo) et non pas pour l'ensemble du formulaire comme ça l'est actuellement.

Pourriez-vous m'indiquer s'il est possible de faire cela ? Quelle partie du code du formulaire d'inscription devrais-je modifier ?

Faut-il faire une requête et, si oui, de quelle manière ? Devrais-je obligatoirement modifier les autres pages php qui sont "inserer.php", "index.php" et la partie admin ?

Merci à l'avance pour votre aide et bravo pour ce forum. :D

Posté

C'est dans "inserer.php" qu'il faudra que tu testes si c'est un élu ou pas : si oui, alors tu testeras si la photo a bien été envoyée, si non tu passeras le test.

Posté
C'est dans "inserer.php" qu'il faudra que tu testes si c'est un élu ou pas : si oui, alors tu testeras si la photo a bien été envoyée, si non tu passeras le test.

<{POST_SNAPBACK}>

Merci Seb pour ta réponse.

Oui j'avais saisi qu'il y avait une histoire de "condition" dans inserer.php à inclure. Le problème c'est que je ne sais pas vraiment comment coder à ce niveau. :blink:

Ton aide ou toute aide me serait très précieuse. Voici le code de la page "inserer.php" dans l'état actuel :

<?
if(empty($prenom) OR empty($nom))
{
echo"Aucun champ ne peut rester vide.<br><a href='java script:history.back(1)'>Cliquez ici pour revenir en arrière</a>";
exit();

}

include "config.php3";
//on se connecte à la base de donnée
$dbconnect = mysql_connect($host,$login,$pass) or die ("erreur de connexion");
//on selectionne votre base
mysql_select_db($db,$dbconnect) or die ("erreur de connexion base");

//on défini une date
$date = date("d-m-Y");


if(exif_imagetype($pseudo_photo))
{
if (is_writeable ("photo"))
{
copy($pseudo_photo, "photo/$pseudo_photo_name");
print "Votre inscription à bien été enregistrée elle sera confirmée par l'administrateur<br><a href='index.php'>Retour à l'annuaire </a> ";

//on insère le contenu du formulaire
mysql_query("INSERT INTO pseudo (id,date,civilite,prenom,nom,statut,batiment,etage, telephone,email,tel_fixe,
tel_portable,fax,adresse_mail,membre_conseil,annee,derniere,pseudo_photo) VALUES ('','$date','$civilite','$prenom','$nom','$statut',
'$batiment','$etage','$telephone','$email','$tel_fixe', '$tel_portable','$fax','$adresse_mail','$membre_conseil','$annee',
'$derniere','$pseudo_photo_name') ") or die ("erreur insert ".mysql_error());
}
}

//et on referme la connexion
mysql_close();

if(!exif_imagetype($pseudo_photo))
{
// si pas une image
echo "Ceci n'est pas une image !<br><a href='java script:history.back(1)'>Cliquez ici pour revenir en arrière</a>";
}


?>
<br>

Y a juste ce point d'upload obligatoire uniquement pour les membres du conseil qui me bloque. Sinon, tout marche parfaitement.

Merci à l'avance pour vos réponses et bonne journée à tous !

;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...