Toon posts:

[html] enter knop doet t niet!

Pagina: 1
Acties:

Verwijderd

Topicstarter
hoi luitjes...
het vreemde aan mijn form (het is php, maar ik geef een html generated form mee van de php script)...
hier is t:
code:
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
<html>

<head>
<title>Admin - Categorieën toevoegen</title>
<script language="JavaScript">
function gotoUrl(categorie){
  if(categorie.value != ""){
  parent.location = "catadd.php?categorie="+categorie.value;
  }
}
function gotoCat(cat){
  if(cat.value != ""){
  parent.location = "catadd.php?categorie=hoofdcategorie&welkcategorie="+cat.value;
  }
}
</script>
</head>

<body>
<font face="tahoma" style="font-size: 12px">


<table width="400" cellpadding="2" cellspacing="0" style="font-size: 12px">
<form method="POST" action="catadd2.php?categorie=hoofdcategorie">
<tr>
<td width="40%">
Soort categorie:
</td>
<td width="60%">
<select name="categorie" onChange="gotoUrl(this);">


<option value="">Kies hier de categorie uit...</option>
<option selected value="hoofdcategorie">Hoofdcategorie</option>
<option value="categorie">Categorie</option>
<option value="subcategorie">Subcategorie</option>
</select>


</td>
</tr>
<tr>
<td width="40%">
Naam categorie:
</td>
<td width="60%">
<input type="text" name="naam" size="26">
</td>
</tr>
<tr>
<td width="40%">
Beschrijving:
</td>
<td width="60%">
<textarea rows="5" cols="20" name="beschrijving"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="Voeg toe!">
</td>
</tr>
</form>
</table>


</font>
</body>

</html>

ik geloof dat er niks mis is met deze... toch doet de enter-knop t niet, hoe kan t nou?
ik heb gekeken op de got search, en er stond dat als de enter-knop niet werkt het aan de form ligt, die is dan fout... maar er is toch niks mee met mijn html generated form?
het ligt niet alleen aan mijn computer, maar ook bij de andere...
thnx!

Verwijderd

doe die form eens om de tabel heen, want die is hier niet toegstaan

sowieso kan je beter die hele tabel droppen en netjes met css gaan layouten

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:12

crisp

Devver

Pixelated

Als ik in de text-input sta en op enter druk wordt het form toch wel degelijk gesubmit.
Echter is je opzet niet zo netjes: form-tags horen niet tussen de table en tr tag te staan, en waarom zet je een GET-var in je action bij een POST-form die bovendien nog eens een element met dezelfde naam bevat?
Je submit-button name="submit" geven is ook vragen om problemen in samenwerking met javascript.

Intentionally left blank


Verwijderd

Topicstarter
Verwijderd schreef op 01 september 2004 @ 14:59:
doe die form eens om de tabel heen, want die is hier niet toegstaan

sowieso kan je beter die hele tabel droppen en netjes met css gaan layouten
haha "niet toegestaan" :P
maar ja ik heb het form om de tabel heen gedaan... blijft precies hetzelfde, het vage is dat hij het wel eerst deed en later niet toen ik de script uitbreidde...
ik heb al 2x heel goed door het script gelezen, en ik zie geen fouten, en toch doet de enter-knop niet :/

over de css jaja doe ik later wel :P

Verwijderd

Topicstarter
crisp schreef op 01 september 2004 @ 15:00:
Als ik in de text-input sta en op enter druk wordt het form toch wel degelijk gesubmit.
Echter is je opzet niet zo netjes: form-tags horen niet tussen de table en tr tag te staan, en waarom zet je een GET-var in je action bij een POST-form die bovendien nog eens een element met dezelfde naam bevat?
Je submit-button name="submit" geven is ook vragen om problemen in samenwerking met javascript.
over de get-var, ja dat komt omdat ik met categorieen werk... dus ben ik op dezelfde pagina als die van action op t form... dit is een admin om categorieen toe te voegen, en ja hij werkt prima behalve de enter-knop gewoon...
als ik op "Voeg toe!" met de muis klik doet hij het wel...
hmm over de submit, okee zal wel even veranderen dan laat ik ff weten in de edit van deze reactie of t werkt of niet...

edit: het submit knop heeft nu de naam "toevoegen" maar het werkt nog steeds niet... klik doet wel enter doet niet :?

[ Voor 8% gewijzigd door Verwijderd op 01-09-2004 15:08 ]


Verwijderd

Dit is altijd zo als je in een textarea staat, ga maar in de textbox staan nadat je de beschrijving hebt ingevoerd en het werkt wel met enter.

Verwijderd

Zet bij het laden van die pagina anders je focus op een invoerbox of submitbutton.

code:
1
2
3
4
5
6
7
8
<body onload='document.catselect.naam.focus();'>

[...knip...]

<form 
  method="post" 
  action="catadd2.php?categorie=hoofdcategorie" 
  name="catselect">

[ Voor 30% gewijzigd door Verwijderd op 01-09-2004 15:33 ]


Verwijderd

Verwijderd schreef op 01 september 2004 @ 15:25:
Zet bij het laden van die pagina anders je focus op een invoerbox of submitbutton.

code:
1
<body onload='document.form.naam.focus();'>
Maar als er dan iets wordt ingevoerd bij beschrijving dan verliest de submit-button de focus en dus werkt ook hier enter niet om het formulier te versturen. Het is wel mogelijk om een event aan de textarea te koppelen die ervoor zorgt dat het formulier wordt verstuurt als je op Enter drukt (maar dan is het niet meer mogelijk om naar de volgende regel te gaan in de textarea), het lijkt me gewoon slim om er een textbox van te maken. Dan is het probleem verholpen en als je met CSS een 'normaal' lettertype toepast voor de inhoud van de textbox dan kun je een zeer lange beschrijving kwijt en blijft het overzichtelijk in de textbox op 1 regel.

Verwijderd

Topicstarter
Verwijderd schreef op 01 september 2004 @ 15:17:
Dit is altijd zo als je in een textarea staat, ga maar in de textbox staan nadat je de beschrijving hebt ingevoerd en het werkt wel met enter.
nee bij de gewone text doet t ook niet!
nou ga maar naar de pagina van mijn server en je ziet t probleem
http://80.61.11.9/marcelmolenaars/catadd.php
probeer maar als je iets invult (maakt niet uit welk categorie) en op enter drukt...
je ziet t dan dat het gewoon herlaadt en naar catadd2.php gaat... dat is niet mijn bedoeling...
kijk maar naar het verschil van enter en klikken op de submit... als je klikt op submit (aub de formulier leeg laten, anders voegt hij t toe :P) dan zie je een foutmelding... dat is juist...

moet ik de php script hier posten?

[ Voor 14% gewijzigd door Verwijderd op 01-09-2004 15:35 ]


Verwijderd

HereIam:
Inderdaad, dan kun je er bijv. een input text box er van maken en dan de invoer van harde enters regelen met [nohtml][norml]
of
[/][/] code die je dan laat verwerken (imo kun je beter daar ranzig scripten dan bij je userinterface waardoor je bijv. met shift enter gaat werken oid).

Verwijderd

Topicstarter
Verwijderd schreef op 01 september 2004 @ 15:37:
HereIam:
Inderdaad, dan kun je er bijv. een input text box er van maken en dan de invoer van harde enters regelen met [nohtml][norml]<BR> of
[/][/] code die je dan laat verwerken (imo kun je beter daar ranzig scripten dan bij je userinterface waardoor je bijv. met shift enter gaat werken oid).
ik snap je niet... nu wel :P

edit: o laat maar het is voor hereiam

[ Voor 9% gewijzigd door Verwijderd op 01-09-2004 15:40 ]


Verwijderd

Nu snap ik wat je bedoelt, moet ik effe kijken waaraan het ligt :P

de fout zit mogelijk in je php-script, overigens:

- ik kies voor subcategorie
- ik kies voor test (nu gaat hij naar
catadd.php?categorie=subcategorie&welkcategorie=1)
- ik kies voor test2 (en NU gaat hij nergens heen, klopt dat?)
- ik ga naar naam categorie en druk op enter (gaat naar catadd2.php?categorie=subcategorie), hetzelfde gebeurt als ik op de submit klik

is het de bedoeling dat de laatste rollout, de naam van de categorie en de beschrijving als POST worden verzonden en dat verdere informatie volgt uit GET? Zo ja, dan is het formulier gewoon goed. En catadd2 moet het werkelijk toevoegen als ik het goed begrijp?

[ Voor 107% gewijzigd door Verwijderd op 01-09-2004 15:53 ]


Verwijderd

Topicstarter
Verwijderd schreef op 01 september 2004 @ 15:39:
Nu snap ik wat je bedoelt, moet ik effe kijken waaraan het ligt :P

de fout zit mogelijk in je php-script, overigens:

- ik kies voor subcategorie
- ik kies voor test (nu gaat hij naar
catadd.php?categorie=subcategorie&welkcategorie=1)
- ik kies voor test2 (en NU gaat hij nergens heen, klopt dat?)
- ik ga naar naam categorie en druk op enter (gaat naar catadd2.php?categorie=subcategorie), hetzelfde gebeurt als ik op de submit klik

is het de bedoeling dat de laatste rollout, de naam van de categorie en de beschrijving als POST worden verzonden en dat verdere informatie volgt uit GET? Zo ja, dan is het formulier gewoon goed. En catadd2 moet het werkelijk toevoegen als ik het goed begrijp?
haha ik had moeten bij zeggen dat er nog geen actie vanaf {else} voor subcategorie is... dus je kunt beter kijken bij hoofdcategorie en categorie.. srry!
mja over de test2, klopt het inderdaad wel want in deze categorie wordt de subcategorie opgeslagen... dus hoeft hij nergens heen te gaan, je hebt voor dit gekozen...

maar ja ik denk dat t slim is dat ik hier de php script post?

[ Voor 8% gewijzigd door Verwijderd op 01-09-2004 15:55 ]


Verwijderd

Vertel nou eerst eens wat catadd.php en catadd2.php doen en zo want nou weet ik niet wat er fout gaat en wat er goed gaat :)

Verwijderd

Topicstarter
Verwijderd schreef op 01 september 2004 @ 15:55:
Vertel nou eerst eens wat catadd.php en catadd2.php doen en zo want nou weet ik niet wat er fout gaat en wat er goed gaat :)
okee ik leg ff uit..
catadd.php is enkel wat tekst en catadd2.php wordt daarin geincluded...
ik heb wat onderzoeken gedaan en catadd2.php is de boosdoener...
dus de acties liggen in de catadd2.php...
hier de catadd.php
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
<html>

<head>
<title>Admin - Categorieën toevoegen</title>
<script language="JavaScript">
function gotoUrl(categorie){
  if(categorie.value != ""){
  parent.location = "catadd.php?categorie="+categorie.value;
  }
}
function gotoCat(cat){
  if(cat.value != "0"){
  parent.location = "catadd.php?categorie=<? echo $_GET['categorie']; ?>&welkcategorie="+cat.value;
  }
}
</script>
</head>

<body>
<font face="tahoma" style="font-size: 12px">
<b>Vul hieronder de gegevens in om een categorie toe te kunnen voegen!</b><br><br>

<?

if($_GET['error'] == "true"){
echo "<font color=\"#FF0000\">U bent vergeten wat voor een soort categorie u wilt maken!</font><br><br>";
}

include("catadd2.php");

?>

<br><a href="admin.php">Ga terug naar de admin!</a>

</font>
</body>

</html>

moet catadd2.php ook erbij?

[ Voor 18% gewijzigd door Verwijderd op 01-09-2004 15:59 ]


Verwijderd

fout zit zo te zien in catadd2.php

Verwijderd

Topicstarter
Verwijderd schreef op 01 september 2004 @ 15:59:
fout zit zo te zien in catadd2.php
ja weet ik.. okee nu voeg ik de catadd2.php erbij..
ik vraag wel ff de webmasters om dit ontopic te houden :)..
bedankt :)
het is best wel lang, maar wel vrij overzichtelijk dus makkelijk terug te vinden...
de else actie van de eerste form is denk ik onnodig om te controleren, en de laaste form hoeft ook niet... (onderaan), dus houd t maar een klein stuk over

edit: ik heb nu alleen de form toegevoegd, de else actie is weggehaald.. nu heel wat korter :)

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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
<form method="POST" action="catadd2.php?categorie=<? echo $_GET['categorie']; ?>">
<table width="400" cellpadding="2" cellspacing="0" style="font-size: 12px">
<tr>
<td width="40%">
Soort categorie:
</td>
<td width="60%">
<select name="categorie" onChange="gotoUrl(this);">

<?

    if($_GET['categorie'] == "hoofdcategorie"){

?>

<option value="">Kies hier de categorie uit...</option>
<option selected value="hoofdcategorie">Hoofdcategorie</option>
<option value="categorie">Categorie</option>
<option value="subcategorie">Subcategorie</option>
</select>

<?

    } elseif($_GET['categorie'] == "categorie"){

    $query = "SELECT * FROM hoofdcategorie";
    $select = mysql_query($query);
    $result = mysql_num_rows($select);

      if(!$result){
      $optionselect = "nee";
      }

?>

<option value="">Kies hier de categorie uit...</option>
<option value="hoofdcategorie">Hoofdcategorie</option>
<option selected value="categorie">Categorie</option>
<option value="subcategorie">Subcategorie</option>
</select>
</td>
</tr>
<tr>
<td width="40%">
In welk hoofdcategorie:
</td>
<td width="60%">

<?

      if($optionselect == "nee"){

      echo "<font style=\"font-size: 10px\">Er is nog geen hoofdcategorie toegevoegd!</font>";

      } else {

      echo "<select name=\"welkcategorie\">";
      echo "<option selected value=\"0\">Kies hier de categorie uit...</option>";

        while($obj = mysql_fetch_object($select)){
        echo "<option value=\"" . $obj->id . "\">" . $obj->titel . "</option>";
        }

      }

      echo "</select>";

      echo "<input type=\"hidden\" name=\"optionselect\" value=\"$optionselect\">";

    } elseif($_GET['categorie'] == "subcategorie"){

      if(isSet($_GET['welkcategorie'])){

      $query2 = "SELECT * FROM hoofdcategorie WHERE id = '" . addslashes($_GET['welkcategorie']) . "'";
      $select2 = mysql_query($query2);
      $result2 = mysql_num_rows($select2);

        if(!$result2){

?>

        <script language="JavaScript">
        parent.location='catadd.php?categorie=<? echo $_GET['categorie']; ?>'
        </script>

<?

        } else {

        $query3 = "SELECT * FROM hoofdcategorie";
        $select3 = mysql_query($query3);
        $result3 = mysql_num_rows($select3);

          if($result3 == "1"){

          $query = "SELECT * FROM hoofdcategorie WHERE id = '" . addslashes($_GET['welkcategorie']) . "'";
          $select = mysql_query($query3);
          $result = mysql_num_rows($select3);

          } else {

          $query = "SELECT * FROM hoofdcategorie WHERE id <> '" . addslashes($_GET['welkcategorie']) . "'";
          $select = mysql_query($query);
          $result = mysql_num_rows($select);

          }

        }

      } else {

      $query = "SELECT * FROM hoofdcategorie";
      $select = mysql_query($query);
      $result = mysql_num_rows($select);

      }

      if(!$result){
      $optionselect = "nee";
      }

?>

<option value="">Kies hier de categorie uit...</option>
<option value="hoofdcategorie">Hoofdcategorie</option>
<option value="categorie">Categorie</option>
<option selected value="subcategorie">Subcategorie</option>
</select>
</td>
</tr>
<tr>
<td width="40%">
In welk hoofdcategorie:
</td>
<td width="60%">

<?

      if($optionselect == "nee"){

      echo "<font style=\"font-size: 10px\">Er is nog geen hoofdcategorie toegevoegd!</font>";

      } else {

      echo "<select name=\"welkcategorie\" onchange=\"gotoCat(this);\">";

        if(isSet($_GET['welkcategorie'])){
        $query4 = "SELECT * FROM hoofdcategorie WHERE id = '" . addslashes($_GET['welkcategorie']) . "'";
        $select4 = mysql_query($query4);

        echo "<option selected value=\"0\">Kies hier de categorie uit...</option>";

          while($obj = mysql_fetch_object($select4)){
          echo "<option selected value=\"" . $obj->id . "\">" . $obj->titel . "</option>";
          }

        } else {

        echo "<option selected value=\"0\">Kies hier de categorie uit...</option>";

        }

        if($result3 != "1"){

          while($obj = mysql_fetch_object($select)){    
          echo "<option value=\"" . $obj->id . "\">" . $obj->titel . "</option>";
          }

        }

      echo "</select>";

      }

      echo "<input type=\"hidden\" name=\"optionselect\" value=\"$optionselect\">";

?>

</td>
</tr>
<tr>
<td width="40%">
In welk categorie:
</td>
<td width="60%">

<?

      if(isSet($_GET['welkcategorie'])){

      $query5 = "SELECT * FROM categorie WHERE cat = '" . addslashes($_GET['welkcategorie']) ."'";
      $select5 = mysql_query($query5);
      $result5 = mysql_num_rows($select5);

        if(!$result5){
        $optionselect2 = "nee";
        }

        if($optionselect2 == "nee"){

        echo "<font style=\"font-size: 10px\">Er is nog geen categorie toegevoegd!</font>";

        } else {

        echo "<select name=\"welkcategorie2\">";
        echo "<option selected value=\"0\">Kies hier de categorie uit...</option>";

          while($obj = mysql_fetch_object($select5)){
          echo "<option value=\"" . $obj->id . "\">" . $obj->titel . "</option>";
          }

        }

        echo "</select>";

        echo "<input type=\"hidden\" name=\"optionselect2\" value=\"$optionselect2\">";

      } else {

      echo "<font style=\"font-size: 10px\">Kies eerst een hoofdcategorie.</font>";

      }

    } else {

?>

<script language="JavaScript">
parent.location='catadd.php'
</script>

<?

    }

?>

</td>
</tr>
<tr>
<td width="40%">
Naam categorie:
</td>
<td width="60%">
<input type="text" name="naam" size="26">
</td>
</tr>
<tr>
<td width="40%">
Beschrijving:
</td>
<td width="60%">
<textarea rows="5" cols="20" name="beschrijving"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="toevoegen" value="Voeg toe!">
</td>
</tr>
</table>
</form>

beetje lang maar ja..

[ Voor 137% gewijzigd door Verwijderd op 01-09-2004 16:05 ]


Verwijderd

heb nog niet alles gezien, maar zou je dit:

if(!isSet($_POST['toevoegen']))

even kunnen veranderen in dit:

if(empty($_POST))

edit
ik betwijfel namelijk of de submit-button als POST-var wordt meegestuurd als je de submitbutton niet indrukt maar gewoon op ENTER drukt

[ Voor 38% gewijzigd door Verwijderd op 01-09-2004 16:05 ]


Verwijderd

Topicstarter
Verwijderd schreef op 01 september 2004 @ 16:04:
heb nog niet alles gezien, maar zou je dit:

if(!isSet($_POST['toevoegen']))

even kunnen veranderen in dit:

if(empty($_POST))

edit
ik betwijfel namelijk of de submit-button als POST-var wordt meegestuurd als je de submitbutton niet indrukt maar gewoon op ENTER drukt
okee zal ik doen moment

edit: het werkt weer!! hartstikke bedankt!!

[ Voor 8% gewijzigd door Verwijderd op 01-09-2004 16:08 ]


Verwijderd

volgensmij staat het er twee keer in!

Verwijderd

Topicstarter
Verwijderd schreef op 01 september 2004 @ 16:08:
volgensmij staat het er twee keer in!
ja inderdaad maar het is toch apart van elkaar?
PHP:
1
2
3
4
5
if{
//post form toevoegen
} else {
//post form toevoegen
}

dus maakt t niet uit eigenlijk?!
maar t werkt weer dankzij if(empty($_POST)), nu ga ik dit voortaan gebruiken :)
thnx!!

[ Voor 13% gewijzigd door Verwijderd op 01-09-2004 16:09 ]


Verwijderd

Verwijderd schreef op 01 september 2004 @ 16:09:
[...]

ja inderdaad maar het is toch apart van elkaar?
PHP:
1
2
3
4
5
if{
//post form toevoegen
} else {
//post form toevoegen
}

dus maakt t niet uit eigenlijk?!
maar t werkt weer dankzij if(empty($_POST)), nu ga ik dit voortaan gebruiken :)
thnx!!
Het werkt niet dankzij empty(), het werkt dankzij het niet gebruiken van $_POST['toevoegen'] > je submit-button dus

[ Voor 3% gewijzigd door Verwijderd op 01-09-2004 16:10 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:12

crisp

Devver

Pixelated

Ik vind het script maar erg rommelig en het kan zeker met 2/3e minder code. Verder ben ik fel tegenstander van het door elkaar gebruiken van GET en POST vars; zeker als ze ook nog eens dezelfde naam hebben.
En idd, bij een submit via enter wordt de waarde van de submit-button niet meegestuurd; je kan ook gewoon de request_method uitvragen als je wilt weten of er een POST gedaan is.

Intentionally left blank


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

ligt het nou aan mij, of zijn er meer mensen het met me eens dat dat echt de meest nasty manier van programmeren is zo ?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
if (conditie)
{
?>
<html>
<?
}
else
{
?>
<html>
<?
}


ik vind dit echt zó jukkie :S

[ Voor 9% gewijzigd door SchizoDuckie op 01-09-2004 16:14 ]

Stop uploading passwords to Github!


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:12

crisp

Devver

Pixelated

Papa Eend schreef op 01 september 2004 @ 16:12:
ligt het nou aan mij, of zijn er meer mensen het met me eens dat dat echt de meest nasty manier van programmeren is zo ?
[...]
ik vind dit echt zó jukkie :S
inderdaad; het is vragen om problemen. Onderhoudbaarheid van 0,0

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op 01 september 2004 @ 16:11:
Ik vind het script maar erg rommelig en het kan zeker met 2/3e minder code. Verder ben ik fel tegenstander van het door elkaar gebruiken van GET en POST vars; zeker als ze ook nog eens dezelfde naam hebben.
En idd, bij een submit via enter wordt de waarde van de submit-button niet meegestuurd; je kan ook gewoon de request_method uitvragen als je wilt weten of er een POST gedaan is.
ja je hebt helemaal gelijk :)
maar ja ik zou het niet weten hoe ik het zou moeten inkorten...
en trouwens ik ben maar een jongen van 16 die php/mysql al maar 1 jaar kent, ik heb informatica op 5vwo gekozen dus krijg ik ook daarin les over php/mysql en dan kan ik maybe beter scripten :)
voor mij is het hoofdzaak dat t werkt.. dat is t belangrijkste :)

[ Voor 5% gewijzigd door Verwijderd op 01-09-2004 16:19 ]


Verwijderd

Topicstarter
Papa Eend schreef op 01 september 2004 @ 16:12:
ligt het nou aan mij, of zijn er meer mensen het met me eens dat dat echt de meest nasty manier van programmeren is zo ?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
if (conditie)
{
?>
<html>
<?
}
else
{
?>
<html>
<?
}


ik vind dit echt zó jukkie :S
weet je waarom ik dat doe? omdat de meeste mensen (scripters) mij aanraden html buiten php te laten!!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:12

crisp

Devver

Pixelated

ja, grote stukken HTML buiten PHP laten is good practice, maar in jouw geval gaat het om 3 stukken HTML die bijna identiek zijn; persoonlijk zou ik het als volgt doen:

PHP:
1
2
3
4
5
6
<select name="categorie" onChange="gotoUrl(this);">
  <option value="">Kies hier de categorie uit...</option> 
  <option value="hoofdcategorie"<?php echo $_GET['categorie']=='hoofdcategorie'? ' selected':''; ?>>Hoofdcategorie</option> 
  <option value="categorie"<?php echo $_GET['categorie']=='categorie'? ' selected':''; ?>>Categorie</option> 
  <option value="subcategorie"<?php echo $_GET['categorie']=='subcategorie'? ' selected':''; ?>>Subcategorie</option> 
</select>

Intentionally left blank


Verwijderd

Topicstarter
hum ja dat is beter :P

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Met HTML buiten je PHP laten wordt er o.a. bedoeld dat je ook templates kan gebruiken...

Templates zijn (heel grofweg gezegd) een lap met HTML met kleine stukjes PHP erin op de plek waar je variabele content wilt hebben. Meer info hierover is te vinden in de search onder P&W :)

Verder gebruik ik voor <selects> meestal een functie die o.a. het volgende doet:

PHP:
1
2
3
4
5
6
7
8
9
10
11
function createSelect ($name, $options, $selectedValue, $onchange='') // dit wil je uiteraard uit te breiden met database query support enzow. nu ff zo ingeramd.
{
   forearch ($options as $key => $value)
{
  $selected = ($key == $selected) ? ' selected': '';
  $output .= "\t<option value='{$key}'>{$value}</option>\n";
}
 return ("<select name='{$name}' onchange='{$onchange}'>\n$output</select>");
}

echo createSelect('categoriën', array('cat' => 'Categorien', 'doc', 'Document'), $_GET['categorie'], 'checkSubmit(this)'); // poep een <select> uit :)


zo hou je dus zo veel mogelijk je HTML van je PHP gescheiden. je ONTKOMT echter niet aan HTML tussen je PHP omdat HTML uiteindelijk je output is :)

[ Voor 64% gewijzigd door SchizoDuckie op 01-09-2004 18:21 ]

Stop uploading passwords to Github!

Pagina: 1