Wat doet REQUEST_METHOD?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden geactualiseerd.

Bekijk vacature »

Java Developer

Dit ga je doen Het ontwikkelen van nieuwe software; Het ombouwen van de bestaande software; Zowel back- als front-end software ontwikkelen; Het testen; Het implementeren van de volledig geteste software; Het verzorgen van nazorg en het oplossen van bugs; Het opstellen en bijhouden van procesdocumentatie; Je draagt bij aan het agile/scrum processen van het team. Hier ga je werken Ongetwijfeld heb je een of meerdere producten van deze organisatie in huis. Het proces erachter, daar ben je ongetwijfeld minder bekend mee. Deze opdracht geeft je de kans meer over dit proces te weten te komen en een mooie bijdrage te

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving: De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van bromen snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie.De opdracht bestaat uit: het programmeren van de diverse modules;het tijdens demo's tonen van de

Bekijk vacature »

Software Developer C++ en Perl

Ben je een slimme en enthousiaste universitair opgeleide bèta die graag bij een relatief klein softwarebedrijf wil werken waar de sfeer goed is en eigen inbreng gewaardeerd wordt? Wij, IntelliMagic in Leiden, ontwikkelen technisch hoogwaardige software op het gebied van IT infrastructuur performance analytics. Het type software zorgt voor intellectueel interessante uitdagingen. We ontwerpen de producten zelf en verkopen deze als off-the-shelf software aan grote bedrijven in Europa en de VS. Wij zoeken een ervaren C++ software engineer met kennis van Perl voor een van onze ontwikkelteams. Werkzaamheden Samen met de andere ontwikkelaars specificeren, ontwerpen en implementeren van nieuwe functionaliteit

Bekijk vacature »

Software Programmeur

Functie omschrijving Ben jij op zoek naar een organisatie waar je samen met een team werkt aan iets moois en waar je naast hard werken ook hard kunt lachen? Dan ben je hier aan het juiste adres! Voor een informeel IT-bedrijf in omgeving Wassenaar zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed

Bekijk vacature »

.NET developer

Functie Als .NET developer wordt jij onderdeel van ons ICT team. In dit multidisciplinaire team ben jij samen met onze senior .NET ontwikkelaar en medior .NET ontwikkelaar verantwoordelijk voor ons ERP systeem. In dit systeem (Navision) ga jij leren ontwikkelen. Wij bieden jou dan ook een gedegen opleiding aan, samen met de ondersteuning van onze Senior .NET developer. Daarnaast ga jij aan de slag met ons portaal geschreven in Sharepoint. Verder ben jij verantwoordelijk voor EDI verkeer en het ontwikkelen binnen het ERP systeem en andere toepassingen en rapportages. Van jou wordt verwacht dat jij het proces goed leert kennen

Bekijk vacature »

Laravel Developer

Functie omschrijving Voor een gave organisatie in de buurt van Den Bosch zoek ik een PHP developer. Het is van belang dat je kennis/ervaring hebt met het framework Laravel. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Andere taken zijn onder andere: documentatie schrijven over applicaties/uitleg geven over software en applicaties/ klantcontact over bestaande applicaties/applicaties optimaliseren. Bedrijfsprofiel Deze organisatie zit in de regio van Den Bosch en is een klein bedrijf. Er werken circa

Bekijk vacature »

Junior .NET developer

Functie Wij zijn bezig met het ontwikkelen van een nieuw product en wij hebben jouw hulp hierbij nodig! Als junior .NET ontwikkelaar krijg jij de kans om samen met ons deze nieuwe uitdaging aan te gaan! Momenteel bestaat ons team uit drie interim Software Engineers. Twee hiervan zijn zeer ervaren .NET specialisten die inmiddels hun strepen in dit vakgebied al hebben behaald. Ook hebben wij een junior als onderdeel van ons team die zich op dit moment nog bezig houdt met de Front-end (Angular/TypeScript), maar zich nu ook meer gaat verdiepen in de backend. Wij willen ons team graag verder

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

Bekijk vacature »

Oracle Developer / PL SQL

Dit ga je doen Software ontwikkeling aan een internationaal gebruikt pakket; Werken met technieken als Oracle 19c, Toad, PL/SQL, Oracle Forms, Reports en Designer; Meedraaien in internationale projecten; Meedenken over technisch en functioneel ontwerp; Samenwerken met collega's als Informatie Analisten, Testers en Release Managers; Soms wensen en eisen afstemmen met de business. Hier ga je werken Onze klant, een internationaal bekend bedrijf dat essentiële producten maakt waar iedereen graag gebruik van maakt, zoekt versterking in het Software Development team. Samen met 3 developers, een release manager, een informatie analist en 3 testers werk jij aan een systeem waarmee complexe producten

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer start jij in een development team met twee ervaren software ontwikkelaars. Jouw persoonlijke ontwikkeling is voor ons erg belangrijk en jij gaat dan ook meelopen met onze Senior .NET ontwikkelaar die jou met zijn kennis en ervaring een goede begeleiding kan aanbieden. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit

Bekijk vacature »

Software developer

Werkzaamheden voor jou als software developer Voor een goede relatie in de regio Zwolle (meerdere locaties) zoeken wij een software developer die betrokken is bij de ontwikkelcyclus en verantwoordelijk is voor het testen en keuren van nieuwe en geoptimaliseerde software. In deze functie ben je in de implementatiefase de persoon die risico's beoordeelt en intern oplossingen aanbrengt om risico's te verkleinen. Binnen het ontwikkelteam van de software ben je een belangrijke schakel waar je intensief meewerkt met scrum. Het voorkomen van bugs in de programma's en het bevorderen van gebruiksvriendelijkheid voor eindklanten zijn voor jou een uitdaging en geeft voldoening

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Pagina: 1 2 volgende »

Marianne M

Marianne M

14/01/2013 17:45:27
Quote Anchor link
Als opdracht voor een cursus moet ik een gastenboek maken wat uit 2 pagina's bestaat. Met behulp van dit forum is dat aardig gelukt, dwz ik heb een werkend simpel gastenboek.
Nu staat er onderaan de pagina met de invoervelden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?PHP
if($_SERVER['REQUEST_METHOD'] == 'POST') // controle of er iets is gepost
{
header("Location: gastenboek.php");}
?>


Nu vraagt de docent:
Waarom test u op if($_SERVER['REQUEST_METHOD'] == 'POST') in invoer.php?
Mijn antwoord was dus: Om te controleren of er iets is gepost en vervolgens door te gaan naar de volgende pagina
Op dit forum was ik namelijk ergens dit tegengekomen:
Je controle of een formulier verzonden is, doe je met if($_SERVER['REQUEST_METHOD'] == 'POST')

De reactie van de docent weer:
Dat doet REQUEST_METHOD niet. Dat levert andere informatie op, niet wat u
denkt. Vervolgens verwijst hij naar de help van PHP.
Maar ik weet dus niet waar ik het zoeken moet, kom geen stap verder. Kan iemand uitleggen wat het dan wel doet?
 
PHP hulp

PHP hulp

05/01/2025 09:41:18
 
Wouter J

Wouter J

14/01/2013 17:49:27
Quote Anchor link
Je kan een request op verschillende manieren doen. Normaal vraagt een browser een pagina op met een GET request. In het geval van een formulier heb je vaak te maken met <form method="post"> waarin je aangeeft dat de browser een POST request moet maken. Dat is wat je hier kijkt, de REQUEST_METHOD geeft de request type (method) weer waarmee de pagina wordt aangeroepen.

Als de pagina aangeroepen wordt met een POST request mag je er 99.9999999% zeker van zijn dat dat komt omdat het formulier is ingevuld.

Waarschijnlijk gaat jouw docent klagen over dat je 'isset($_POST['submit'])' moet gaan gebruiken. Laat hem dan maar lekker praten, dat is de oude en verkeerde methode.
 
Ozzie PHP

Ozzie PHP

14/01/2013 17:57:13
Quote Anchor link
Staat deze code achter elkaar?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?PHP
if($_SERVER['REQUEST_METHOD'] == 'POST') // controle of er iets is gepost
{
header("Location: gastenboek.php");}
?>


Of staat er nog iets tussen? Nu controleer je inderdaad of er iets gepost wordt, maar als dat zo is wordt je direct doorgestuurd naar de gastenboek pagina...

De REQUEST_METHOD geeft terug op welke manier de pagina is aangeroepen. Indien er een formulier is verzonden / gepost dan is de waarde van REQUEST_METHOD gelijk aan "POST". Op deze manier weet je dus dat er een formulier is verzonden. Vervolgens ga je dan de invoervelden controleren.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

14/01/2013 18:00:00
Quote Anchor link
Marianne M op 14/01/2013 17:45:27:
Nu staat er onderaan de pagina met de invoervelden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?PHP
if($_SERVER['REQUEST_METHOD'] == 'POST') // controle of er iets is gepost
{
header("Location: gastenboek.php");}
?>

Ik neem aan dat je bovenaan de pagina bedoeld, anders zou het script niet werken (headers already sent)
 
Ward van der Put
Moderator

Ward van der Put

14/01/2013 18:01:59
Quote Anchor link
Drie suggesties:

• Je PHP-scriptblok met header() staat "onderaan de pagina met invoervelden"? Dan gaat het niet werken omdat je éérst de HTTP-headers moet verzenden, daarna pas de (X)HTML-code.

• Strikt genomen is HTTP niet hoofdlettergevoelig. Het mag dus bijvoorbeeld 'post' zijn in plaats van 'POST'.

• De HTTP-header Location moet een volledige, absolute URL bevatten, geen relatieve URL.
 
Erwin H

Erwin H

14/01/2013 18:05:10
Quote Anchor link
Wouter J op 14/01/2013 17:49:27:
Waarschijnlijk gaat jouw docent klagen over dat je 'isset($_POST['submit'])' moet gaan gebruiken. Laat hem dan maar lekker praten, dat is de oude en verkeerde methode.

Ozzie PHP op 14/01/2013 17:57:13:
Op deze manier weet je dus dat er een formulier is verzonden. Vervolgens ga je dan de invoervelden controleren.

Nou ja, enige nuance (of verdere uitleg) is denk ik wel op zijn plaats. Jullie reacties lezend zou ik tot de conclusie kunnen komen dat met alleen de check op de request method je kan weten of je formulier is verstuurd. Strikt genomen is dat natuurlijk niet waar. Je weet dan alleen dat er een post request is gedaan, niet waarvandaan en niet of het form dat je verwacht wel is verstuurd. Additionele checks blijven dus altijd nodig. Checken op de submit button heeft dan geen zin meer (want dit gaat niet altijd mee), maar je moet nog wel altijd checken of al je formuliervelden zijn meegegaan zoals je verwacht. Ik gok dat die docent daar op doelt.
 
Ozzie PHP

Ozzie PHP

14/01/2013 18:13:16
Quote Anchor link
Erwin H op 14/01/2013 18:05:10:
Jullie reacties lezend zou ik tot de conclusie kunnen komen dat met alleen de check op de request method je kan weten of je formulier is verstuurd. Strikt genomen is dat natuurlijk niet waar. Je weet dan alleen dat er een post request is gedaan, niet waarvandaan en niet of het form dat je verwacht wel is verstuurd. Additionele checks blijven dus altijd nodig. Checken op de submit button heeft dan geen zin meer (want dit gaat niet altijd mee), maar je moet nog wel altijd checken of al je formuliervelden zijn meegegaan zoals je verwacht. Ik gok dat die docent daar op doelt.

Ozzie PHP op 14/01/2013 17:57:13:
... Vervolgens ga je dan de invoervelden controleren.
 
Ward van der Put
Moderator

Ward van der Put

14/01/2013 18:20:25
Quote Anchor link
De reactie van de docent zou trouwens cynisch bedoeld kunnen zijn:

"Dat levert andere informatie op, niet wat u denkt."

Niet denken maar testen en die "andere informatie" is een PHP-foutmelding.
 
Ozzie PHP

Ozzie PHP

14/01/2013 18:26:52
Quote Anchor link
Hmmm... zoals beschreven lijkt me dat niet Ward:

"Nu vraagt de docent:
Waarom test u op if($_SERVER['REQUEST_METHOD'] == 'POST') in invoer.php?"

"De reactie van de docent weer:
Dat doet REQUEST_METHOD niet. Dat levert andere informatie op..."
 
Marianne M

Marianne M

14/01/2013 18:35:51
Quote Anchor link
Dus in eigen woorden zou mijn antwoord aan de docent zijn:
de REQUEST_METHOD geeft de methode weer waarmee de pagina wordt aangeroepen.
Is dit correct?

Ozzie PHP op 14/01/2013 17:57:13:
Staat deze code achter elkaar?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?PHP
if($_SERVER['REQUEST_METHOD'] == 'POST') // controle of er iets is gepost
{
header("Location: gastenboek.php");}
?>

Of staat er nog iets tussen? Nu controleer je inderdaad of er iets gepost wordt, maar als dat zo is wordt je direct doorgestuurd naar de gastenboek pagina...

Staat inderdaad achter elkaar. Het is ook de bedoeling dat je wordt doorgestuurd naar de gastenboek pagina.

Ger van Steenderen op 14/01/2013 18:00:00:
Ik neem aan dat je bovenaan de pagina bedoeld, anders zou het script niet werken (headers already sent)

Staat inderdaad onderaan de pagina en het script werkt gewoon hoor.
Maar ik heb het verplaatst naar boven <html> en dan werkt het ook.

Ward van der Put op 14/01/2013 18:01:59:
De HTTP-header Location moet een volledige, absolute URL bevatten, geen relatieve URL.

Het gastenboek staat niet op een website, maar lokaal. Moet ik er dan nu localhost/ voorzetten? Is nu toch nog niet nodig om een URL mee te geven?
 
Ozzie PHP

Ozzie PHP

14/01/2013 18:37:50
Quote Anchor link
"Staat inderdaad achter elkaar. Het is ook de bedoeling dat je wordt doorgestuurd naar de gastenboek pagina."

Wat er nu gebeurt, is dat als het formulier wordt verzonden, je wordt doorgestuurd naar de gastenboek pagina. De gegevens in het formulier worden dus niet gecontroleerd en ook niet opgeslagen.
 
Marianne M

Marianne M

14/01/2013 18:47:15
Quote Anchor link
De gegevens in het formulier hoeven (nog) niet gecontroleerd te worden. Dit is een eerste opdracht (na overigens hoofdstukken te hebben gelezen waar een dergelijk iets in mijn optiek helemaal niet echt wordt behandeld, slechts het maken van een tabel in een database en het verbinding maken ermee).
Als ik het goed heb begrepen zal de controle op het invullen verderop in de "lessen" behandeld worden.
Ik maak mijn borst alvast maar nat ;-)

En de gegevens worden wel degelijk opgeslagen in de database, maar dat is weer een heel ander stuk code.
Die heb ik hier niet geplaatst omdat ik dacht dat het niet relevant zou zijn.


Toevoeging op 14/01/2013 18:56:32:

Overigens vreemd dat de docent juist geen opmerkingen heeft over de regel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form action="<?php print $_SERVER['PHP_SELF'] ?>" method="post" >

Heb ik inmiddels wel al veranderd in:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="post">
naar aanleiding van reacties op dit forum op een andere vraag over dit gastenboek.
Gewijzigd op 14/01/2013 18:51:36 door Marianne M
 
Bart V B

Bart V B

14/01/2013 21:59:35
Quote Anchor link
Volgens mij moet je even verder in de cursus duiken. :)
Als die 2 dingen na elkaar komt, dan heeft het allemaal niet zoveel nut.
Daarom alvast een stukje wat je verder brengt zodat je de theorie wat beter begrijpt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php

if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{

   //maken een variabele array om evt. fouten op te vangen..
   $error = array();
   // hier moeten de controles worden gedaan niet netjes, maar even als voorbeeld.
   if( trim( $_POST['naam']  ) == ''  )
   {

      $error['naam'] = 'U moet een naam invullen';
   }

  
   // geen foutjes? ok inserten in de database

   // en dan pas de header plaatsen..

   header('Location:gastenboek.php');
   // om er zeker van te zijn dat het afsluit
   exit();
}

?>

edit typo.
Gewijzigd op 14/01/2013 22:27:39 door Bart V B
 
Marianne M

Marianne M

14/01/2013 22:16:45
Quote Anchor link
Die exit()
moet dat persé?

Ik kan me dat nog herinneren van het stukje Java wat ik voorafgaand aan deze cursus heb gedaan.
Alleen: waarom zou dat nodig zijn?
En ik krijg nu wel een foutmelding:
Parse error: syntax error, unexpected 'exit' (T_EXIT)
Gewijzigd op 14/01/2013 22:20:46 door Marianne M
 
Bart V B

Bart V B

14/01/2013 22:25:30
Quote Anchor link
ik weet niet hoe je script er nu uitziet.
Dus kan daar niet een zinnig antwoord op geven.
die exit zorgt ervoor dat je script niet meer doorloopt. Maar kan goed zijn dat het qua opbouw anders zal moeten.

kortom laat eens wat meer code zien.

Toevoeging op 14/01/2013 22:25:48:

ik weet niet hoe je script er nu uitziet.
Dus kan daar niet een zinnig antwoord op geven.
die exit zorgt ervoor dat je script niet meer doorloopt. Maar kan goed zijn dat het qua opbouw anders zal moeten.

kortom laat eens wat meer code zien.
 
Obelix Idefix

Obelix Idefix

14/01/2013 22:56:42
Quote Anchor link
Marianne M op 14/01/2013 22:16:45:
Die exit()
moet dat persé?

Die is er om er zeker van te zijn dat je script niet verder gaat na de header.
Het schaadt niet, je kunt er alleen baat bij hebben.
 
Marianne M

Marianne M

15/01/2013 14:17:35
Quote Anchor link
Ik laat die exit er voorlopig maar uit, het script stopt toch vanzelf als je doorgaat naar een andere pagina?
In ieder geval allen bedankt voor het meedenken en de aanwijzingen.
 
Kris Peeters

Kris Peeters

15/01/2013 14:34:06
Quote Anchor link
Marianne M op 15/01/2013 14:17:35:
het script stopt toch vanzelf als je doorgaat naar een andere pagina?

Nee, dat is net het punt.
De code wordt nog uitgevoerd.
Test maar eens uit met bv. SESSION['teller']++ , onder de header.
Je zal zien dat de ++ wordt uitgevoerd.

-------

Een typisch voorbeeld; bij een verwerking van een formulier

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
  // formulier verwerken
  ...
  header('Location:gastenboek.php');
}

else {
  // formulier genereren en printen voor de gebruiker
  echo '<form>...';
}

?>


Met behulp van die exit kan je de else weglaten, en hoeft dus niet alles binnen de accolades.
Je weet ook zeker dat de server geen extra energie zal verliezen aan code die nutteloos is in deze toestand.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
  // formulier verwerken
  ...
  header('Location:gastenboek.php');
  exit;
}

// formulier genereren en printen voor de gebruiker
echo '<form>...';
?>


Ik vind het wel meer gebruiksvriendelijk.
Gewijzigd op 15/01/2013 14:36:30 door Kris Peeters
 
Marianne M

Marianne M

15/01/2013 18:35:07
Quote Anchor link
Ik begrijp hieruit dat op de plaats van de ... op regel 4 iets moet komen?
Want nu krijg ik geen foutmelding meer (behalve als die ... op regel 4 blijven staan) en wel het formulier te zien, maar je wordt niet doorgestuurd naar de volgende pagina en de informatie uit de velden worden niet in de database geplaatst.
Ik zet even de volledige code neer zoals ik hem tot nu toe had:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<?PHP
if($_SERVER['REQUEST_METHOD'] == 'POST') // er is iets gepost dus kunnen we door naar de volgende pagina
{
header("Location: gastenboek.php");}
?>

<html>
<head>
<title>Gastenboek invoerpagina</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<style>
<!--
a{text-decoration:none}
//-->
</style>
</head>
<body bgcolor="#FFFFFF">
<form method="post">
    <br><table width="70%" border="0" cellspacing="0" cellpadding="3" align="center">
                    <tr>
                        <td>
                        <strong>Naam </strong><br>
                        <input value="" type="text" name="naam">
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <strong>Boodschap </strong><br>
                        <textarea name="boodschap" rows="8" cols="50"></textarea><br>
                        <input type="submit" value="Verstuur">
                        </td>
                    </tr>
                </table>
<?php
mysql_connect("localhost","root","");
mysql_select_db("voorbeeld");
if(isset($_POST['naam']) and isset($_POST['boodschap']) and $_POST['naam']!='naam' and $_POST['boodschap']!='boodschap' ) {
    $boodschap = $_POST['boodschap'];
    $naam = $_POST['naam'];
    $datum = date("d-m-Y");
    $boodschap = str_replace("\n", "<br>", $boodschap);

    $query = "INSERT INTO gastenboek(boodschap, naam , datum) VALUES ('".$boodschap."', '".$naam."', CURDATE())";
      $sql=mysql_query($query) or die (mysql_error());
}


?>


</body>
</html>
 
- SanThe -

- SanThe -

15/01/2013 19:57:35
Quote Anchor link
Een header() ALTIJD vóór output.

Dus niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<?PHP
if($_SERVER['REQUEST_METHOD'] == 'POST') // er is iets gepost dus kunnen we door naar de volgende pagina
{
header("Location: gastenboek.php");}
?>

<html>
<head>


Maar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?PHP
if($_SERVER['REQUEST_METHOD'] == 'POST') // er is iets gepost dus kunnen we door naar de volgende pagina
{
header("Location: gastenboek.php");}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 
Bart V B

Bart V B

15/01/2013 19:59:27
Quote Anchor link
nee, je doet dingen op de verkeerde plek. :)
- eerst kijken of er een request post is
- dan controles doen
- query uitvoeren
- naar andere pagina.

Even in code met jou opzet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') //gaan we controles doen, en inserten, dan pas naar volgende pagina..
{

    if(isset($_POST['naam']) and isset($_POST['boodschap']) and $_POST['naam']!='naam' and $_POST['boodschap']!='boodschap' )
    {

        //connecten met database
        mysql_connect("localhost","root","");
        mysql_select_db("voorbeeld");

        // query string maken
        $query = "INSERT INTO gastenboek(boodschap, naam , datum) VALUES ('".mysql_real_escape_string($_POST['boodschap'])."',
                                                                          '"
.mysql_real_escape_string($_POST['naam'])."',
                                                                          CURDATE())"
;
        // query uitvoeren
        $result = mysql_query($query);
        // iets fout? debuggen
        if($result === false)
        {

           echo '<pre>';
           echo $query;
           echo '</pre>';
           mysql_error();
        }

        else
        {
            // nu pas naar andere pagina..
            header("Location: gastenboek.php");
            exit();
        }
    }
    

}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Gastenboek invoerpagina</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<style>
<!--
a{text-decoration:none}
//-->
</style>
</head>
<body bgcolor="#FFFFFF">
<form method="post">
    <br><table width="70%" border="0" cellspacing="0" cellpadding="3" align="center">
                    <tr>
                        <td>
                        <strong>Naam </strong><br>
                        <input value="" type="text" name="naam">
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <strong>Boodschap </strong><br>
                        <textarea name="boodschap" rows="8" cols="50"></textarea><br>
                        <input type="submit" value="Verstuur">
                        </td>
                    </tr>
                </table>
</body>
</html>
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.