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 :

Erreur de code dans les conditions d'un formulaire


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut Erreur de code dans les conditions d'un formulaire
    Salut à tous, j'ai une page d'ajout de rendez-vous et j'ai souhaité rajouter une fonctionnalité pour empêcher le rajout de RDV les samedi et dimanche. Voici mon 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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    if ($envoye)
    {
    $date_debut = date ("d/m/Y");
    $joursem = array('dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam');
    list($jour_debut, $mois_debut, $annee_debut) = explode('/', $date_debut);
    $timestamp = mktime (0, 0, 0, $mois_debut, $jour_debut, $annee_debut);
    $joursem[date("w",$timestamp)];
    if ($joursem <= 7);
    {
    if ($nom AND $description AND $categorie AND $jour_debut AND $mois_debut AND $an_debut AND $hour_deb AND $minute_deb)
    {
    	$date_debut=array("$an_debut","$mois_debut","$jour_debut");
    	$date_debut=implode("-",$date_debut);
    	$heure_deb=array("$hour_deb","$minute_deb","00");
    	$heure_deb=implode(":",$heure_deb);
    	$rdv_debut=array("$date_debut","heure_deb");
    	$rdv_debut=implode(" ",$rdv_debut);
     
    	if ($jour_fin AND $mois_fin AND $an_fin AND $hour_fin AND $minute_fin)
    	{
    		$date_fin=array("$an_fin","$mois_fin","$jour_fin");
    		$date_fin=implode("-",$date_fin);
    		$heure_fin=array("$hour_fin","$minute_fin","00");
    		$heure_fin=implode(":",$heure_fin);
    		$rdv_fin=array("$date_fin","heure_fin");
    		$rdv_fin=implode(" ",$rdv_fin);
    	}
    	else
    	{
    		$rdv_fin=$rdv_debut;
    	}
    	if ($url == "http://")
    	{
    		$url="";
    	}
    	if (!$lien AND $url)
    	{
    		$lien=$url;
    	}
     
    	//SI MAGIC QUOTE EST DESACTIVE
    	if (!get_magic_quotes_gpc())
    	{
    		$nom=addslashes($nom);
    		$description=addslashes($description);
    		$contact=addslashes($contact);
    		$adresse=addslashes($adresse);
    		$lien=addslashes($lien);
    	}
    	//SUPPRESION DES TAGS HTML NON AUTORISES
    	$nom=strip_tags($nom,$tags);
    	$description=strip_tags($description,$tags);
    	$contact=strip_tags($contact,$tags);
    	$adresse=strip_tags($adresse,$tags);
    	//AJOUT DES SAUTS DE LIGNE
    	$description=nl2br($description);
    	$query="INSERT INTO $table_agenda 			(date_debut,date_fin,heure_deb,heure_fin,rdv_debut,rdv_fin,nom,description,categorie,contact,adresse,email,telephone,fax,lien,url,user,actif) VALUES ('$date_debut','$date_fin','$heure_deb','$heure_fin','$rdv_debut','$rdv_fin','$nom','$description','$categorie','$contact','$adresse','$email','$telephone','$fax','$lien','$url','$_SESSION[the_user]','$actif')";
    	$result=mysql_query($query);
    	$nom = stripslashes($nom);
    	echo "<p>L'&eacute;v&eacute;nement <b>$nom</b> a &eacute;t&eacute; ajout&eacute;.</p>";
    }
    else
    {
    	echo "<p><font color=\"red\">Erreur : merci de compl&eacute;ter tous les champs obligatoires.</font></p>";
    	$erreur="1";
    }
    }
    else
    {
    	echo "<p><font color=\"red\">Erreur : impossible de fixer un rendez-vous un dimanche.</font></p>";
    }
    }
    Et j'ai une erreur au niveau de l'avant-dernier else, pourtant la hiérarchie de mes if semble bonne.
    Merci d'avance pour votre aide.

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    au niveau des accolades ouvrantes/fermantes ca "semble" bon mais je peux me tromper
    c'est quoi l'erreur exacte?

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bonjour

    A part un ; en trop après le premier if (ce qui n'est pas une erreur critique, il me semble) je ne vois rien non plus.

    Pourrais-tu préciser ton erreur ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Ah bah si voila, y a un ; apres le if, du coup le else a la fin n'a aucun sens puisqu'il ne suit plus de if.
    Vive Celira

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut
    merci à tous, c'était con comme erreur, enfin je penserai à vérifier pour la suite.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut
    en revanche je ne sais pas si j'ai vu bon pour la condition pour le jour de la semaine parce que pour l'instant quelque soit le jour entré j'ai une erreur

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bon, je deviens vraiment douée : je repère des erreurs mêmes sans savoir que ça en est

    Je pense qu'il doit y avoir un souci sur ce bloc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $date_debut = date ("d/m/Y");
    $joursem = array('dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam');
    ...
    $joursem[date("w",$timestamp)];
    if ($joursem <= 7){
    ...
    }
    $joursem est un tableau qui contient les jours... donc il n'est pas comparable à un entier. M'est avis que tu devrais plutôt avoir quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $date_debut = date ("d/m/Y");
    $joursem = array('dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam');
    ...
    $jour=$joursem[date("w",$timestamp)];
    if ($jour <= 7){
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut
    Finalement j'ai changé mon code, j'avais une erreur monstre.
    Mais je voudrais extraire le numéro de jour de la semaine de $date_debut et le mémoriser dans $ferie, vous auriez une idée de la syntaxe?
    je pensais que c'était ça $ferie=$date_debut["weekday"]; mais ça semble de pas marcher

  9. #9
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Si tu utilises W dans le paramètre format (le premier) de la fonction date() tu récupères pour la date donnée le numéro de la semaine dans l'année. Exemple pour le numéro de semaine du 5 octobre 2007 :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $numSemaine = date("W", mktime(0,0,0,10,5,2007));

Discussions similaires

  1. erreur dans les conditions
    Par kayne dans le forum Langage
    Réponses: 2
    Dernier message: 20/12/2008, 18h01
  2. Erreur d'affichage dans les boite de dialogue windows
    Par DEVELSI dans le forum Windows
    Réponses: 3
    Dernier message: 26/06/2007, 08h31
  3. Opérateur dans les conditions
    Par ez3kiel dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/03/2007, 14h53
  4. Réponses: 4
    Dernier message: 23/11/2006, 22h05
  5. [Mail] Erreur de codage dans une condition
    Par Damned Poc dans le forum Langage
    Réponses: 4
    Dernier message: 05/11/2006, 00h29

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