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 :

Soucis de codage php


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Femme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Soucis de codage php
    Bonjour,

    J'ai appris le PHP depuis un peu de temps, comme je pensais avoir bien tout compris je me suis mise a essayer de développer un site en PHP mais je bloque déjà et pourtant mon code me semble bon.

    J'ai une page d’accueil sur laquelle le visiteur doit dire si c'est un homme ou une femme, en cliquant sur la case "homme" ou "femme".

    Selon la réponse de l'internaute, je souhaite qu'il y est un message différent qui s'affiche.

    Pour cela j'ai créé une variable "$sexe" , si c'est un homme j'attribut à "$sexe" la valeur de 1, si c'est une femme j'attribut à "$sexe" la valeur de 2.

    Voici en gros mon code qui fonctionne pas:

    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
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <title>...</title>
    </head>
    <body>
    <?php
    if ($sexe==1) {
    jjksdjkjfjsf jsfjkfsfsjfsjsf jsfjkfskjfsjfksjfs jsfjfsjsfkjsf  (Texte de 10 lignes qui s'affiche)}
    }
    ?>
    if ($sexe==2) {
    jjksdjkjfjsf jsfjkfsfsjfsjsf jsfjkfskjfsjfksjfs jsfjfsjsfkjsf  (Texte de 20 lignes qui s'affiche)}
    }
    ?>
    </body>
    </html>

    Voila donc comme vous pouvez le voir le code est très propre:

    - si c'est un homme $sexe a pour valeur 1 et y'a un texte de 20 lignes qui s'affiche.

    - si c'est une femme $sexe a pour valeur 2 et y'a un autre texte de 20 lignes qui s'affiche.


    Pourtant y'a rien qui s'affiche, pouvez vous m'aider svp?

    Merci. Julie.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur PHP
    Inscrit en
    Mai 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 37
    Points : 76
    Points
    76
    Par défaut
    Bonjour Julie,

    quand tu fais un dans ta page la valeur de $sexe s'affiche ?

    Tu as bien des echo de tes textes de 10 ou 20 lignes ?

    JFFM

  3. #3
    Candidat au Club
    Femme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse.

    Oui la valeur 1 ou 2 est bien attribué $sexe.

    Si j'ai bien compris, tu me dis qu'il faut que je rajoute des echo à mes textes, en gros pour que ça marche mon code doit ressembler à ça:

    (J'ai mis en rouge les rajouts par rapport à l'ancien code)


    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
    29
    30
    31
    32
    <!DOCTYPE html>
     
    <html lang="fr">
     
    <head>
     
    <title>...</title>
     
    </head>
     
    <body>
     
    <?php
     
    if ($sexe==1) {
     
    jjksdjkjfjsf jsfjkfsfsjfsjsf jsfjkfskjfsjfksjfs jsfjfsjsfkjsf (Texte de 10 lignes qui s'affiche)}
    
    }
    ?>
     
     
    if ($sexe==2) {
     
    jjksdjkjfjsf jsfjkfsfsjfsjsf jsfjkfskjfsjfksjfs jsfjfsjsfkjsf (Texte de 20 lignes qui s'affiche)}
     
    }
    ?>
     
    </body>
     
    </html>

    C'est bien cela que tu m'as dit de rajouter?

    Merci. Julie

  4. #4
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Très propre, très propre, faut le dire vite !

    Essaie cela, qui est indenté, le fichier doit avoir une extension .php, tu dois te servir d'un outil de type wamp, tu dois affecter quelque part ta variable $sexe, qui ne s'affectera pas par télépathie... tu peux même lire mon tuto (signature).

    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
    <!DOCTYPE html>
    <html lang="fr">
    	<head>
    		<title>...</title>
    	</head>
    	<body>
    		<?php
    		$sexe=1;//tu affectes
    		if ($sexe==1) {
    			echo 'sexe 1';//tu affiches
    		}
    		if ($sexe==2) {
    			echo 'sexe 2';
    		}
    		?>
    	</body>
    </html>
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Candidat au Club
    Femme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour Dendrite,

    Merci pour ta réponse.

    L'affectation de $sexe a bien été effectué dans une étape avant.

    Merci également pour ton code mais il y a un petit soucis, tu as mit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($sexe==1) {
    	echo 'sexe 1';//tu affiches
    }

    Or, à la place de 'sexe 1' je dois mettre un texte de 20 lignes et donc echo' ' ne marche pas pour des long textes, j'ai essayé de mettre mon gros textes dans echo' ' mais ça ne fonctionne pas.

    Quel fonction utiliser quand le texte a afficher est gros?

    Merci. Julie

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur PHP
    Inscrit en
    Mai 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 37
    Points : 76
    Points
    76
    Par défaut
    Bonjour Julie,

    Je t'invite à lire ceci http://www.php.net/manual/fr/language.types.string.php

    La partie Syntaxe Heredoc plus particulièrement.

    Tu pourrais mettre dans un script particulier tes deux réponses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $repsex1 = <<<EOD
    10 lignes
    EOD;
    $repsex2 = <<<EOD
    20 lignes
    EOD;
    faire un include de ce script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php include '<scriptrepsex>.php'; ?>
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    		if ($sexe==1) {
    			echo $repsex1;//tu affiches
    		}
    		if ($sexe==2) {
    			echo $repsex2;
    		}
    Si tu as des questions n'hésite pas.

  7. #7
    Candidat au Club
    Femme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse Justforfunmedia.

    Si je comprend bien, Je met donc dans mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $repsex1 = <<<EOD
    MON TEXTE 1 DE 20 LIGNES
    EOD;
    $repsex2 = <<<EOD
    MON TEXTES 2 DE 20 LIGNES
    EOD;
    Par contre où placer ce code que tu m'a donné? Juste après la balise <body>?

    Je dois l'encadrer par <?php et ?> ?


    Merci. Julie.

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur PHP
    Inscrit en
    Mai 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 37
    Points : 76
    Points
    76
    Par défaut
    Salut,
    je crois que je suis parti un peu trop loin pour le moment.
    en fait pour faire simple tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    		<?php
    		if ($sexe==1) {
    			echo <<<EOD
    10 lignes
    EOD;
    		}
    		if ($sexe==2) {
    			echo <<<EOD
    20 lignes
    EOD;
    		}
    		?>
    Pas besoin de plus.
    Pour les grand texte utilisation de la syntaxe HEREDOC

    Si ça ne fonctionne toujours pas c'est autre chose.

    Attention pour la syntaxe HEREDOC la balise de fin EOD; doit être seule sur la ligne pas de tabulation ou espace avant ni après le point virgule.

  9. #9
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Et si heredoc est trop compliqué pour toi, une autre solution.
    Je comprends seulement que c'est ce que tu essayais de faire dans ton premier message.

    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
    <?php
    if ($sexe==1) { 
    //tu fermes le PHP pour repasser en html
    ?>
    <!--tu mets ici ton texte en pur html -->
     
     
    <?php
    }
    elseif($sexe==2){
    ?>
    <!--rebelotte en pur html -->
    <?php
    //ici par exemple, la balise php ne sert qu'à fermer proprement la condition
    }
    ?>
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  10. #10
    Candidat au Club
    Femme Profil pro
    Architecte réseau
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ca marche!

    Merci beaucoup Justforfunmedia et Dendrite pour votre aide, sans vous dans un mois j'y serais encore.

    Votre forum est vraiment top, vous avez su m'accompagner avec patience et gentillesse jusqu'à la réussite et en me répondant à chaque fois très rapidement et non pas 1 réponse par semaine comme ça arrive dans d'autre forum.

    Encore merci et je vous dis à bientôt.

    Julie.

Discussions similaires

  1. [MySQL] mon premier codage php/mysql
    Par rochti dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/04/2008, 11h38
  2. Réponses: 1
    Dernier message: 25/09/2007, 09h18
  3. Règles de codage PHP
    Par muslem dans le forum Langage
    Réponses: 5
    Dernier message: 18/09/2007, 18h08
  4. [POO] Souci POO avec php 4
    Par naunau dans le forum Langage
    Réponses: 7
    Dernier message: 12/12/2006, 13h23

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