PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Changement de CSS en fonction de l'heure... » 29-03-2011 16:05:30

xTG a écrit :

Pourquoi pas tout simplement :

$heure = date('G');
echo "<link href=\"css_time/$heure.css\" rel=\"stylesheet\" type=\"text/css\" />" ;

Avec des fichiers :
0.css
1.css
...
12.css
...
23.css

Wow, merci xTG!
Cela fonctionne impeccablement! Je savais pas qu'on pouvait appeler dynamiquement le nom d'un fichier à charger!

Everything is fine!

A plus et encore merci!
colinus

#2 Re : Forum Général PHP » Changement de CSS en fonction de l'heure... » 29-03-2011 16:05:30

Merci!
En fait je souhaite que:
- lorsqu'il est entre 12h et 13h sur le serveur, ce soit la feuille 12.css qui soit chargée
- lorsqu'il est entre 13h et 14h sur le serveur, ce soit la feuille 13.css qui soir chargée,
- et ainsi de suite, en boucle de 0h à 23h.

Mais j'arrive pas à me figurer comment coder ça.
Si je mets seulement des if:

if($heure>12 && $heure < 13){
    echo "<link href=\"http://www.cafedelapaix.ch/css_time/12.css\" rel=\"stylesheet\" type=\"text/css\" />" ;
    }

pour chaque tranche d'heure, ça ne charge pas la feuille css.

Le

else

est-il obligatoire dès que l'on a un

if

?

Au secours!
merci....

colinus

#3 Re : Forum Général PHP » Changement de CSS en fonction de l'heure... » 29-03-2011 16:05:30

Encore une petite question:
comment dois-je faire pour indiquer au code que si l'heure du serveur est (p. ex.) plus grande que 01 mais plus petite que 02, il doit charger la feuille css 01.css?

Je suppose faire comme ceci, mais aucune idée si ça fonctionne:

<?php
$heure = date('G');  
switch ($heure) {
// entre 01 et 02 //
case $heure > 01 : echo "<link href=\"http://www.tame.ch/css_time/01.css\" rel=\"stylesheet\" type=\"text/css\" />" ; break;
case $heure < 02 : echo "<link href=\"http://www.tame.ch/css_time/01.css\" rel=\"stylesheet\" type=\"text/css\" />" ; break;
// entre 02 et 03 //
case $heure > 02 : echo "<link href=\"http://www.tame.ch/css_time/02.css\" rel=\"stylesheet\" type=\"text/css\" />" ; break;
case $heure < 03 : echo "<link href=\"http://www.tame.ch/css_time/02.css\" rel=\"stylesheet\" type=\"text/css\" />" ; break;}
?>

Une idée? Merci!

colinus

#4 Re : Forum Général PHP » Changement de CSS en fonction de l'heure... » 29-03-2011 16:05:30

Ooops!
Fausse alerte! Je n'avais pas placé ma balise php au bon endroit... Comme quoi, aller se coucher tôt sans avoir trop picolé, ça aide! hmm

#5 Forum Général PHP » Changement de CSS en fonction de l'heure... » 29-03-2011 16:05:30

colinus
Réponses : 8

Hello tous!
Je reviens vers vous avec un petit souci...
J'ai besoin de faire une page web qui selon l'heure charge un style CSS différent.
J'ai ce code:

<?php
$heure = date('G');  
switch ($heure) {
case $heure < 16 : echo "<link href=\"css_time/12.css\" rel=\"stylesheet\" type=\"text/css\" />" ; break;  
case $heure >= 16 : echo "<link href=\"css_time/06.css\" rel=\"stylesheet\" type=\"text/css\" />" ; break; }
?>

Au chargement de la page rien ne s'affiche...
Un idée?
Merci à tous!

colinus

#6 Re : Forum Général PHP » pb avec mon code... » 22-03-2011 10:24:50

Maljuna Kris a écrit :

Tu changes la value

Yesssss!
It works!

Merci mille fois à tous et en particulier à Kris pour votre aide!

colinus

ps: je risque de revenir rapidement ici...

#7 Re : Forum Général PHP » pb avec mon code... » 22-03-2011 10:24:50

Ouche... avec ce code j'arrive a avoir une différence selon que la case est cochée ou pas:

$showroom = isset($_POST['showroom']) ? $_POST['showroom'] : "Aucun choix sélectionné";

J'ai soit "showroom" (si la case est cochée) soit "aucun choix sélectionné" (si la case est décochée)

C'est donc presque bon!!

Dernière question: comment faire pour qu'au lieu de "showroom" j'aie "oui" dans le résultat?
Je ne sais pas que modifier dans le code php ci-dessus, pour autant que ce soit ici et non dans le formulaire en html....

Aller pitié! Demain je m'achète un GROS bouquin sur le PHP!

Merci les gars!

#8 Re : Forum Général PHP » pb avec mon code... » 22-03-2011 10:24:50

Maljuna Kris a écrit :

Saluton,
Il faudrait voir le code HTML du formulaire qui contient la checkbox.

Yes, voici donc le code html:

<td align="left" valign="top"><input name="présentation oui" type="checkbox" id="showroom" value="showroom" /></td>
 

J'avoue honteusement que je m'embrouille entre le "input name", "id" et "value"....

Si besoin le code complet du formulaire html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
<link href="/css/tab2.css" rel="stylesheet" type="text/css" />
</head>

<body>


<form action="traitement_formulaire2.php" method="post" name="contact" id="contact">
  <p align="center" class="Style15" style="margin-top:5px;">formulaire bidon pour test</p>
      <table width="85%" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td colspan="3" class="typo_article">        
          <div align="left">
            <input name="nom" type="text" class="typo_form" id="nom" tabindex="1" value="votre nom" size="80" maxlength="40"/>
            <input name="email" type="text" class="typo_form" id="email" tabindex="4" value="votre adresse email" size="80"/>
            <textarea name="message" cols="80" rows="9" class="typo_form" id="message" tabindex="6">votre message</textarea>
          </div></td>
        </tr>
                <tr>
                  <td width="192" valign="top" class="typo_article">recevoir une copie?</td>
                  <td width="73"><span class="typo_article">
                    <input name="copie" type="radio" id="copie_2" value="oui" checked="checked" />
Oui</span></td>
                  <td width="280"><span class="typo_article">
                    <input type="radio" name="copie" value="non" id="copie_1" />
Non</span></td>
                </tr>
                <tr>
                  <td colspan="3" valign="top" class="typo_article">Comment avez-vous connu notre entreprise ?</td>
                </tr>
                <tr>
                  <td colspan="3" valign="top" class="typo_article"><table width="100%" height="89" border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td width="25" align="left" valign="top"><label class="typo_article">
                        <input type="radio" name="radio" id="site web" value="site web" />
                      </label></td>
                      <td width="190" align="left" valign="top"><label class="typo_article">depuis un site web</label></td>
                      <td width="25" align="left" valign="top"><label>
                        <input type="radio" name="radio" id="moteur recherche" value="moteur recherche" />
                      </label></td>
                      <td width="274" align="left" valign="top"><label>par un moteur de recherche</label></td>
                    </tr>
                    <tr>
                      <td align="left" valign="top"><input type="radio" name="radio" id="fontaine" value="fontaine" /></td>
                      <td align="left" valign="top">par une fontaine <span class="exergue_article">ecopotable</span></td>
                      <td align="left" valign="top"><input type="radio" name="radio" id="autre" value="autre" /></td>
                      <td align="left" valign="top">autre</td>
                    </tr>
                    <tr>
                      <td align="left" valign="top"><input name="présentation oui" type="checkbox" id="showroom" value="showroom" /></td>
                      <td align="left" valign="top">je désire une présentation dans vos locaux</td>
                      <td rowspan="2" align="left" valign="top"> </td>
                      <td rowspan="2" align="left" valign="top"><textarea name="autre" cols="36" rows="4" class="typo_form"id="autre2" onfocus="if(this.value=='précisez svp')this.value=''" onblur="if(this.value=='')this.value='précisez svp'" ;=";">précisez svp</textarea></td>
                    </tr>
                    <tr>
                      <td colspan="2" align="left" valign="top"> </td>
                    </tr>
                  </table></td>
                </tr>
        <tr>
        <td> </td>
        <td colspan="2"><input type="submit" name="envoi" value="Envoyer" />
          <input type="reset" name="envoi2" value="Effacer" /></td></tr>
  </table>
  </form>

</body>
</html>
 

Merci!!! Je suis quasiment suspendu à ton clavier... big_smile

#9 Re : Forum Général PHP » pb avec mon code... » 22-03-2011 10:24:50

Yep, merci Kris!
Plus d'erreur non plus, le formulaire est traité puis envoyé.
Mais c'est comme avant, quel que soit le statut de la checkbox, rien ne change dans ce qui est envoyé. Je reçois de tte manière le "aucun choix sélectionné", qu'elle soit cochée ou pas.

J'aimerais que:
- si la checkbox est cochée, je reçoive une valeur (p.ex. oui) dans le contenu du formulaire
- si elle est pas cochée, j'en reçoive une autre (p.ex. non)

Par conséquent, je vois pas comment se passer du if, non? Ou alors mes maigres connaissances sont déjà moisies?

Une fois ceci résolu, je m'attaquerai aux 4 radio bouton et au champ de texte optionel... argl!

Merci les gars!

#10 Re : Forum Général PHP » pb avec mon code... » 22-03-2011 10:24:50

Merci bien Pierrot,
c'est pas encore ça, ce coup ci plus d'erreur à l'envoi, par contre, avant l'envoi que je coche ou pas la case a cocher "showroom" ne change rien dans le contenu que je reçois...

Une idée?
Mon code actuel:


  // formulaire envoyé, on récupère tous les champs.
    $nom    = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
    $email    = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
    if (isset($_POST['showroom'])) {
                         $showroom = $_POST['showroom'];
                   }
                   else {
                         echo "Aucun choix sélectionné";
                 }
    $objet    = (isset($_POST['objet']))   ? Rec($_POST['objet'])   : 'message depuis le formulaire du site';
    $message  = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
    $copie  = (isset($_POST['copie'])) ? Rec($_POST['copie']) : '';

    // vérification des variables et de l'email ...
 

Merci!

#11 Forum Général PHP » pb avec mon code... » 22-03-2011 10:24:50

colinus
Réponses : 10

Hello tous!
Je suis nouveau sur le forum, et aussi en php, aussi j'implore votre clémence si ma question est "simple" ou mal formulée... amen!

Tant bien que mal, je tente de traiter un formulaire en html via une page php.
Tout fonctionnait nickel, jusqu'à ce que j'essaye d'ajouter le traitement d'une case à cocher. Quand je valide mon formulaire, j'ai l'erreur suivante:
Parse error: syntax error, unexpected T_IF in /home/www/4fbeef6536735cb3f1bc571d92d40de8/web/form/traitement_formulaire2.php on line 67

voici mes lignes n°67 à 70 de mon fichier php de traitement:

$showroom = if (isset($_POST['showroom'])) {print $_POST['showroom']; }
    else {
    echo "Aucun choix sélectionné";
    }

Ma case à cocher s'appelant "showroom".

Ci-dessous le code complet:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document sans titre</title>
</head>

<body>
<?php
 
  // destinataire du mail
  $destinataire = 'xxx@xxx.com';


  // copie à l'émetteur
  $copie = 'oui'; // 'oui' ou 'non'

  // Messages de confirmation du mail
  $message_envoye = 'ok_message.htm';
  $message_non_envoye = 'notok_message.htm';
  $message_erreur_formulaire = "Attention, pour continuer, vous devez <a href=\"contact.html\">envoyer le formulaire</a>.";
  $message_formulaire_invalide = 'nok_champs_form.htm';


  // test d'envoi du formulaire
  if (!isset($_POST['envoi']))
  {
  // si echec
    echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
  }
  else
  {
  /*
  * nettoyer et enregistrer le message
  */

    function Rec($text)
    {
      $text = trim($text); // supprime les espaces blancs en début et en fin de texte
      if (1 === get_magic_quotes_gpc())
      {
        $stripslashes = create_function('$txt', 'return stripslashes($txt);');
      }
      else
      {
        $stripslashes = create_function('$txt', 'return $txt;');
      }

      // magic quotes ?
      $text = $stripslashes($text);
      $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
      $text = nl2br($text);
      return $text;
    };

    /*
     * vérif email
     */

    function IsEmail($email)
    {
      $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
      return (eregi($pattern,$email)) ? true : false;
    };

    // formulaire envoyé, on récupère tous les champs.
    $nom    = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
    $email    = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
    $showroom = if (isset($_POST['showroom'])) {print $_POST['showroom']; }
    else {
    echo "Aucun choix sélectionné";
    }
    $objet    = (isset($_POST['objet']))   ? Rec($_POST['objet'])   : 'message depuis le formulaire du site';
    $message  = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
    $copie  = (isset($_POST['copie'])) ? Rec($_POST['copie']) : '';

    // vérification des variables et de l'email ...
    $email = (IsEmail($email)) ? $email : '';

    if (($nom != '') && ($email != '')&& ($message != ''))
    {
     
    // envoi du mail après constitution

    $headers = "Content-Type: text/html; charset=\"UTF-8\"\n".'From: '.$nom.' <'.$email.'>';
    $message = str_replace('\r\n','<br>',$message);
    $objet = str_replace("'","'",$objet);


  // envoyer une copie au visiteur ?
      if ($copie == 'oui')
      {
        $cible = $destinataire.','.$email;
      }
      else
      {
        $cible = $destinataire;
      };

    //constitution du corps du mail qui sera envoyé

    $message = 'Nom : '.$nom."<br>"
    .'email : '.$email."<br>"
    .'showroom : '.$showroom."<br>"
    .'Message : '.$message;

    // Envoi du mail

    if (mail($cible, $objet, $message, $headers))
      {
    header('Location: ar_message.htm');
      }
    else
      {
      header('Location: nok_message.htm');
      };
    }
    else
    {
    // une des 3 variables (ou plus) est vide ...
      header ('Location: nok_champs_form.htm');
    };
  };
    // fin du if (!isset($_POST['envoi']))

?>
</body>
</html>
 

C'est sûrement évident pour la majorité d'entre vous, mais pas du tout pour moi!

Une suggestion?

Merci!
colinus

Pied de page des forums

Propulsé par FluxBB