$_POST leegmaken
Pagina: « vorige 1 2 3 4 5 volgende »
Albert de Wit op 19/08/2012 13:35:38:
wat je zegt klopt ongeveer wel ja. probleem is, er is maar 1 pagina: index.php
Het klopt of het klopt niet. Niet ongeveer.
Albert de Wit op 19/08/2012 13:35:38:
met functie.php kijk wat welke $_GET er is geset dus welke file ik moet includen
Het ging offtopic over grammatica, maar kan het niet laten: lees die zin zelf nog eens en vraag je af of dat goed Nederlands is/duidelijk is.
Je zult er dus voor moeten zorgen dat die $_GET een zodanige waarde bevat, dat het formulier niet opnieuw gepost zal/kan worden.
Gewijzigd op 19/08/2012 13:44:53 door Obelix Idefix
een script/pagina loopt van boven naar beneden
| (index.php)
|
| <formulier $_POST>
|__________________________________
|
| (index.php)
|
| database verwerkt $_POST data
|
| header("Location: index.php");
| exit();
|__________________________________
|
| (index.php)
|
| database verwerkt niets want er is niets gepost
|__________________________________
V
als je redirect naar een pagina, dan geef je de $_POST waardes toch niet mee? Ook niet van een button/submit toch?
index.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
session_start();
if( !isset($_GET['page'] ) )
{
$html = 'default.php';
}
else
{
$html = $_GET['page'].'.php';
}
?>
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8" />
<title>test</title>
</head>
<body>
<?php include $html; ?>
</body>
</html>
session_start();
if( !isset($_GET['page'] ) )
{
$html = 'default.php';
}
else
{
$html = $_GET['page'].'.php';
}
?>
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8" />
<title>test</title>
</head>
<body>
<?php include $html; ?>
</body>
</html>
default.php
contact.php
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<h1>Contact</h1>
<form action="functie.php" method="POST">
<input type="text" name="email" value="" />
<input type='submit' name="submit" value="posten">
</form>
<form action="functie.php" method="POST">
<input type="text" name="email" value="" />
<input type='submit' name="submit" value="posten">
</form>
functie.php
Code (php)
bedankt.php
Nee, met header(location....) roep je een 'nieuwe' pagina aan, dus wordt er niets gepost.
Ik heb ongeveer het volgende
Code (php)
1
2
3
2
3
<form action='index.php' method='POST'>
<input type='text' name='Naam'>
<input type='submit' name='send'>
<input type='text' name='Naam'>
<input type='submit' name='send'>
index.php
Albert de Wit op 19/08/2012 14:50:55:
ok, ik denk dat ik het iets duidelijker kan uitleggen.
Vermoedelijk wel ;-)
Albert de Wit op 19/08/2012 14:50:55:
Ik heb ongeveer het volgende
Niet ongeveer. Wat heb je _precies_??!!??!!
Ten aanzien van je code (maar mogelijk heb je dat al):
controleren of een formulier verzonden is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST') en niet met if (isset($_POST['send']))
Je controleert nergens of $_POST['naam'] is ingevuld/bestaat.
Je query is lek (onbeveiligd).
Je past geen foutafhandeling toe.
if ($query) en dan header lijkt me onnodig; zodra het formulier verzonden is en na het verwerken volgt een header.
Waarom naar index2.php? Je hebt toch maar 1 pagina??
Wat zit er in $_SERVER['QUERY_STRING'] en heb je dat wel nodig bij de redirect???
Gewijzigd op 19/08/2012 15:04:10 door Obelix Idefix
Bart V B op 19/08/2012 10:00:40:
Ozzie, mag ik vragen houd jij bent?
Misschien een wat vreemde vraag maar toch.
Een begrijpelijke opmerking hoor, maar ik denk dat ik een zeer ruime levenservaring heb en een olifanten geheugen om in te schatten wat de kunde en onkunde/ beperkingen van iemand is/zijn.
Als ik Albert's geschiedenis terug neem, dan geeft hij ergens aan dat hij het prettig vind als je heel duidelijk tegen hem bent.
Dan moet je hem niet laten spartelen omdat hij iets niet helemaal door heeft, en al zeker niet over hem heen gaan lopen want dat komt niet aan.
Als ik dat niet zou hebben geweten, dan had ik ook niet meer hint's gegeven.
Wat jij doet is het tegenovergestelde wat je met zijn beperking zou moeten doen.
Prikkelbaar maken, en onzeker. Niet doen dus! Stimuleren, duidelijk zijn en op een positieve manier brengen.
Waar slaat dit nou toch in hemelsnaam op!
Heeft dit enig toevoeging aan dit topic?
Kan een mod dit even richting /dev/null/ sturen.
Quote:
Bart, leuk dat je alles voorkauwt, maar daar leert hij totaal niks van. Ik snap dat het goed bedoeld is, maar laat hem eerst zelf eens het een en ander uitvogelen.
Ozzie, mag ik vragen houd jij bent?
Misschien een wat vreemde vraag maar toch.
Een begrijpelijke opmerking hoor, maar ik denk dat ik een zeer ruime levenservaring heb en een olifanten geheugen om in te schatten wat de kunde en onkunde/ beperkingen van iemand is/zijn.
Als ik Albert's geschiedenis terug neem, dan geeft hij ergens aan dat hij het prettig vind als je heel duidelijk tegen hem bent.
Dan moet je hem niet laten spartelen omdat hij iets niet helemaal door heeft, en al zeker niet over hem heen gaan lopen want dat komt niet aan.
Als ik dat niet zou hebben geweten, dan had ik ook niet meer hint's gegeven.
Wat jij doet is het tegenovergestelde wat je met zijn beperking zou moeten doen.
Prikkelbaar maken, en onzeker. Niet doen dus! Stimuleren, duidelijk zijn en op een positieve manier brengen.
Quote:
Steeds als ik een post van jou zie denk ik dat je avatar een hakenkruis is.
Is dat je bedrijfslogo?
Is dat je bedrijfslogo?
Waar slaat dit nou toch in hemelsnaam op!
Heeft dit enig toevoeging aan dit topic?
Kan een mod dit even richting /dev/null/ sturen.
Toch even reageren op wat hier gezegd wordt...
Bart, ik ben ouder dan de meesten hier en ga er maar vanuit dat ik een ruime levenservaring heb. Daarnaast had mijn opmerking weinig te maken met levenservaring, maar met het stimuleren van zelf dingen doen. Als je altijd dingen blijft vragen, dan kom je zelf geen stap verder. Toen ik begon met PHP en toen ik in het begin hier op het forum zat was ik ook geneigd om heel veel te vragen. Totdat andere, meer ervaren PHP'ers mij erop wezen dat het goed is om ook zelf dingen uit te zoeken. Jij zegt dat Albert aangeeft dat je heel duidelijk tegen hem moet zijn. Daar is niks mis mee, maar staat wat mij betreft los van het feit dat je iemand moet stimuleren om zelf op onderzoek uit te gaan en dingen te leren.
Dan wat betreft de opmerking over het hakenkruis... Misschien was het niet de juiste plek om daar zomaar in een een topic over te beginnen, maar N K had wel gelijk. Je hebt helemaal niet veel fantasie nodig om daar een hakenkruis in te zien, want mij was het ook al opgevallen vanaf dag 1, alleen heb ik er verder niks over gezegd. Ik snap niet waarom iedereen daar zo enorm over struikelt dat N K daar een opmerking over maakt. Dit was goed bedoeld. Wees blij dat sommige mensen kritische opmerkingen durven te maken en niet alles voor zoete koek slikken. En blijkbaar was Albert zich er niet van bewust en hij heeft nu dan ook netjes z'n avatar dan ook aangepast. Prima toch?
Gewijzigd op 19/08/2012 15:23:25 door Ozzie PHP
Obelix en Idefix op 19/08/2012 15:02:39:
Vermoedelijk wel ;-)
Niet ongeveer. Wat heb je _precies_??!!??!!
Ten aanzien van je code (maar mogelijk heb je dat al):
controleren of een formulier verzonden is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST') en niet met if (isset($_POST['send']))
Je controleert nergens of $_POST['naam'] is ingevuld/bestaat.
Je query is lek (onbeveiligd).
Je past geen foutafhandeling toe.
if ($query) en dan header lijkt me onnodig; zodra het formulier verzonden is en na het verwerken volgt een header.
Waarom naar index2.php? Je hebt toch maar 1 pagina??
Wat zit er in $_SERVER['QUERY_STRING'] en heb je dat wel nodig bij de redirect???
Albert de Wit op 19/08/2012 14:50:55:
ok, ik denk dat ik het iets duidelijker kan uitleggen.
Vermoedelijk wel ;-)
Albert de Wit op 19/08/2012 14:50:55:
Ik heb ongeveer het volgende
Niet ongeveer. Wat heb je _precies_??!!??!!
Ten aanzien van je code (maar mogelijk heb je dat al):
controleren of een formulier verzonden is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST') en niet met if (isset($_POST['send']))
Je controleert nergens of $_POST['naam'] is ingevuld/bestaat.
Je query is lek (onbeveiligd).
Je past geen foutafhandeling toe.
if ($query) en dan header lijkt me onnodig; zodra het formulier verzonden is en na het verwerken volgt een header.
Waarom naar index2.php? Je hebt toch maar 1 pagina??
Wat zit er in $_SERVER['QUERY_STRING'] en heb je dat wel nodig bij de redirect???
Dit is niet waar ik mee bezig ben, dit is een testpagina. Klopt dit, ja of nee?
Ik heb nu index2.php een redirect gestuurd naar index.php en als ik daar refresh krijg ik nog steeds een waarschuwing
Toevoeging op 19/08/2012 16:10:41:
kan ik vanaf index.php mij doorsturen naar index.php?
Albert de Wit op 19/08/2012 15:35:20:
Toevoeging op 19/08/2012 16:10:41:
kan ik vanaf index.php mij doorsturen naar index.php?
kan ik vanaf index.php mij doorsturen naar index.php?
Als je het goed doet, kan het. Anders kom je in een oneindige loop.....
Probeer het eens ;-)
als ik op index.php?mijnaccount een formulier verzend naar index.php?mijnaccount (zelfde dus) en op aankomst worden $_POST['send'] en $_POST['naam'] gelezen, word in database gezet. Daarna doorsturen naar index.php?mijnaccount, nu komt de vraag, bestaat $_POST['send'] nu nog?
Desnoods copy/past hem eens. Dan zie je precies wat het doet.
Wat jij wil kan helemaal niet. Doorsturen van index.php naar index.php is niet logisch. Mits jij alles in een script verwerkt. Maar dat is niet wat jij doet of wil doen.
- index.php word geladen met een formulier.
(in mijn voorbeeld doe ik contact.php includen.)
- Als er wat word gepost dan moet je een ander script laden.
(in mijn voorbeeld is dat funtie.php_
- In de functie.php word alles afgehandeld.
- Nadat alles is afgehandeld, word er verwezen naar index.php?page=bedankt.
- Als je nu op f5 drukt dan zal je alleen maar bedankt zien. Want alle post waardes zijn niet meer aanwezig.
Quote:
Bart, ik ben ouder dan de meesten hier en ga er maar vanuit dat ik een ruime levenservaring heb. Daarnaast had mijn opmerking weinig te maken met levenservaring, maar met het stimuleren van zelf dingen doen.
Daarom vroeg ik het ook hoe oud je bent. :)
Afgezien van dat ligt het in dit geval even wat anders...
Mocht je interesse hebben om de offtopic discussie voort te zetten, dan nodig ik je uit om dat via pm te doen. Ik denk dat het heel lastig word voor zowel de TS als de lezers hier om het topic te volgen.
Quote:
Dan wat betreft de opmerking over het hakenkruis... Misschien was het niet de juiste plek om daar zomaar in een een topic over te beginnen, maar N K had wel gelijk. Je hebt helemaal niet veel fantasie nodig om daar een hakenkruis in te zien, want mij was het ook al opgevallen vanaf dag 1, alleen heb ik er verder niks over gezegd. Ik snap niet waarom iedereen daar zo enorm over struikelt dat N K daar een opmerking over maakt. Dit was goed bedoeld. Wees blij dat sommige mensen kritische opmerkingen durven te maken en niet alles voor zoete koek slikken. En blijkbaar was Albert zich er niet van bewust en hij heeft nu dan ook netjes z'n avatar dan ook aangepast. Prima toch?
Ook daar liggen we mijlen ver uit elkaar.
Dat iemand kritisch kijkt naar iets vind ik helemaal prima.
Maar om iemand alleen een nutteloze reactie te geven wat helemaal totaal niets met het topic heeft te maken, en vervolgens maar dan ook nergens de TS te helpen met zijn probleem gaat mij een tikje te ver.
EDIT
Mijn laptop kan niet helemaal tegen de warmte vandaar dat mijn post nog niet compleet was.
Gewijzigd op 19/08/2012 16:37:58 door Bart V B
Nope, de $_POST variabelen bestaan alleen die ene keer dat je het formulier verzonden hebt. Dat is immers de enige keer dat er informatie 'gepost' is ;-)
Ik gebruikte de hele tijd header("Location: index2.php",true,200); maar het moest zijn
header("Location: index2.php"); omdat hij nu niet meer in een oneindige loop zit. Toch hartstikke bedankt voor jullie hulp en tijd, word altijd erg gewaardeerd :)
Oh en over dat swastika gedoe, ik heb een ander pic genomen
Gewijzigd op 19/08/2012 16:36:33 door Albert de Wit
Nee, zolang je dat met header(location: ....) doet niet
Albert de Wit op 19/08/2012 16:35:24:
Jongens, laat maar... IK HEB HET!!!!
Ik gebruikte de hele tijd header("Location: index2.php",true,200); maar het moest zijn
header("Location: index2.php");
Ik gebruikte de hele tijd header("Location: index2.php",true,200); maar het moest zijn
header("Location: index2.php");
Pffffffffffffffffffffffffffffff. In de 1e reactie op jouw openingspost stond de juiste formulering van header al.
Daarom ook mijn vraag verschillende keren wat je aan code had/hebt en niet 'ongeveer' en als test-code.
sorry, volgende keer zal ik daarmee duidelijker zijn
Ben blij dat je er zelf bent uitgekomen.
Misschien in jou geval is het beter om exact de code te posten wat je hebt gedaan.
Dan krijg je misschien de opmerking dat het teveel is, maar beter 20 regels teveel dan 1 te weinig.
Overigens, nog een kleine tip:
Bij html tags gebruik je double quotes.
Ik zie je regelmatig in dit topic verkeerd doen.
Dus als je bijvoorbeeld een html form maakt dan moet dat als volgt:
Code (php)
1
2
3
4
2
3
4
<form method="post" action="iets.php" >
<input type="text" name="email" value="" />
<input type="submit" name="submit" value="posten" >
</form>
<input type="text" name="email" value="" />
<input type="submit" name="submit" value="posten" >
</form>
Quote:
Tja wat wil je als je op je avatar aangevallen wordt!
PS:
De mijne lijkt op popey
PS:
De mijne lijkt op popey
+1 :)
Gewijzigd op 19/08/2012 16:57:40 door Bart V B
<input type='text'>
echo "<input type='text'>";
ik zal dat mezelf wel aanleren.
Dat is een beetje het nadeel van php.
Een string kan met double quotes en single quotes.\
Leer je zelf aan dat single quotes altijd goed is.
Want zo weet je ook wanneer je variabelen buiten quotes moet zetten.
Als je het ooit verkeerd om doet dan zou je in dit geval letterlijk $var als output hebben. ;)
Nog beter is om html en php van elkaar te scheiden:
Gewijzigd op 19/08/2012 17:09:14 door Bart V B