[PHP/SQL] Genest if-else wil niet meewerken

Pagina: 1
Acties:

Onderwerpen


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 11-09 14:55

Kaastosti

Vrolijkheid alom!

Topicstarter
Ik ben bezig met een nieuws-pagina voor een project op school. Hij wordt onderdeel van een grotere site, maar het leek me een leuk begin. Nou maak ik gebruik van forms en een genest if-else statement.

Probleem hierbij is dat ik na het klikken op de tweede submit knop het eerste scherm weer voor me krijg. Ofwel hij is vergeten dat de variabele in de eerste if-else, die bepaalt of een gedeelte wel of niet zichtbaar moet zijn, nog steeds 'true' is.

Hier een zwaar verkorte code om duidelijkheid te verschaffen over de structuur:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
require 'database.php';

if (!isset($HTTP_POST_VARS[bewerken])){
    echo "<form method='post'>";
    echo "  <input type='submit' name=bewerken value='Bewerken'>";
    echo "</form>";
}
else{
    if (!isset($HTTP_POST_VARS[submit])){
        echo "<form method='post'>";
        echo "  <input type='submit' name=submit value='Wijzig bericht'>";
        echo "</form>";
    }
    else{
        <<query die database update>>
        echo "Bericht is gewijzigd<br><br>";
        echo "<a href='nieuws.php'>Terug naar nieuws</a>";
    }
}
?>


Er missen een boel tags, maar dit is de code waar het uiteindelijk om gaat. Na het klikken op de tweede submit knop (name=submit) krijg ik niet het stukje met de update-query, maar het eerste scherm weer. De variabele 'selectie' is hij dus vergeten.

Op verzoek kan ik best de hele code plaatsen... aangezien ze weer eens problemen hebben bij Chello kan ik 'm niet even als link posten, aangezien ik spontaan geen rechten meer heb op Chello ftp account |:(

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


Verwijderd

qoute je indexes dus $HTTP_POST_VARS['bewerken'] en $HTTP_POST_VARS['submit']

verder heep ik geen idee van het probleem
wat gaat er fout, wat heb je al geprobeerd,

doe eens print_r($HTTP_POST_VARS)

geef eens meer info

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 11-09 14:55

Kaastosti

Vrolijkheid alom!

Topicstarter
indexes op die manier quoten levert een php foutmelding op over een unexpected encapsulated expression (iod), dat heb ik al geprobeerd.

print_r opdracht levert binnen de eerste else{} het volgende:
Array ( [selectie] => Forum werkt [bewerken] => Bewerken )
Da's wel ok, aangezien dat de twee variabelen zijn die hij nodig heeft in dat stukje.

Ik heb geprobeerd om beide statements af te laten hangen van dezelfde variabele, maar dat geeft hetzelfde effect... verder ben ik wezen spelen met andere variabelen, maar dat ging eigenlijk nergens over. Ik zit vast... meer info heb ik niet :S

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 11-09 14:55

Kaastosti

Vrolijkheid alom!

Topicstarter
Ik heb nu gewoon een variabele gemaakt in de geneste statement die ook 'selectie' heet en dus meegestuurd bij refresh. Op die manier zijn ze beiden afhankelijk van een andere variabele en werkt het :)

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.