Forum » Server-Side scripting » Hij geeft gelijk de foutmelding al weer
Berichten: 637
avatar
Offline Stuur privebericht
Hee. Ik zit met een probleem. Ik ben met een script bezig maar nu geeft hij gelijk als ik het open al de foutmelding weer van als de velden niet zijn ingevuld. Dat zou niet moeten je zou het formulier in moeten vullen en als je dan op verzenden drukt en niet alle velden zijn ingevuld dan zou hij de error pas moeten geven.

Script:

Code | Selecteer Alles
minimaliseren
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
<?php
if($_POST['submit'] == "Versturen" && !empty($_POST['onderwerp']) && !empty($_POST['vraag']) && !empty($_POST['bericht'])) {
    
$sql->query("INSERT INTO helpdesk (afzender, onderwerp, vraag, inhoud, datum) values('" $own['id'] . "', '" $_POST['onderwerp']. "', '" $_POST['vraag'] . "', '" $_POST['bericht'] . "', NOW())");
        
header('Location: helpdesk.php?mijnvragen');
    echo 
goed('De vraag is succesvol opgeslagen! Via deze pagina kun je in de gaten houden of er reeds op je vraag gereageerd is!');
} else {
    echo 
fout('Niet alle velden zijn ingevuld!');
        echo
'<br/><br/><a href="javascript:history.back()">Klik hier om terug te gaan.</a>
                        </div>
            </div>

        </div>
        <div id="menu" class="personal" >' 
template_personal_content() . template_onderkant();
      exit;
}
echo
'
          <table width="100%" border="0" cellspacing="2" cellpadding="2">
           <tr>
            <td>Ik heb een:</td>
            <td><select name="onderwerp">
            <option value="Algemene vraag">Algemene vraag</option>
            <option value="Spelinhoudelijke vraag">Spelinhoudelijke vraag</option>
            <option value="Forummelding">Forummelding</option>
            </select></td>
           </tr>
            <td>Vraag:</td>
            <td bordercolor="#000000">
             <input type="text" name="vraag" class="input" style="width: 100%;"><small>Let op! Het is de bedoeling dat je hier je vraag in 1 zin invoert. Vul hier dus niet in "vraagje" of "ik heb een vraag".</small>
            </td>
           </tr>
           <tr>
            <td valign="top">Bericht:</td>
            <td bordercolor="#000000">
            <textarea name="bericht" cols="40" rows="10" class="textarea"></textarea>
            </td>
           </tr>
           <tr>
            <td>&nbsp;</td>
            <td>
              <input type="submit" name="submit" value="Versturen" class="submit">
              <input type="reset" name="Submit2" value="Opnieuw" class="submit">
            </td>
           </tr>
          </table>'
;
?>


Ik hoop dat iemand me kan helpen.
03-06-2010 19:51
Dit topic is 243 keer bekeken door 48 verschillende leden
Reacties op: "Hij geeft gelijk de foutmelding al weer"
1
Regelnasi
Berichten: 1092
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
if(isset($_POST['submit']
maybe?
03-06-2010 19:56
Berichten: 637
avatar
Offline Stuur privébericht
Nee werkt niet en je bent een haakje vergeten te sluiten
03-06-2010 19:59
Dupstep
Berichten: 2302
avatar
Offline Stuur privébericht
2 haakjes ))
03-06-2010 20:13
Berichten: 637
avatar
Offline Stuur privébericht
@F.Remory
Wat heb ik daar nu aan? Als je me niet wil/kan helpen, reageer dan niet!
03-06-2010 20:15
Regelnasi
Berichten: 1092
avatar
Offline Stuur privébericht
Quote: F.Remory

2 haakjes ))


no-shit sherlock? ;o, kga niet meteen alles voorkouwen

@Bever;

Je begint met een if, dus hij gaat dat meteen controleren.
Aangezien er niks is ingevuld, geeft hij die output.

PHP eronder plaatsen, anders met mijn
Code | Selecteer Alles
minimaliseren
1
if(isset
werken.
Dan zorg je ervoor dat als het gezet (gedrukt op submit dus) word uitgevoerd =]

Xjes
03-06-2010 20:19
Berichten: 637
avatar
Offline Stuur privébericht
Opgelost. Ik had iets verkeerd gedaan er stond if($_POST['submit'] == "Versturen" && !empty($_POST['onderwerp'] enz. hij gaf dus een foutmelding als submit niet verstuuren was oplossing:
Code | Selecteer Alles
minimaliseren
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
<?php
  
require("includes/helpdesk_systemen/home.php");
if(
$_POST['submit'] == "Versturen") { 
    if(!empty(
$_POST['onderwerp']) && !empty($_POST['vraag']) && !empty($_POST['bericht'])) {
    
$sql->query("INSERT INTO helpdesk (afzender, onderwerp, vraag, inhoud, datum) values('" $own['id'] . "', '" $_POST['onderwerp']. "', '" $_POST['vraag'] . "', '" $_POST['bericht'] . "', NOW())");
        
header('Location: helpdesk.php?mijnvragen');
    echo 
goed('De vraag is succesvol opgeslagen! Via deze pagina kun je in de gaten houden of er reeds op je vraag gereageerd is!');
} else {
    echo 
fout('Niet alle velden zijn ingevuld!');
        echo
'<a href="javascript:history.back()">Klik hier om terug te gaan.</a>
                        </div>
            </div>

        </div>
        <div id="menu" class="personal" >' 
template_personal_content() . template_onderkant();
      exit;
}
}
echo
'
          <table width="100%" border="0" cellspacing="2" cellpadding="2">
           <tr>
            <td>Ik heb een:</td>
            <td><select name="onderwerp">
            <option value="Algemene vraag">Algemene vraag</option>
            <option value="Spelinhoudelijke vraag">Spelinhoudelijke vraag</option>
            <option value="Forummelding">Forummelding</option>
            </select></td>
           </tr>
            <td>Vraag:</td>
            <td bordercolor="#000000">
             <input type="text" name="vraag" class="input" style="width: 100%;"><small>Let op! Het is de bedoeling dat je hier je vraag in 1 zin invoert. Vul hier dus niet in "vraagje" of "ik heb een vraag".</small>
            </td>
           </tr>
           <tr>
            <td valign="top">Bericht:</td>
            <td bordercolor="#000000">
            <textarea name="bericht" style="width: 100%; height: 200px;" class="textarea"></textarea>
            </td>
           </tr>
           <tr>
            <td>&nbsp;</td>
            <td>
              <input type="submit" name="submit" value="Versturen" class="submit">
              <input type="reset" name="Submit2" value="Opnieuw" class="submit">
            </td>
           </tr>
          </table>'
;
?>


Lancer bedankt door jou keek ik nog eens een keer heel goed naar die if
03-06-2010 20:53
Regelnasi
Berichten: 1092
avatar
Offline Stuur privébericht
Geen dank bever, je heb het allemaal zelf gedaan
04-06-2010 09:00
Berichten: 2123
avatar
Offline Stuur privébericht
Ik heb nog wel een tipje, als je slim bent indent je de code goed. Want dan zie je dit soort foutjes ook veel makkelijker. Accolades tellen heb ik toch wel z'n Gods gruwelijke hekel aan.
04-06-2010 11:23
Reageer op: "Hij geeft gelijk de foutmelding al weer"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden