| Vorige onderwerp :: Volgende onderwerp |
Yorick
Elite


Berichten: 1901 Rating: 11
|
Geplaatst: Ma Jul 21, 2008 1:18 pm Onderwerp: [PHP] Wat doe ik verkeerd... |
|
|
|
Ik heb volgend script:
| Code: | <?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
setlocale (LC_ALL, 'nl_NL');
if ($_POST['soort'] == '30') {
$type_aanvraag = 30;
} elseif ($_POST['soort'] == '60') {
$type_aanvraag = 60;
}
$dag_aangevraagd =htmlentities( $_POST['dag_van_de_maand'] .'-'. $_POST['maand'] .'-'. $_POST['jaar'] );
$aantal_werkdagen = 0;
$aantal_berekende_werkdagen = $type_aanvraag
$i = 0;
do {
$timestamp_volgende = strtotime ('+' . $i++ . ' day', $dag_aangevraagd);
$weekdag = strftime ('%a', $timestamp_volgende);
if ($weekdag != 'za' && $weekdag != 'zo') {
$aantal_werkdagen++;
}
} while ($aantal_werkdagen <= $aantal_berekende_werkdagen);
echo strftime ('%d-%m-%Y', $timestamp_volgende);
echo($datum)
?> |
maar ik krijg altijd maar unexpected T_VARIABLE in blablabla on line 20... wat is er verkeerd?  |
|
| Terug naar boven |
|
|
Z@3 Redrum
Evil Gamer


Berichten: 22629 Rating: 0
|
Geplaatst: Ma Jul 21, 2008 2:01 pm Onderwerp: |
|
|
|
Wat is regel 20 voor de duidelijkheid. Even het gehele script dan posten, of is dit alles? Meestal mis je dan 'n ( of ) in het script ergens.
Geplaatst Ma Jul 21, 2008 2:01 pm:
Edit, je mist 'n ; bij regel 19. Dus:
$aantal_berekende_werkdagen = $type_aanvraag; |
|
| Terug naar boven |
|
|
Yorick
Elite


Berichten: 1901 Rating: 11
|
|
| Terug naar boven |
|
|
Z@3 Redrum
Evil Gamer


Berichten: 22629 Rating: 0
|
Geplaatst: Ma Jul 21, 2008 3:25 pm Onderwerp: |
|
|
|
| Die regel '$timestamp_volgende = strtotime ('+' . $i++ . ' day', $dag_aangevraagd); ' ziet er nogal raar uit. Zie het nut van die plus ook niet echt in. Denk dat het wat te maken heeft met die strtotime. |
|
| Terug naar boven |
|
|
Yorick
Elite


Berichten: 1901 Rating: 11
|
Geplaatst: Ma Jul 21, 2008 6:37 pm Onderwerp: |
|
|
|
kijk, ik kom van dit: (bereken.php)
| Code: | <?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
setlocale (LC_ALL, 'nl_NL');
$vandaag = time ();
$aantal_werkdagen = 0;
$aantal_berekende_werkdagen = 30;
$i = 0;
do {
$timestamp_volgende = strtotime ('+' . $i++ . ' day', $vandaag);
$weekdag = strftime ('%a', $timestamp_volgende);
if ($weekdag != 'za' && $weekdag != 'zo') {
$aantal_werkdagen++;
}
} while ($aantal_werkdagen <= $aantal_berekende_werkdagen);
echo strftime ('%d-%m-%Y', $timestamp_volgende);
?> |
dan heb ik daar een andere pagina gemaakt met een formuliertje daarin omdat ik wou dat de datum gekozen kon worden, en een keuze gemaakt tussen 30 of 60 werkdagen.
formulier:
(calculator.php)
| Code: | <form action='bereken.php' method="POST">
<select name="dag_van_de_maand">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="maand">
<option value="1">Januari</option>
<option value="2">Februari</option>
<option value="3">Maart</option>
<option value="4">April</option>
<option value="5">Mei</option>
<option value="6">Juni</option>
<option value="7">Juli</option>
<option value="8">Augustus</option>
<option value="9">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<select name="jaar">
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
</select>
<p><INPUT type="radio" name="soort" CHECKED value="60"> Standaard (60 werkdagen)</p>
<p><INPUT type="radio" name="soort" value="30"> Premium (30 werkdagen)
<input type="submit" name="submit" value="Bereken datum">
</form> |
|
|
| Terug naar boven |
|
|
WeSs0
Hardcoreposter


Berichten: 442 Rating: 9
|
Geplaatst: Ma Jul 21, 2008 8:24 pm Onderwerp: |
|
|
|
Hoe kun je in dat laatste script nou een fout op lijn 22 krijgen, heeft niet eens 20 regels...
Geplaatst Ma Jul 21, 2008 8:23 pm:
In je bovenste script heb je deze regel fout:
| Code: |
$dag_aangevraagd =htmlentities( $_POST['dag_van_de_maand'] .'-'. $_POST['maand'] .'-'. $_POST['jaar'] ); |
Simpelweg omdat de functie strtotime een timestamp als tweede argument nodig heeft.. dus je moet dmv mktime(); een timestamp genereren.
| Code: |
$dag_aangevraagd = mktime( 0, 0, 0, $_POST['maand'], $_POST['dag'], $_POST['jaar'] );
|
+2
Geplaatst Ma Jul 21, 2008 8:24 pm:
btw, ik own wel hard |
|
| Terug naar boven |
|
|
Yorick
Elite


Berichten: 1901 Rating: 11
|
Geplaatst: Di Jul 22, 2008 5:01 pm Onderwerp: |
|
|
|
| dus die regel moet vervangen worden? of toegevoegd? |
|
| Terug naar boven |
|
|
WeSs0
Hardcoreposter


Berichten: 442 Rating: 9
|
Geplaatst: Di Jul 22, 2008 5:38 pm Onderwerp: |
|
|
|
| vervangen |
|
| Terug naar boven |
|
|
Yorick
Elite


Berichten: 1901 Rating: 11
|
Geplaatst: Di Jul 22, 2008 6:37 pm Onderwerp: |
|
|
|
damn nu klopt het script niet meer loopt een aantal werkdagen achter -.- |
|
| Terug naar boven |
|
|
WeSs0
Hardcoreposter


Berichten: 442 Rating: 9
|
Geplaatst: Di Jul 22, 2008 9:23 pm Onderwerp: |
|
|
|
| Ja daar heb ik niet naar gekeken, heb alleen gekeken naar je error en die verholpen. |
|
| Terug naar boven |
|
|
Z@3 Redrum
Evil Gamer


Berichten: 22629 Rating: 0
|
Geplaatst: Di Jul 22, 2008 11:04 pm Onderwerp: |
|
|
|
| Kan je dat niet gewoon met 'n calculatie correctie verbeteren? |
|
| Terug naar boven |
|
|