| Vorige onderwerp :: Volgende onderwerp |
Yorick
Godlike
 
Berichten: 3501 Rating: 17 |
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? 
Yorick bezit de volgende gaming platformen:  |
|
| Terug naar boven |
|
|
|
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
Godlike
 
Berichten: 3501 Rating: 17 |
|
| Terug naar boven |
|
|
|
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
Godlike
 
Berichten: 3501 Rating: 17 |
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> |
Yorick bezit de volgende gaming platformen:  |
|
| Terug naar boven |
|
|
WeSs0
Elite
 
Berichten: 1267 Rating: 12 |
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
WeSs0 bezit de volgende gaming platformen:  |
|
| Terug naar boven |
|
|
Yorick
Godlike
 
Berichten: 3501 Rating: 17 |
Geplaatst: Di Jul 22, 2008 5:01 pm Onderwerp: |
|
|
|
dus die regel moet vervangen worden? of toegevoegd?
Yorick bezit de volgende gaming platformen:  |
|
| Terug naar boven |
|
|
WeSs0
Elite
 
Berichten: 1267 Rating: 12 |
Geplaatst: Di Jul 22, 2008 5:38 pm Onderwerp: |
|
|
|
vervangen
WeSs0 bezit de volgende gaming platformen:  |
|
| Terug naar boven |
|
|
Yorick
Godlike
 
Berichten: 3501 Rating: 17 |
Geplaatst: Di Jul 22, 2008 6:37 pm Onderwerp: |
|
|
|
damn nu klopt het script niet meer loopt een aantal werkdagen achter -.-
Yorick bezit de volgende gaming platformen:  |
|
| Terug naar boven |
|
|
WeSs0
Elite
 
Berichten: 1267 Rating: 12 |
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.
WeSs0 bezit de volgende gaming platformen:  |
|
| Terug naar boven |
|
|