[php] geen weergave na isset

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hey,

Ik heb een pagina gemaakt met allemaal verschillende buttons. elke buttons staat voor z'n eigen form...het probleem echter treed op wanneer ik op 1 button klik, en er daardoor nog 2 buttons tevoorschijn komen.

het is dus:

pagina met button > klik > nieuwe buttons komen tevoorschijn (op dezelfde pagina)

echter, deze nieuwe buttons werken niet...plak ik dezelfde code in een apparte pagina werkt het prima...
iemand enig id ?

ik check btw of er op een button is geklikt door hetvolgende te doen per button
if (isset($_POST["button1"])) {
code voor deze button
}

if (isset($_POST["button2"])) {
code voor deze button
}

Hoop dat jullie me zo begrijpen,

Thanks alvast !

[ Voor 6% gewijzigd door Verwijderd op 08-03-2004 13:29 ]


Acties:
  • 0 Henk 'm!

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Post eens wat meer code van je pagina, en zet het even tussen de [php] [/php] tags

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Waneer de code in een apparte pagina wel werkt geeft dit neem ik aan wel duidelijk aan dat het niet aan die specifieke code ligt.

Voor de rest vind ik je probleem nogal onduidelijk. Je knoppen werken niet? Bedoel je hiermee dat ze niet verschijnen of dat er niks gebeurt waneer je er op drukt. In het tweede geval klopt er iets niet aan je gegenereerde html.

Iig raad ik je aan om ff goed te debuggen en wat meer duidelijkheid te scheppen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
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
if (isset($_POST["modules_bijhouden"])) {
        if ($_POST["systeem_keuze"] == "selecteer") {
        echo ("<font color=red>U heeft geen systeem geselecteerd, probeer het opnieuw</font>");
    }else{
echo ("<center><font size=6>Module's bijhouden</font><br>");
    if ($_POST["systeem_keuze"] == "cropit_algemeen") {
        echo ("Crop-IT module's"); }
    if ($_POST["systeem_keuze"] == "tis_algemeen") {
        echo ("TIS module's"); }
    if ($_POST["systeem_keuze"] == "dymos_algemeen") {
    echo ("DYMOS module's"); }
    
Echo ("<form action=$_SERVER[PHP_SELF] method=post name=form2>");
echo ("<br><br><table border=1>");
echo ("<tr><td>Module Nummer:</td><td><input type=textbox name=\"module_nr\" size=40></td></tr>");
echo ("<tr><td>Module Naam:</td><td><input type=textbox name=\"module_naam\" size=40></td></tr>");
echo ("</table>");
echo ("<input type=submit name=\"submit_nieuw_module\" value=\"Nieuwe toevoegen\">");
echo ("</form>");
    
    
echo ("Aanwezige module's in de database:");
$query = "SELECT * FROM ".$_POST["systeem_keuze"]."";
$result = mysql_query($query);
echo ("<table border=1><tr><td><b>Module nummer:</b></td><td><b>Module naam:</b></td><td><b>Verwijderen:</b></td></tr>");
while(list($module_id, $modules) = mysql_fetch_row($result)) {
    echo ("<tr><td>$module_id</td><td>$modules</td>
    <td><form action=$_SERVER[PHP_SELF] method=post name=form2><input type=hidden name=hidden value=$module_id><input type=submit name=delete_module value=Verwijderen></td>
    </tr>");
}
echo ("</table>");


if (isset($_POST["submit_nieuw_module"])) {
    
    echo ("<font color=red>Nieuwe module is toegevoegd...</font>");
    $query = "INSERT INTO ".$_POST["systeem_keuze"]." (module_id, modules) VALUES ('".$_POST["module_nr"]."', '".$_POST["module_naam"]."')";
    echo "[". $query ."]<BR>";
    $result = mysql_query($query) or die ("Fout: " . mysql_error());
    }

 if (isset($_POST["delete_module"])) {
    echo ("<font color=red>Module is verwijderd...</font>");
    $query = "DELETE FROM ".$_POST["systeem_keuze"]." WHERE module_id LIKE '".$_POST["hidden"]."'";
    $result = mysql_query($query) or die ("Fout: " . mysql_error());
    }
}   }

?>

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
het probleem is dus dat de knoppen wel verschijnen maar wanneer je er op klikt gebeurt er niets...ze verwijnen na erop geklikt te hebben ook van het scherm...

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

offtopic:
Als je toch bezig gaat, let dan gelijk op SQL Injection Attacks.. :X

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Met zulke slordige code is het natuurlijk ook niet vreemd dat er vanalles mis gaat. Ooit afgevraagd waarom er 2 }'s op de laatste regel staan?

Lees even de faq door over netjes coden, en je ziet waarschijnlijk zelf ook wel wat het probleem is.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Janoz schreef op 08 maart 2004 @ 13:37:
Met zulke slordige code is het natuurlijk ook niet vreemd dat er vanalles mis gaat. Ooit afgevraagd waarom er 2 }'s op de laatste regel staan?

Lees even de faq door over netjes coden, en je ziet waarschijnlijk zelf ook wel wat het probleem is.
Het werkt toch...ongeveer... 8)7 }:O 8)7
maar je hebt gelijk, ik zal eens aan de opmaak moeten gaan werken...
ben nog niet zo lang bezig weet je, dus vandaar...

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Nou, als het werkte, dan was je dit topic niet gestart. Ik wil je nogmaals met klem wijzen op de faq. Lees vooral het stukje over inspringen. Probeer gewoon eens te achterhalen waneer welke code wordt uitgevoerd.

Dat je nog maar net begonnen bent is absoluut geen excuus. Het is juist eerder een reden om het gelijk goed aan te leren. Waneer je gewoon even de verschillende scoops van de verschillende if statements goed laat inspringen dan zie je zo waarom de delete en insert code neit wordt uitgevoerd.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Zover ik kan zien hebben beide aanwezige formulieren dezelfde naam:
name=form2

Dit moeten unieke namen zijn (althans binnen die pagina), zodat er is een verschil is in de formulieren. Daardoor snapt de pagina het waarschijnlijk niet meer.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Volgens mij sluit TS gewoon de accolade te laat af, zoals Janoz al zei.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Tis moeilijk om te volgens, maar met een tijdje (bij studie ontwijkend gedrag) zie je waar die 2 haakjes vandaan komen, dacht ook ff dat ze fout waren.

In het begin staat:
if (isset($_POST["modules_bijhouden"])) { .
Das haakje 1
en daarna staat een if die gevolgt wordt door een } else {.
Das haakje 2.
Misschien zie ik een haakje over het hoofd, maar zo op het oog staan de haakjes goed. Ik sluit me trouwens aan bij de rest dat de code geen schoonheidsprijs verdient. :)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Het ontbreken van een indent bij het openen van het eerste form wijst er volgens mij op dat het code block daar afgesloten had moeten worden, vandaar dat ik denk dat het o.a. daar fout zit. :P Ik heb echter geen zin om heel erg inhoudelijk naar dit soort rommelige code te kijken, het is immers maandag en op maandag ben ik lui (rest van de week ook trouwens O-)).

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Syntactisch is de code ook juist, maar door het lelijke inspringen kan TS helemaal niet zien welk onderdeel nu binnen wel if statement valt. Dit lijkt me duidelijk een gevalletje "huh, parserror op laatste regel } verwacht?, nou, dan zet ik die daar wel ff neer" ipv dat er gewoon even over de code wordt nagedacht.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
jongens, het is me duidelijk dat ik eerst de code even op moet poetsen,
dat ga ik dan nu maar even doen, mocht het dan nog niet werken, kom ik terug !
bedankt iig !

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 08 maart 2004 @ 13:35:
het probleem is dus dat de knoppen wel verschijnen maar wanneer je er op klikt gebeurt er niets...ze verwijnen na erop geklikt te hebben ook van het scherm...
Korte blik: je gehele code if afhankelijk van regel 1:
PHP:
1
if (isset($_POST["modules_bijhouden"]))


In je code zie ik verder modules_bijhouden nergens voorkomen... deze waarde wordt dus niet gepost, en code wordt derhalve nooit meer uitgevoerd.... Gelukkig verdwijnen de knoppen na erop geklikt te hebben van het scherm....

Je zou op de plek waar je twee knoppen plaats bijvoorbeeld kunnen toevoegen: <input type='hidden' name='modules_bijhouden' value='true'>

Succes verder
Pagina: 1