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

Langage PHP Discussion :

Case à cocher : poser des conditions


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 171
    Points : 71
    Points
    71
    Par défaut Case à cocher : poser des conditions
    Bonjour,

    je sais faire des pages html simple mais la je m'attaque à quelque chose que je n'avais jamais fait auparavant : utiliser des cases à cocher et bouton valider.

    Quand je click sur "valider" ca devait m'ammener sur une page .php mais page perso orange ne gere pas les php gratuitement...

    J'ai donc renommé ma page resultat.php en .html (et donc en modifiant dans ma balise FORM le action="resultat.html"

    Donc pour etre synthétique :

    http://pagesperso-orange.fr/compte-r...biochimie.html

    voici ma page. Je souhaite quand quand je coche la premiere case à cocher et que je valide, j'obtienne une page contenant mon image appelée bercher.jpg, et par exemple quand je coche mes 2 premieres cases à cocher, j'obtienne mon image nommée becher+burette.jpg

    Donc qu'est ce qui ne va pas dans ma page biochimie.html et qu'est ce qui va encore moins dans ma page résultat.html (si c'est possible de faire ce que je souhaite avec du html et non avec du php que orange ne gere pas...) ?

    Un énorme merci à celui qui pourra m'aider car les 95% de mon site va tourner autour de ca...

  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir et bienvenu sur le forum

    Ce que tu demande n'est pas possible en html, qui est un langage statique qui ne permet pas d'interaction avec le visiteur...

    Le php aurait en effet été très pratique pour faire cela, ne peut tu pas changer d'hébergeur ? Free pas exemple ?

    Essaye peut être avec du javascript, mais n'y connaissant rien, je ne sais pas si c'est possible...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 171
    Points : 71
    Points
    71
    Par défaut
    ok je viens de comprendre l'utilité du php

    Je vais donc me trouver un hebergeur gratis php (mais pas free !! Je suis un ancien client mécontent^^)

    Donc est ce que quelqun aurait la bonté de pouvoir m'indiquer les lignes de codes à taper pour arriver à faire ce que je souhaite faire ? Car j'ai essayé plusieurs solutions mais je n'y arrive pas

    Mercii

  4. #4
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Tu peut déjà une fois commencer à lire les tutoriels sur le sujet : http://php.developpez.com/cours/?pag...ge#formulaires.

    Et si tu n'y arrives pas, alors nous poster ton code et nous dire ce qui ne fonctionne pas exactement...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 171
    Points : 71
    Points
    71
    Par défaut
    Voila, j'ai bouffé du tuto et on peut dire que j'ai avancé : j'ai reussi à coder mes cases à cocher, mon bouton valider, et j'ai meme reussi à générer des images avec du texte en GD qui vient s'ajouter dessus . Pour beaucoup d'entre vous c'est tres facile, mais il y a 4 jours je ne connaissais que le HTML et uniquement ca .

    Par contre la je me frotte à un probleme qui se regle a mon avis en un seul mot (que je ne connais pas et que je n'arrive pas a trouver.

    Je vous met donc dans le contexte :
    J'ai une page biochimie.html qui contient des schémas avec des cases à cocher. On coche une case (ou plusieur si on veut un association de schéma), on click sur valider, et la ca nous amene a une page resultat.php :

    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
    <?php
     
     
    $materiel1 = (isset($_GET['materiel1']) && strlen($_GET['materiel1'])>0);
    $materiel2 = (isset($_GET['materiel2']) && strlen($_GET['materiel2'])>0);
    $materiel3 = (isset($_GET['materiel3']) && strlen($_GET['materiel3'])>0);
     
     
    if ($materiel1 && !$materiel2 && !$materiel3)
    {
    echo '<img src="img-test/becher commentaire.jpg"/>';
    }
     
    if ($materiel1 && $materiel2 && !$materiel3)
    {
    echo '<img src="img-test/burette+becher.jpg"/>';
    }
     
    if (!$materiel1 && $materiel2 && $materiel3)
    {
    echo '<img src="img-test/ballon+burette.jpg"/>';
    }
    if (!$materiel1 && !$materiel2 && $materiel3)
    {
    echo '<img src="img-test/ballon.jpg"/>';
    }
     
    ?>
    Comme vous pouvez le voir, en fonction de ma ou mes cases cochées, resultat.php me génère la bon schéma. Jusque la tout marche !

    Cependant vu que je veux faire entrer du texte sur mon schéma (car en dessous des cases a cocher il y a des zones de texte et ces zones de texte devront apparaitre sur le schéma, mais je l'ia as encore codé), j'ai du faire du GD (je sais pas si ca se dit comme ca) donc pour chaque schéma généré j'ai créé une nouvelle page php (ex : ballon+burette.php , burette+becher.php, ...) comme nous le voyons ci dessous, avec comme exemple ballon.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    header('Content-type: image/png');
    /* ligne à modifier selon votre installation */
    $file = 'ballon.jpg'; 
    $image = imagecreatefromjpeg($file); //ouverture de l'image jpeg
     
    $couleur = imagecolorallocate ($image, 0, 0,0);//black text 
     
    imagestring($image, 3, 5, 10, "test", $couleur); //on écrit horizontalement
     
    imagepng($image);
    imagedestroy($image);
    ?>
    ---->Donc en gros, ma page resultat.php ne serait qu'une page de redirection, qui va me diriger vers ballons.php si j'avais coché uniquement le ballon (if (!$materiel1 && !$materiel2 && $materiel3)

    Alors que faut il mettre dans ma page resultat.php à la place de ' echo <img src="img-test/ballon.jpg"/>'; pour qu'il m'ouvre ma page ballon.php au lieu qu'il m'ouvre mon image ballon.jpg ?

    Je sais, c'est tout bete, mais la je dois dire je bloque. Trop travaillé sur mon site ces 4 derniers jours je commence à avoir les idées confuses..

    Merci beaucoup

  6. #6
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    Tu as raison, en un mot : header

    Ca te permet de faire une redirection vers le bon fichier...

    Mais bon pourquoi ne pas faire tout ça dans un seul fichier resultat.php par exemple avec des conditions :

    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
    <?php
    header('Content-type: image/png');
    /* ligne à modifier selon votre installation */
     
    if ($materiel1 && !$materiel2 && !$materiel3)
    {
    $file = 'ballon.jpg';
    } elseif ($materiel1 && $materiel2 && !$materiel3)
    {
    $file = 'autrechose.jpg';
    } elseif (!$materiel1 && $materiel2 && $materiel3)
    {
    $file = 'autrechose2.jpg';
    } elseif (!$materiel1 && !$materiel2 && $materiel3)
    {
    $file = 'autrechose3.jpg';
    }
     
     
    $image = imagecreatefromjpeg($file); //ouverture de l'image jpeg
     
    $couleur = imagecolorallocate ($image, 0, 0,0);//black text 
     
    imagestring($image, 3, 5, 10, "test", $couleur); //on écrit horizontalement
     
    imagepng($image);
    imagedestroy($image);
    ?>
    Et de même avec d'autres variables si nécessaire...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 171
    Points : 71
    Points
    71
    Par défaut
    Grand merci pour cette rapidité et cette exactitude (j'ai juste rajouté la ligne des 3 $materiel pour que ca marche).
    Grace à toi je n'aurais pas a faire de redirection pour chaque résultat et donc pas de page pour chaque resultat.
    Je pensais que ca allait etre beaucoup plus dur que cela, c'est pour ca que j'avais choisi de faire une redirection.

    Mais (oui, désolé), il y a une ultime chose que je n'arrive pas a faire : dans ma page biochimie.html j'ai 2 zones de texte où les utilisateurs peuvent taper un commentaire, et ce commentaire est censé s'afficher sur l'image générée dans résultat.php

    Voici la zone de texte dans biochimie.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     <td width="161" height="100"><textarea name="textfield2" rows="5" id="textfield2"></textarea></td>
      </tr>
      <tr>
        <td><textarea name="textfield3" rows="5" id="textfield"></textarea></td>
      </tr>
    </table>
     
          <div align="left"><h2>Remarque : Si votre schéma n'est constitué que d'un seul matériel, peu importe la zone choisie.<br></h2>
          </div>
              <input name="button2" id="button2" value="Valider" type="submit">
              <br>
     
      </form>
    Donc ils s'appellent textfield2 et 3.

    Dans mon resultat.php, actuellement j'ai juste mis ca pour ce texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $couleur = imagecolorallocate ($image, 0, 0,0);//black text 
     
    imagestring($image, 3, 40, 45, "test", $couleur); 
    imagestring($image, 3, 40, 90, "test", $couleur);
    Donc ce qui marche, c'est que j'ai bien 2 fois "test" de marqué sur mon image, aux endroits que j'ai définis.

    Mais comment remplacer ce texte "test" par le texte tapé dans mes 2 zones de texte (présente dans biochimie.html) ?

    Ca fait 3 heures que j'essaye divers choses et que je cherche sur le net

    C'est la derniere étape essentielle pour le fonctionnement de mon site en plus (je vous laisserais un lien des que je le mettrais en ligne si ca vous interesse)

    Merci d'avance

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 171
    Points : 71
    Points
    71
    Par défaut
    $_GET['textfield2']

    Voila c'est résolu.

    Merci à tous

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

Discussions similaires

  1. [AC-2003] etablir une condition avec des cases à cocher
    Par chuspyto dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/08/2012, 16h36
  2. Poser des conditions pour affichage.
    Par bobosh dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 11/08/2008, 13h38
  3. Réponses: 15
    Dernier message: 29/04/2008, 07h45
  4. Réponses: 6
    Dernier message: 08/04/2008, 13h17
  5. Réponses: 5
    Dernier message: 25/11/2004, 09h11

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