Toon posts:

[PHP] formulier controle

Pagina: 1
Acties:
  • 49 views sinds 30-01-2008

Verwijderd

Topicstarter
k weet dat het basic is maar kom er even niet uit :P

ik heb een forumlier gemaakt in php:

<?php
if (isset($_POST['a_submit'])){
if (!empty($_POST['a_omschrijving'])) {
$actie="pagina.php";
} else { print "het veld omschrijving is niet ingevuld"; }
} else { }
?>
<form name="form1" method="post" action="<?php if (!empty($actie)){ print "$actie"; }else{ print "";} ?>">

Als het forumulier correct is ingevuld moet het dus naar pagina.php gaan, dit gebeurt echter pas wanneer er voor de tweede maal op de submit is geklikt, wat is er hier fout?

Verwijderd

Er is niets fout. De code doet precies wat het zou moeten doen. Als je direct door wilt gaan naar een andere pagina dan moet je een header("Location: ..."); zetten. Als je eens wat minder zou helpdesken en wat meer boeken zou lezen, dan zou je wel inzien wat je fout doet. code tags zijn trouwens bedoelt om code weer te geven. Lees de faq even.

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 22:27

MueR

Admin Devschuur® & Discord

is niet lief

Je var $actie wordt pas geset nadat je op submit klikt
Vervolgens moet je nog een keer klikken om het script te laten weten dat je die actie wil doen. De eerste keer is $actie onbekend, dus leeg.

PHP:
1
2
3
4
5
6
7
8
9
10
11
if (isset($_POST['a_submit']))
{
  // Hier kom je pas nadat je op submit hebt geklikt.
  if (empty($_POST['a_omschrijving']))
  {
    print "het veld omschrijving is niet ingevuld";
  }
}
?>
<form name="form1" method="post" action="<?=(empty($actie) ? "pagina.php" : $actie)?>">
// rest van form hier

[ Voor 46% gewijzigd door MueR op 07-05-2005 15:49 ]

Anyone who gets in between me and my morning coffee should be insecure.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Je moet ook niet op zo'n manier een check willen afhandelen. Checken doe je ofwel in Javascript voordat je je formulier verzendt, of je doet het in PHP, waarbij je dus op de pagina waar de action van je form naar verwijst de checks doet, en daarna ofwel teruggaat naar het formulier, ofwel verder naar een volgende pagina (als de input goed is).

Verder zal ik mezelf nog eens quoten:
-NMe- schreef op woensdag 13 april 2005 @ 21:29:
Helaas voldoet je topic niet helemaal aan de verwachtingen die we in Programming & Webscripting van een topic hebben.

Om de zaken in dit subforum wat prettiger te laten verlopen, is P&W FAQ - Het FAQ/Beleid topic gemaakt, waarin onder andere uitgelegd wordt welke topics in dit subforum horen, en er staan wat veelgestelde vragen voor een groot aantal omgevingen en talen. Ook is er nog P&W FAQ - De "quickstart", waarin beschreven wordt welke activiteiten er vooraf gaan aan het plaatsen van een topic. Vooral eigen inzet wordt gewaardeerd, en dit is ook wat ik mis in jouw topic. :) Wat heb je al geprobeerd? Wat heb je gezocht? En wat heb je gevonden? Waarom was dat niet goed?

Ik gooi nu je topic op slot. Je bent vrij om een nieuw topic te openen, maar denk daarbij wel aan de hierboven genoemde FAQ's. :)
Ik ben bang dat dit topic niet veel beter is dan je eerste. Je gooit wat code neer, en vraagt in feite anderen om jouw probleem voor je op te lossen. Dat terwijl je niet eens vertelt waar je naartoe wil met je code. Om die reden doe ik wederom je topic op slot. :)

Je mag gerust een nieuw topic openen als je er nog niet uit komt na bovenstaande tips, maar lees dan wel eerst de quickstart eens door. Gebruik de volgende keer dat je code post ook liever [code]-tags, dat leest wat fijner. :)

'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.


Dit topic is gesloten.