Parse error impossible a trouver !!

Résolu/Fermé
griese Messages postés 139 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 27 février 2008 - 5 juin 2006 à 10:49
griese Messages postés 139 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 27 février 2008 - 5 juin 2006 à 16:12
Bonjour à tous,
Je suis en stage où je développe une application intranet. Malheureusement, je connais une petite d'execution d'une de mes pages. C'est une parse error. Voici la ligne concernée :
<script>isDate($datet);</script>

et voici le contenu de la fonction php :
function isDate(d) {
    // Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa

    if (d == "") // si la variable est vide on retourne faux
        return false;

    e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");

    if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date
        return false; // Si pas bon, retourne faux

    // On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
    j = parseInt(d.split("/")[0], 10); // jour
    m = parseInt(d.split("/")[1], 10); // mois
    a = parseInt(d.split("/")[2], 10); // année

    // Si l'année n'est composée que de 2 chiffres on complète automatiquement
    if (a < 1000) {
        if (a < 89)    a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
        else a+=1900;
    }

    // Définition du dernier jour de février
    // Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
    if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
    else fev = 28;

    // Nombre de jours pour chaque mois
    nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

    // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
    return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}

Quelqu'un aurait(il une idée ? Parce que là je sais plus quoi faire.
Merci de votre aide

7 réponses

PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
5 juin 2006 à 13:56
Bjr

Ca semble normale dans la mesure où ta fct isDate() n'est pas écrite en PHP mais en JavaScript ! LOL !

Soit tu l'appelles depuis le navigateur, soit tu l'adaptes en PHP

0
griese Messages postés 139 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 27 février 2008 119
5 juin 2006 à 14:20
D'accord, mais pourquoi dans cette meme page j'ai une autre fonction javascript qui fonctionne très bien elle ?
0
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
5 juin 2006 à 14:54
Ben, je sais pas faudrait que tu montres le code en question

Mais déjà :

<script>isDate($datet);</script>

Javascript ou PHP il faut choisir ?
Pourquoi $datet préfixé avec un $ alors qu'ici on est dans la partie Javascript

0
griese Messages postés 139 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 27 février 2008 119
5 juin 2006 à 14:59
Merci de te pencher sur mon probleme,
En fait, la fonction java me permet de vérifier si une date, saisie dans un formulaire, est valide ou non. La date à vérifier est donc $date. A moins que tu connaise un autre moyen de récupérer une variable php dans une fonction javascript.
Pour ce qui est de mon autre fonction java voici le code :
function dT(){
    if(fr==0){
        fr=1;
        document.write(" " + '<span id="tP">'+eval(oT)+'</span>');
    }
    document.getElementById("tP").innerHTML =  eval(oT);
    setTimeout('dT()',1000);
}
var fr=0;
oT="tS().getHours()+':'+lZ(tS().getMinutes())+':'+lZ(tS().getSeconds())";
</script>

et voici comment elle est appelé dans ma page php :
<script>dT();</script>


et ça marche très bien.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
5 juin 2006 à 15:09
Oui la ftc dT() fonctionne car tu ne passes aucun paramètre

As-tu essayé :
<script>isDate("<php echo $datet; ?>");</script> 

0
griese Messages postés 139 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 27 février 2008 119
5 juin 2006 à 15:22
Merci pour ta proposition mais le problème est toujours le même.
0
griese Messages postés 139 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 27 février 2008 119
5 juin 2006 à 16:12
C'est bon, j'ai résolu mon problème de parse error, il suffisait de rajouter <? juste au dessus de <script>isdate($date)</script> tout bêtement. Par contre je crois que ma fonction javascript ne fonctionne pas car qu'importe la date que je saisie, elle est toujours correct.
Merci quand même de ton aide.
0