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
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 1
    Points
    1
    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
    Points : 3 212
    Points
    3 212
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    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 ?

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    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
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

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

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 1
    Points
    1
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    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){

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 1
    Points
    1
    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
    Points : 3 212
    Points
    3 212
    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