mkTime en parse error

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yannick Bogaert

Yannick Bogaert

20/03/2011 15:20:31
Quote Anchor link
Hallo allemaal,

ik wil gewoon een variabele gelijk waar
in men php kunnen zetten die de datum
van morgen weergeeft.

Nu lukt het me echter niet om met behulp van mktime
en .date het goed te krijgen, krijg telkens parse error.

Iemand een idee de code is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$tomorrow
= mktime(0,0,0,date("m"),date("d")+1,date("Y"));
$nextday = .date("d/m/Y", $tomorrow);
echo"$nextday";
?>


Dit lukt me wel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$tomorrow
= mktime(0,0,0,date("m"),date("d")+1,date("Y"));
echo "Operational status ".date("d/m/Y", $tomorrow);
?>
</p>

Maar zou het gewoon liever in apparte variabele hebben.
 
PHP hulp

PHP hulp

05/11/2024 11:52:39
 
Pim -

Pim -

20/03/2011 15:22:35
Quote Anchor link
Wat doet die punt voor date() daar?
 
- SanThe -

- SanThe -

20/03/2011 15:25:55
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo date('d-m-Y', time() + 24 * 60 * 60);
?>
 
Yannick Bogaert

Yannick Bogaert

20/03/2011 15:34:09
Quote Anchor link
Pim & SanThe: thanks.

Nog een extra vraagje,
waar haalt de code deze tijd?

Ik zie namelijk van ok code werkt en geeft 21/03/10 weer,
maar wanneer ik deze variable dan in een form dat via mail()
verstuurd wordt de datum plots 01/01/1970 is...

Raar...
 
Jan Koehoorn

Jan Koehoorn

20/03/2011 15:38:18
Quote Anchor link
Yannick Bogaert op 20/03/2011 15:34:09:
maar wanneer ik deze variable dan in een form dat via mail()
verstuurd wordt de datum plots 01/01/1970 is...

Je zult code moeten laten zien, anders kunnen we je niet helpen.
 
Yannick Bogaert

Yannick Bogaert

20/03/2011 15:50:54
Quote Anchor link
Jan,

wanneer ik deze code gebruik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$tomorrow
= mktime(0,0,0,date("m"),date("d")+1,date("Y"));
$nextday = date("d/m/Y", $tomorrow);
echo"$nextday";
?>


Geeft de echo mooi 21/03/2011 weer.

Wanneer ik echter als code hetzelfde gebruik maar dan de variable
een hele hoop verder:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
73
74
75
76
77
78
79
<?php
$tomorrow
= mktime(0,0,0,date("m"),date("d")+1,date("Y"));
$nextday = .date("d/m/Y", $tomorrow);
$priority = "X-Priority: 3\r\n";
$subject = " Operational status - $nextday";
$message = "
<html>
<head>
<title>'Operational status - $nextday'</title>
<meta http-equiv=Content-Type content=text/html; charset=utf-8>
<style type=text/css>
body,td,th {
    color: #847369;
    font-family: Arial, Helvetica, sans-serif;
}
</style>
</head>
<body>
<table width=603 border=0.5>
  <tr>
    <td><img src=http://10.0.10.248/images/banner_logo_mini.jpg width=176 height=26></td>
    <td><div align=center>
      <p><strong>Cityjet BENELUX OCC<br />
        Operational notification</strong><br />
      </p>
      </div></td>
  </tr>
  <tr>
    <td width=176>Prepared by </td>
    <td width=411><label>$prepared</label></td>
  </tr>
  <tr>
    <td>Weather</td>
    <td>$weather</td>
  </tr>
  <tr>
    <td>A/C</td>
    <td>$aircraft</td>
  </tr>
  <tr>
    <td>Crew</td>
    <td>$crew</td>
  </tr>
  <tr>
    <td>Airport disruptions</td>
    <td>$airport</td>
  </tr>
  <tr>
    <td>Others</td>
    <td>$others</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><div align=center>
      <p align=justify><strong>Cityjet BENELUX</strong> OCC<br />
        Antwerp Airport building B50<br />
        2100 Deurne<br />
        [email protected]<br />
        tel: 00 32 3 285 68 80<br />
        fax: 00 32 3 218 91 65<br />
        sita: ANRKOVG<br />
      </p>
    </div></td>
  </tr>
</table>
</body>
</html>
"
;

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers .= 'From: [email protected]' . "\r\n";
$headers .= 'Reply-To: [email protected]' . "\r\n" .
$headers .= 'Bcc: [email protected]' . "\r\n";
$headers .= $priority;

mail($to,$subject,$message,$headers);
echo " Your operational status has been stored and send out to your selected distribution list "
?>


dan geeft het in de mail die hieruit volgt 01/01/1970 weer
wat raar is aangezien je gewoon de echo met de variable
gewoon wat verder neerzet...
Gewijzigd op 20/03/2011 15:53:47 door Yannick Bogaert
 
Write Down

Write Down

20/03/2011 15:53:51
Quote Anchor link
Ik zie niet direct waar je opnieuw de variabele opnieuw oproept. Maar goed, gebruik de code van SanThe eens i.p.v. met je mktime. Dat is enorm omslachtig.
 
Noppes Homeland

Noppes Homeland

20/03/2011 15:59:08
Quote Anchor link
Als je nu eens eerst gaat onderzoeken of je de volgende dag niet op een andere manier kan bepalen.

zie: http://www.php.net/strtotime

En als je dan ook nog eens leert consequent altijd op dezelfde manier je strings te quoten, wordt je code ook nog eens overzichtelijk.

de waarden van atributen op html element worden bij voorkeur gequote en wel met ""

en de algemene kreet: php variabelen buiten quotes is ook hier van toepassing.

Je headers kloppen overigens ook niet, het is nu puur toeval dat de mailtjes aankomen.

Ook vergeet je de controle op de mail functie
 
Jan Koehoorn

Jan Koehoorn

20/03/2011 16:07:15
Quote Anchor link
Het gaat fout op regel drie van je code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    $nextday
= .date("d/m/Y", $tomorrow);
?>

Die punt voor date moet weg (is overigens al eerder gezegd).
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.