Problème de définition de variable

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de définition de variable

par yoggiz » 22 mars 2006, 16:32

Merci à tous.... j'ai fait un bon ménage et changé quelques trucs selon vos indications et ca marche!!!!

par fab » 19 mars 2006, 02:05

remplace $PHP_SELF par $_SERVER['PHP_SELF']

par Truc » 19 mars 2006, 02:03

je vais détailler un peu et proposer une solution après:
  1. Ce code est "Horrible" ! impossible de le lire, indente correctement ce ne sera que bénéfique pour toi.
  2. $instant doit être la variable qui correspond à la liste... donc sous entends validation du formulaire et donc $_POST['instant']
  3. la liste n'est jamais fermée, pas de </select>
  4. Des balises sont ouvertes => $mois $annee<\td><\tr>
  5. dans le même style tu utilse des \ au lieu de / pour la fermeture de balises
J'en passe certainement.

Donc la solution est......... revois tous ces points ou cherche un autre calendrier sur le Forum ou google. :wink:

par yoggiz » 19 mars 2006, 00:57

En fait... non ca-marche pas... je suis supposé obtenir un calendrier... là j'ai juste une liste de choix de mois avec l,année qui apparaît?!?!?! J,ai tu oublié un truc ou quoi? :roll:

par BeRoots » 19 mars 2006, 00:55

en faite fait comme ça:
<form action="$PHP_SELF" method="POST">
<select name="instant" size="1">

<?php
$date_inf=mktime(0,0,0,date("n")-6, date("j"), date("Y"));
$date_sup=mktime(0,0,0,date("n")+12, date("j"), date("Y"));
// ect ect ....
BeRoots, qui ne sait plus si il faut editer ou repondre, alors il repond :wink:

par yoggiz » 19 mars 2006, 00:54

Ouais... je crois que sa marche.... avec un bon coup de balais dans tout le code... :P

par BeRoots » 19 mars 2006, 00:51

bof c'est pas tres propre :?
regarde mon precedent post, j'ai reussi à editer ;)

par yoggiz » 19 mars 2006, 00:49

Marche pas... en fait je n'ai pas d'autre programme php avant... je fais juste ouvrir mes balises <?

Voici ce que j'ai fait selon tes indications...c'est correct?!?!
<?
<form action=\"$PHP_SELF\" method=\"POST\">
<select name="instant" size="1">
$date_inf=mktime(0,0,0,date("n")-6, date("j"), date("Y"));
$date_sup=mktime(0,0,0,date("n")+12, date("j"), date("Y"));
$mois_franc=array('','Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre');
for($variable_mois=-6,$variable_tableau=date("n",$date_inf);
$variable_mois<=12;
$variable_mois++,$variable_tableau++)
{if($variable_tableau==13)
{$variable_tableau=1;
<?

par BeRoots » 19 mars 2006, 00:48

il manque le = à action ;)

sinon il faut que tu mette avant et que tu vire le echo

j'espere que tu ma comprit car j'arrive pas à editer le code de mon precedent post :cry:

par yoggiz » 19 mars 2006, 00:41

ok pour les lignes 19 et 20... j'ai trouvé le bobo

reste mon php_self ?!?!?!?!? :cry:

par BeRoots » 19 mars 2006, 00:41

pour ton premier message d'erreur, fait plutot ceci si possible:
<form action="$PHP_SELF" method="POST">
<select name="instant" size="1">

<?php
$date_inf=mktime(0,0,0,date("n")-6, date("j"), date("Y"));
$date_sup=mktime(0,0,0,date("n")+12, date("j"), date("Y")); 
// ect ect ....

Problème de définition de variable

par yoggiz » 19 mars 2006, 00:36

Je suis en train de monter un calendrier et j'ai un bug à la deuxième ligne.

Notice: Undefined variable: PHP_SELF in c:\program files\easyphp1-8\www\agenda.php on line 2

et des bugs multiples au ligne 19 et 20:
Undefined variables chronos in sur ligne 19 et Undefined variables mois_courant sur la ligne 20

Quelqu'un a une petite idée?! Voici le code:

<?
echo "<form action \"$PHP_SELF\" method=\"POST\">";
echo '<select name="instant" size="1">';
$date_inf=mktime(0,0,0,date("n")-6, date("j"), date("Y"));
$date_sup=mktime(0,0,0,date("n")+12, date("j"), date("Y"));
$mois_franc=array('','Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre');
for($variable_mois=-6,$variable_tableau=date("n",$date_inf);
$variable_mois<=12;
$variable_mois++,$variable_tableau++)
{if($variable_tableau==13)
{$variable_tableau=1;
}
$chrono=mktime(0,0,0,date("n")+$variable_mois,date("j"),date("Y"));
echo"<option value=\"$chronos\"";
if(!$variable_mois)
{echo ' selected';
}
$mois_couranr=$mois_franc["$variable_tableau"];
$an_courant=date("Y",$chronos);
echo">$mois_courant ${an_courant}</option>";
}
$mois=date("n","$instant");
$mois_en_franc=$mois_franc["$mois"];
$annee=date("Y","$instant");
$taille_calendrier="40%";
?>

<?
echo "<table width=$taille_calendrier><tr><td colspan=\"7\">
$mois $annee<\td<\tr>";
echo "<tr><td>lundi<\td><td>mardi<\td><td>mercredi<\td><td>jeudi<\td><td>vendredi<\td><td>samedi<\td><td>dimanche<\td><\tr>";
for ($jours=0,$cellules=1;$cellules<36; $cellules++)
{$jour_semaine=$cellules%7;
if ($jour_semaine==1)
{echo "<tr>";
}
/////////la ligne commence le lundi/////////
if(date("j")==$jours && date("n")==$mois && date("Y")==$annee)
{echo "<td align=\"center\" bgcolor=\#FFFF66\">";
}
if ($cellules<8 && $jour_semaine==date("w", mktime(0,0,0,$mois, 1,$annee)))
{$jours=1;
}
//cette condition initialise la variable jours/////////
if ($jours>0 && $jours<=date("t",$instant))
{echo $jours;}
else
{echo "&nbsp;";
}

echo "</td>";
if ($jour_semaine==0)
{echo "</tr>";
}
/////////le dimanche finit la ligne/////////
if ($jours>0)
{$jours++;}
if (date("t",$instant)==$jours && $jour_semaine==0)
{break;}
/*nous prevoyons le cas où le mois de février de 28 jours commence un lundi.
/le break évite d'afficher une ligne de case vides*/
}
echo "<table>";
?>