[Formulaire d'inscript] Upload de photos selon la catégorie d'inscrits
Hors lignePrisma Le 15/05/2006 à 20:10 Profil de Prisma Configuration de Prisma

Bonjour à tous. Je suis toute nouvelle et surtout archi débutante en php...

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 à l'adresse suivante : [url]http://pilotetest.free.fr/membre/[/url] 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 : [url]http://pilotetest.free.fr/membre/ins.htm[/url]

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>&nbsp;<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>&nbsp;<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">
&nbsp;</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">&nbsp;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%">&nbsp;<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%">&nbsp;</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 : [url]http://www.sevben-telesecretariat.com/trombinoscope/ins.htm[/url]

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.  

Prisma
Hors ligneAnthony Le 16/05/2006 à 22:47 Profil de Anthony Configuration de Anthony

Fou du volant
Salut,

oui c'est possible, il suffit de rajouter dans le code PHP une condition qui englobe celle qui vérifie si une photo a été uploadée.

En gros là tu verras ton code comme ça :

SI la photo a été uploadée alors ON CONTINUE
SINON on avertit "vous devez uplaoder une photo"

bah tu devras modifier ça comme ça :

SI on est membre du conseil syndical
         SI la photo a ete uploadee : c'est ok
         SINON message "vous devez uploader une photo"
SINON
    c'est ok meme si il n'y a pas de photo qui a été envoyée
--

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels