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 :

[Dates] erreur migration PHP4 a 5 sur $date=getdate


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Par défaut [Dates] erreur migration PHP4 a 5 sur $date=getdate
    Bonjour,

    Suite à la migration de php 4.4.8 à php 5.2.5

    j'ai le Pb suivant:


    Warning: getdate() expects parameter 1 to be long, string given in /home.10.9/cpsifran/www/test/croacroa/members/update.php on line 6
    et

    Warning: getdate() expects parameter 1 to be long, string given in /home.10.9/cpsifran/www/test/croacroa/index.php on line 111

    a la ligne 6 de update.php et a la ligne 111 de index.php il y a

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date=getdate($c[finish]);
    voici mon fichier update.php pour plus de compréhensions

    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
    <?php
    $db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("Erreur de connexion - subscribe");
    mysql_select_db($mysql_base,$db) or die ("erreur de connexion base");
    $req=mysql_query("SELECT * from members where id='$_SESSION[idu]'") or die("erreur selection members");
    $c=mysql_fetch_array($req);
    $date=getdate($c[finish]);
    if($date[year] >= date("Y") && $date[mon] >= date("m") && $date[mday] >= date("J") && $date[hours] >= date("H") && $date[minutes] >= date("i") && $date[seconds] >= date("s"))
    {
    	if($c[offre]=='lite' || $c[offre]=='pro')
    	{
    		$sql="UPDATE members Set version='$c[offre]', offre=''";
    		if($c[version]=='lite' || $c[offre]=='pro')
    		{$sql .= ", gbook='no', galley='no', forum='no'";}
    		mysql_query($sql) or die("erreur update abonnement");
    	}
    }
    mysql_close();
    ?>
    Merci d'avance pour l'aide

  2. #2
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    Salut, à première vu le problème ne doit pas provenir de la fonction getdate() elle même mais du contenu que tu lui donnes à savoir : $c[finish]

    (une petite parenthèse pour une meilleur gestion des tableaux il est vivement conseiller d'utiliser des cote $c['finish'] )

    N'as tu rien d'anormale dans le retour de ta requête ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Par défaut
    bonjour,



    N'as tu rien d'anormale dans le retour de ta requête ?

    je sais ça comment? je suis plus que débutant


    le code est pas de moi
    j'ai acheté le site mais il y a des erreurs depuis la mise a jour de php

  4. #4
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    La première chose que tu peux faire , c'est afficher à l'écran la valeur contenu dans le tableau ayant l'index 'finish', tu procèdes comme cela :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($c[finish]);
    La fonction getdate() fonctionne soit sans paramètre (dans ce cas la date du jour est utilisé) soit avec un paramètre : un timestamp
    Pour plus d'explication sur cette fonction
    function.getdate

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Par défaut
    voila ca réponce

  6. #6
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    Comme tu peux le voir une chaîne est en paramètre (string(0) "") alors qu'un int est attendu. Il faut que tu revois ta requête pour qu'elle retourne un int.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Erreur 3464 sur date
    Par Cambia dans le forum VBA Access
    Réponses: 16
    Dernier message: 06/08/2010, 09h43
  2. Faire un controle avec message d'erreur sur date
    Par manue514 dans le forum Débuter
    Réponses: 8
    Dernier message: 04/05/2009, 17h08
  3. Erreur sur date
    Par cashmoney dans le forum SQL
    Réponses: 8
    Dernier message: 15/01/2009, 13h09
  4. Migration PHP4 vers PHP5 sur sarge puis etch
    Par elspliffo dans le forum Debian
    Réponses: 2
    Dernier message: 28/06/2008, 00h23
  5. [Format Date] erreur sur insertion d'une date
    Par philobedo dans le forum SQL
    Réponses: 4
    Dernier message: 14/06/2005, 10h41

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