variabele in opvragen?
Ben een newb dus vandaar deze makkelijke vraag :P
Ik heb een formulier gemaakt op index.php en bij het 'versturen' zet hij de gegevens in een database (via toevoegen.php). Nu heb ik in toevoegen o.a. het volgende staan:
$added = "ja";
$URL="index.php";
header ("Location: $URL");
zodat hij mij weer terug stuurt naar mijn index.php. In mijn index staat dan dit:
Zodat ik een tekstje krijg dat hij is toegevoegd als ik vanuit die toevoegen.php kom. Als ik gewoon naar index.php ga moet hij er natuurlijk niet meteen komen te staan.
Dit werkt niet.. op de een of andere manier wordt $added niet doorgegeven aan index.php. Is dit mogelijk?, want ik probeer ook maar wat :P
sessions
if ($_GET['added'] == '1') {
echo 'Opdracht toegevoegd';
}
en in toevoegen.php:
$URL="index.php?added=1";
header ("Location: $URL");
Denk niet dat daar sessions voor nodig zijn. Maar hoe zorg ik ervoor dat ?added=1 uit de URL verdwijnt zodra hij "Opdracht toegevoegd" heeft laten zien? Want als ik nu naar een ander menuknopje ga en weer naar home staat die tekst er nog steeds..
In toevoegen.php:
session_start();
$_SESSION['added'] = 1;
en index.php:
if(isset($_SESSION['added'])) {
echo "Opdracht toegevoegd";
//$_SESSION['added'] = 0;
}
$_SESSION['added'] = 0;
Met bovenstaande set je de variabele op 0, dus deze is nog steeds geset.
Probeer eens zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
session_start();
$_SESSION['added'] = true;
en index.php:
if($_SESSION['added']) {
echo "Opdracht toegevoegd";
$_SESSION['added'] = false;
}
?>
session_start();
$_SESSION['added'] = true;
en index.php:
if($_SESSION['added']) {
echo "Opdracht toegevoegd";
$_SESSION['added'] = false;
}
?>
Een nieuwe vraag: Ik controleer nu in mijn toevoegen.php of alle velden zijn ingevuld. Als dat niet zo is geeft hij 'echo "veld niet ingevuld"'. Nu komt dat alleen op een nieuwe blanko pagina te staan terwijl ik die tekst eigenlijk op dezelfde pagina onder het formulier wil hebben. Nu kan ik dit ook met sessions doen volgens mij, maar dat zou ik header(formulierblabla.php) gebruiken ofzo en dan worden de velden weer leeg..
Is er een oplossing? :)
if($_SERVER['request_method'] == POST){
en bovendien gaat het mij niet om het controleren van de velden, daar heb ik al iets op. Het enige is dat ik een error wil krijgen als er iets niet is ingevuld (dat deel heb ik al) en dat deze error gewoon onder de 'verzend knop' komt te staan van het formulier. Als ik op die knop druk gaat hij naar een php file die controleert of alles is ingevuld en is dat niet zo dan heb ik "echo 'error...' ", maar dat komt natuurlijk op een lege witte pagina. Die error moet gewoon op die formulierpagina onderaan worden geplakt :/
Toevoeging op 12/12/2010 21:57:57:
Heb nog eens naar dat script gekeken en ik snap hem toch. Het enige is dan dat ik 2 keer hetzelfde formulier in m'n script moet zetten en ik denk dat dat toch makkelijker moet kunnen. Bovendien wil ik ook dat de wél ingevulde velden ook ingevuld blijven. Als ik dit script gebruik zullen ze weer leeg raken.
Function form() {
Echo '
// je formulier hier
';
}
Het opvragen doe je met form();
Toevoeging op 12/12/2010 23:03:19:
Je zou met sessies kunnen werken als je wilt dat ze ingevuld blijven
wordt aangeroepen. Als ik op mijn formulier.php pagina Zend druk gaat hij naar toevoegen.php waar de velden worden gecontroleerd. Zijn ze goed, dan gaat hij door naar index.php, mijn home pagina. Als ze niet goed zijn moet ik hem weer terug laten gaan naar de formulier pagina. Ik snap niet helemaal wanneer dat request_method dat wordt geset..