Wat doet REQUEST_METHOD?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en staan

Bekijk vacature »

C# .NET Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf. Lees dan snel verder! Voor deze functie zoeken wij een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Daarnaast begeleid je complexe projecten, wij zoeken iemand die altijd kansen ziet en waarbij het glas altijd half vol is. Voor deze functie zoeken wij een Developer met ervaring op het gebied van .NET die deze organisatie gaat versterken. Binnen de organisatie ga jij je vooral bezighouden met het verbeteren van

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een gewaardeerde werkgever in regio Oosterhout zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je brengt de aanpassingssuggesties van klanten in kaart, om

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

Bekijk vacature »

Scrum Master

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

C# developer

Functie omschrijving We are looking for a dutch native speaker Ik ben op zoek naar een back-end developer, die met name kennis & ervaring heeft van de programmeertaal C#. Jij gaat aan de slag bij een topspeler in de logistieke sector, die zich behalve met logistiek, ook bezig houdt met softwareontwikkeling. Welke taken komen hierbij kijken? Je gaat desktop- en webapplicaties onderhouden en optimaliseren, waarin je werkt met o.a. C#, ASP.NET, SQL Server en T-SQL. Je hebt regelmatig klantcontact om de wensen in kaart te brengen en te evalueren over de huidige draaiende applicaties. Je implementeert nieuwe functionaliteiten toe aan

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

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 »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Moordrecht zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn ze op zoek naar een Technische front end developer. Momenteel hun front end back end team gescheiden aan het werk. Hier willen ze verandering in krijgen. Omdat ook veel interne applicaties ontwikkeld worden zoeken ze iemand die hen kan helpen om de interne applicaties te voorzien van de juiste Vue.js componenten. Zodoende willen ze de interactie tussen front end en back end versoepelen en de volgende stap binnen het platform gaan zetten. Deze componenten die jij ontwikkeld zullen in elk project gebruikt worden. Het back end team bestaat momenteel uit 8 ontwikkelaars

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Medior PHP Developer

Functie omschrijving Ben jij een getalenteerde PHP Developer en aan de slag in een gemotiveerd team? Lees dan snel verder! Voor onze opdrachtgever in de omgeving van Valkenswaard zijn we op zoek naar een ervaren PHP developer. Jij gaat hier zorg dragen voor het optimaliseren en up-to-date houden van de bestaande applicaties. Je werkt verder aan de applicaties die jij verder ontwikkelt. Dit doe je voornamelijk met PHP en MySQL. Verder ga je je bezig houden met: Het uitbouwen van het E-commerce software platform. Deelnemen aan overleggen met het team. Het ondersteunen van jouw team developers (3 man) en helpen

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

21/01/2025 21:22:11
 
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.