[RESOLU] Call to a member function getTimestamp() on a non-object

Eléphanteau du PHP | 13 Messages

10 déc. 2013, 17:05

Bonjour à tous !

J'ai un petit problème avec mon formulaire d'envoi de mail... Ce formulaire est composé de checkbox, textarea, listes... et datepicker. Ce sont ces derniers qui me posent problème.
Quand j'envoie mon formulaire avec les champs datepicker vides, tout se passe bien.
Quand je l'envoie avec une date dans les datepicker, voilà l'erreur :

Code : Tout sélectionner

PHP Fatal error: Call to a member function getTimestamp() on a non-object in /var/www/template/mail.php on line 49
Malgré plusieurs tentatives, je ne suis pas encore parvenue à trouver la solution.. :(

Ci-dessous, un bout de mon code avec les datepicker. heure1/2 et minute1/2 sont des chiffres sélectionnables dans des listes.
$date1 = $_POST['datepicker']." ".$_POST['heure1'].":".$_POST['minute1'].":00";
$date2 = $_POST['datepicker2']." ".$_POST['heure2'].":".$_POST['minute2'];

$datepicket = $_POST['datepicker'];


echo toto;

// ------ TEST1 ------

//$TEST1 = DateTime::createFromFormat("d/m/Y H:i:s", $date1)->getTimestamp(); //Ligne originale
$TEST1 = DateTime::createFromFormat('d/m/Y H:i:s', '03/05/2011 16:33:00');
echo $date1->getTimestamp();

//$TEST1 = DateTime::createFromFormat("d/m/Y H:i:s", $date1)->date_timestamp_get($TEST1);

echo toto1;

// ------ TEST2 ------
//echo "<br>";
$TEST2 = DateTime::createFromFormat("d/m/Y H:i", $date2)->getTimestamp();

$diff_timestamp = $TEST2 - $TEST1;
Merci d'avance pour vos idées ! :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

11 déc. 2013, 00:18

salut,

$date1 n'est pas un objet mais une chaîne de caractères le message d'erreur est donc normal.

par contre $TEST1 devrait te donner satisfaction.



@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 13 Messages

11 déc. 2013, 10:26

Bonjour,

Merci pour ta réponse ! :)

Alors que faut-il mettre dans le getTimestamp ? Une date non ? Mon $date1 n'est pas une date après le passage dans createFromFormat ?

J'ai essayé de mettre d'autres choses, comme $TEST1 mais j'ai toujours la même erreur :?

Eléphanteau du PHP | 13 Messages

11 déc. 2013, 11:42

J'ai essayé une autre méthode, j'ai changé getTimestamp() par format('U'). L'erreur est différente :

Code : Tout sélectionner

PHP Fatal error: Call to a member function format() on a non-object in /var/www/template/mail.php on line 47
Je ne sais pas si ça peut aider.

Merci d'avance pour votre aide !

Eléphanteau du PHP | 13 Messages

11 déc. 2013, 15:20

Trouvé !

En fait, $date1 n'était pas conforme à une date à cause de la partie heure. Quand l'heure était en dessous de 10, elle n'était que sur un chiffre (5 au lieu de 05) et n'était donc pas accepté.
J'ai modifié ça et ça marche !