Toon posts:

[checkbox]raar probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi, ik heb een script waarbij hij checkboxes controleerd en de var herschrijft.
Dit doe ik 3 maal op 1 pagina (in 1 form).
Het eerste gedeelte werkt:

PHP:
1
2
3
4
5
6
7
8
elseif (!isset ($email_toon))
     {
         $email_toon = '0';
     }
elseif (isset ($email_toon))
     {
         $email_toon = '1';
     }

Dit werkt gewoon, hij herschrijft de var naar 0 of 1.
Vervolgens doe ik dit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
elseif (!isset ($telnr_toon))
     {
         $telnr_toon = '0';
     }
elseif (isset ($telnr_toon))
     {
        $telnr_toon = '1';
     }
elseif (isset ($auto))
     {
         $auto = '0';
     }
elseif (!isset ($auto))
     {
         $auto= '1';
if ($plaatje=='http://')
     {
         $plaatje = '';
     }

Dit werkt dus geen een van allen. Hij herschrijft de variabelen gewoon NIET.
$telnr_toon en $auto zijn ook checkboxes, $plaatje is een invoerveld. Hierin staat dus "http://", maar schijnbaar wil hij dat ook niet meer veranderen.
Het volledige script:
PHP:
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=600,height=400');");
}
// End -->
</script>
</HEAD>
<?
 include '../include/gotball.css';
 include '../include/connect.php';
 if (!isset ($verstuur))
 {
?>
<center>
<h1>Registreren</h1>
<font color='red'>DIT GEDEELTE WERKT NIET!!!</font> je hoeft dus ook niet alles in te vullen. (Sint [img]../smilies/puh.gif[/img] )<br>
Let op: Lees voor je registreert even de <A HREF="javascript:popUp('voorwaarden.php')">voorwaarden</a>.<br><br>
<form action='registreer.php'>
<table class='stdtable'><tr><td colspan='3' class='stdtablehead'>Persoonlijke gegevens</td></tr>
<tr><td width='15%'><b>Nick:</a></td><td width='25%'><input type='text' name='nick'> * </td><td> Velden met een * zijn verplicht. </td></tr>
<tr><td width='15%'><b>GoT ID:</a></td><td width='25%'><input type='text' name='got_id'> * </td><td> &nbsp; </td></tr>
<tr><td width='15%'><b>Wachtwoord:</a></td><td width='25%'><input type='password' name='ww1'> * </td><td> &nbsp; </td></tr>
<tr><td width='15%'><b>Wachtwoord 2:</a></td><td width='25%'><input type='password' name='ww2'> * </td><td> Nogmaals, ter controle. </td></tr>
<tr><td width='15%'><b>Voornaam:</a></td><td width='25%'><input type='text' name='vnaam'></td><td> &nbsp; </td></tr>
<tr><td width='15%'><b>Achternaam:</a></td><td width='25%'><input type='text' name='anaam' size='25'></td><td> &nbsp; </td></tr>
<tr><td width='15%'><b>Email adres:</a></td><td width='25%'><input type='text' name='email' size='25'> * </td><td> Tonen: <input type='checkbox' name='email_toon'> (anders alleen voor webmaster zichtbaar)</td></tr>
<tr><td width='15%'><b>Woonplaats:</a></td><td width='25%'><input type='text' name='woonplaats' size='25'></td><td> &nbsp; </td></tr>
<tr><td width='15%'><b>Telefoon nummer:</a></td><td width='25%'><input type='text' name='telnr' size='10'> * </td><td>All&eacute;&eacute;n cijfers, geen streepje(s). <br>Tonen: <input type='checkbox' name='telnr_toon'> (anders alleen voor webmaster zichtbaar) </td></tr>
<tr><td colspan='3'> &nbsp; </td></tr>
<tr><td colspan='3' class='stdtablehead'>Auto gegevens</td></tr>
<tr><td><b>Ik heb geen auto</td><td width='25%'><input type='checkbox' name='auto'><td> &nbsp; </td></tr>
<tr><td width='15%'><b>Merk:</a></td><td width='25%'><input type='text' name='merk'> * </td><td> &nbsp; </td></tr>
<tr><td width='15%'><b>Type:</a></td><td width='25%'><input type='text' name='type'> * </td><td> &nbsp; </td></tr>
<tr><td width='15%'><b>Gewicht:</a></td><td width='25%'><input type='text' name='gewicht' size='10'></td><td> in kilogrammen </td></tr>
<tr><td width='15%'><b>Vermogen:</a></td><td width='25%'><input type='text' name='vermogen' size='10'></td><td> in pk's </td></tr>
<tr><td width='15%'><b>Kleur:</a></td><td width='25%'><input type='text' name='specs'></td><td> &nbsp; </td></tr>
<tr><td width='15%'><b>Plaatje:</a></td><td width='25%'><input type='text' name='plaatje' value='http://' size='30'></td><td> (op (eigen) webruimte) </td></tr>
</table>
    <input type='submit' name='verstuur' value='Verstuur'></form>
<?
 }
 if (isset ($verstuur))
 {
     //Controle op ingevulde delen
     if ($nick=="" OR $nick==" ")
     {
         echo "Je hebt geen nick ingevoerd. Ga <a href='#' onClick='history.go(-1)'>terug</a> en probeer het opnieuw";
     }
     elseif ($got_id=="" OR $got_id==" " OR !is_numeric($got_id))
     {
         echo "Je hebt geen of geen juist GoT ID ingevoerd. <br>Deze heb je nodig om te bewijzen dat je een GoT-gebruiker bent (word gecontroleerd). <br>Ga <a href='#' onClick='history.go(-1)'>terug</a> om hem goed in te vullen of verlaat deze pagina.";
     }
     elseif ($ww1=="" OR $ww1==" ")
     {
         echo "Je hebt geen wachtwoord ingevoerd. <br>Deze heb je nodig om je profiel te wijzigen. Ga <a href='#' onClick='history.go(-1)'>terug</a> en vul een wachtwoord in.";
     }
     elseif ($ww1 != $ww2)
     {
         echo "Je wachtwoorden komen niet overeen. Ga <a href='#' onClick='history.go(-1)'>terug</a> en probeer het opnieuw";
     }
     elseif ($email=="" OR $email==" " OR !preg_match('/\@/',$email))
     {
         echo "Je hebt geen of geen juist email adres ingevoerd.<br>Dit is wel handig als je het instelt. Je kunt ervoor kiezen het niet aan het publiek te laten zien.<br>Ga <a href='#' onClick='history.go(-1)'>terug</a> en probeer het opnieuw";
     }
     elseif (!isset ($email_toon))
     {
        // echo "Je hebt ervoor gekozen je email niet te laten zien. <a href='#' onClick='history.go(-1)'>terug</a>";
         $email_toon = '0';
     }
     elseif (isset ($email_toon))
     {
        // echo "Je hebt ervoor gekozen je email WEL te laten zien. <a href='#' onClick='history.go(-1)'>terug</a>";
         $email_toon = '1';
     }  
     elseif ($telnr=="" OR $telnr==" " OR !is_numeric($telnr))
     {
         echo "Je hebt geen of geen juist telefoon nummer ingevoerd. <br>Dit is wel handig als men onderweg verloren is geraakt en elkaar probeert te bereiken. <br>Wil je per s&eacute; geen telefoon nummer doorgeven, ga dan <a href='#' onClick='history.go(-1)'>terug</a> en vul 0000000000 in.";
     } 
     elseif (!isset ($telnr_toon))
     {
        // echo "Je hebt ervoor gekozen je telefoonnummer NIET te laten zien. <a href='#' onClick='history.go(-1)'>terug</a>";
         $telnr_toon = '0';
     }
     elseif (isset ($telnr_toon))
     {
        // echo "Je hebt ervoor gekozen je telefoonnummer WEL te laten zien. <a href='#' onClick='history.go(-1)'>terug</a>";
         $telnr_toon = '1';
     }
     elseif (isset ($auto))
     {
         $auto = '0';
     }
     elseif (!isset ($auto))
     {
         $auto= '1';
         if ($merk=="" OR $merk==" ")
         {
             echo "Je hebt niet aangevinkt dat je geen auto hebt maar toch geen merk ingevoerd.<br>Ga <a href='#' onClick='history.go(-1)'>terug</a> en probeer het opnieuw";
         }
         if ($type=="" OR $type==" ")
         {
             echo "Je hebt geen auto-type ingevuld.<br>Ga <a href='#' onClick='history.go(-1)'>terug</a> en probeer het opnieuw";
         }
         if ($plaatje=='http://')
         {
             $plaatje = '';
         }       
     }

     echo "<br>$nick <br> $got_id <br> $ww1 <br> $ww2 <br> $vnaam <br> $anaam <br> $email <br> $email_toon <br> $woonplaats <br> $telnr <br> $telnr_toon <br> $auto <br> $merk <br> $type <br> $gewicht <br> $vermogen <br> $kleur <br> $plaatje";
 }

Er zitten geen typo's in van vars volgens mij.
Wie kan er helpen ?

  • whoami
  • Registratie: December 2000
  • Laatst online: 13:00
Hierschrijf het stukje dat niet werkt eens als:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (isset($_email))
{
  $_email = 0;
}
else
{
  $_email = 1;
}

if (isset ($auto)) 
{
  $auto = 1;
}
else
{
  $auto = 0;
}


Wat er bij jou gebeurd, is volgens mij hetvolgende:
Het programma komt in de if, en de conditie is true, dus de then - tak wordt uitgevoerd. In de else - tak komt hij nooit, en daar heb je alle andere condities gezet, dus die worden nooit gecontroleerd.
Debug het script anders eens, dan zul je volgens mij vlug zien waar de fout zit.

https://fgheysels.github.io/


  • CodeVision
  • Registratie: Juni 2002
  • Laatst online: 03-08 20:29
het ligt er idd aan dat je probeert meerdere elseif expressie naar true te laten evalueren, dit kan nooit, na de eerste true wordt de rest 'geskipped', elseif is immers een else variant

"I do not fear computers, I fear lack of them"


Verwijderd

Topicstarter
kewl :) Hij werkt nu. Bedankt jongens (op de vroege zondag ochtend >:))

Verwijderd

Topicstarter
werkt alweer :)

Verwijderd

je maakt $plaatje_url een spatie ipv $plaatje
Pagina: 1