basis vraagje echo

Status
Niet open voor verdere reacties.

mrniles

Gebruiker
Lid geworden
27 jul 2010
Berichten
5
Hallo

ik ben weer een beetje aan het pielen met php en ik heb een basis vraag waar ik niet uit kom
heb ook geen idee hoe het heet zodat ik het op google kan zoeken.

het probleempje
Op een pagina wordt iets ingevuld bv Naam
Code:
<tr>
    <td>Voornaam:</td>
    <td>Achternaam: </td>
        </tr>
        <tr>
    <td><INPUT TYPE="text" NAME="voornaam" SIZE="22" MAXLENGTH="40" TABINDEX="1"></td>
    <td><INPUT TYPE="text" NAME="achternaam" SIZE="22" MAXLENGTH="40" TABINDEX="2"></td>

Hoe kan ik dit nu gebruiken op een volgende pagina om te controleren of alle gegevens goed zijn ingevuld?
Waarschijnlijk iets met $voornaam maar ik heb geen idee wat de complete regel moet worden.

Het is me wel gelukt om met iets vergelijkbaars een mail met alle variabelen te versturen, werkt dit net zo maar dan met een echo?
 
PHP:
echo 'Voornaam: '. $_POST['voornaam'];
Wanneer je uiteraard de POST-methode gebruikt voor je formulier, anders is het $_GET en staan de waardes ook in je URL
 
PHP:
echo 'Voornaam: '. $_POST['voornaam'];
Wanneer je uiteraard de POST-methode gebruikt voor je formulier, anders is het $_GET en staan de waardes ook in je URL

maar hoe verwerk ik dit in een webpagina die opgebouwt is met php/html
ik ben nog al n00b op dit gebied

het is me gelukt met copy/paste en heel veel lezen en proberen om een form te maken wat verstuurd wat naar mail
nu wil ik een tussenstap. een controle voor de gebruiker.
maar hoe kan ik dit alles in de website implementeren

dit is mijn script voor het versturen van het form
Code:
<? ob_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);
$achternaam= htmlspecialchars($_POST['achternaam']);
$voorvoegsel = htmlspecialchars($_POST['voorvoegsel']);
$voornaam= htmlspecialchars($_POST['voornaam']);
$voorletters= htmlspecialchars($_POST['voorletters']);
$straatnr= htmlspecialchars($_POST['straatnr']);
$postcode= htmlspecialchars($_POST['postcode']);
$woonplaats= htmlspecialchars($_POST['woonplaats']);
$mail= htmlspecialchars($_POST['mail']);
$telefoon= htmlspecialchars($_POST["telefoon"]);
$gebdatum= htmlspecialchars($_POST["gebdatum"]);
$instrument= htmlspecialchars($_POST["instrument"]);
$speelniveau= htmlspecialchars($_POST["speelniveau"]);
$opmerkingen= htmlspecialchars($_POST["opmerkingen"]);

$tijd = time();
$datum = strftime("%d/%m/%y %H:%M", $tijd);
$ip = getenv("REMOTE_ADDR");
$message = "" . $voornaam . " met het e-mailadres " . $mail . " en het IP $ip stuurde op $datum het volgende bericht:
____________________________________
"."Achternaam: "."\t".$achternaam."\n".
"Voorvoegsel: "."\t".$voorvoegsel."\n".
"Voornaam: "."\t".$voornaam."\n".
"Voorletters: "."\t".$voorletters."\n".
"straatnr: "."\t".$straatnr."\n".
"postcode: "."\t".$postcode."\n".
"Woonplaats: "."\t".$woonplaats."\n".
"Mailadres: "."\t".$mail."\n".
"Telefoonnr: "."\t".$telefoon."\n".
"geb.datum: "."\t".$gebdatum."\n".
"instrument: "."\t".$instrument."\n".
"speelniveau: "."\t".$speelniveau."\n".
"Opmerkingen: "."\t".$opmerkingen."

------------------------------------";
$mailadres = "nielsrijkers@gmail.com";
$message = str_replace ("<br>","\n", $message);
mail("$mailadres", "Nieuw lid",
$message, "From: " . "$voornaam"."$achternaam");

header("Location: http://www.aabcd.nl"); exit();
ob_flush(); ?>

maar hoe krijg ik dit alles op scherm met de rest van mijn pagina?
met een include?
 
Laatst bewerkt:
De pagina waar het formulier je naar toe stuurt, krijgt alle ingevuld informatie mee in een array genaamd $_POST. Zoals Tha Devil al aangaf, zijn de veldnamen de keys dus je kunt opvragen wat de gebruiker bij voornaam invulde door te verwijzen naar $_POST['voornaam']

Hoe je dat verwerkt ligt aan wat je toe wil staan maar ik vermoed dat een paar if's en compares nodig zijn om te kijken of te informatie voldoet; dat heeft echter weinig met echo te maken.

Heb je al een tutorial voor PHP gevolgd op bijv. w3schools? Daar worden dat soort dingen uitgelegd.
 
De pagina waar het formulier je naar toe stuurt, krijgt alle ingevuld informatie mee in een array genaamd $_POST. Zoals Tha Devil al aangaf, zijn de veldnamen de keys dus je kunt opvragen wat de gebruiker bij voornaam invulde door te verwijzen naar $_POST['voornaam']

Hoe je dat verwerkt ligt aan wat je toe wil staan maar ik vermoed dat een paar if's en compares nodig zijn om te kijken of te informatie voldoet; dat heeft echter weinig met echo te maken.

Heb je al een tutorial voor PHP gevolgd op bijv. w3schools? Daar worden dat soort dingen uitgelegd.

Ik probeer meestal de oplossing bij het probleem te zoeken
om alles te lezen dat is gewoon te veel info

op dit moment is het enige wat ik wil mijn invulvelden op een volgende pagina met een echo zichtbaar te maken
zodat de invuller kan controleren of hij alles goed heeft ingevuld

dit werkt op zich prima
echo 'Naam: '. $_POST['voornaam'] .$_POST['achternaam'];
een spatie of enter werkt niet hier

"."\t".$achternaam."\n".

...waarom niet?
 
Omdat de spatie niet in een string zit.

Om twee woorden te echo'en met een spatie ertussen, moet je ook letterlijk een spatie echo'en.

PHP:
echo $woord . ' ' . $ander_woord;

Overigens kan een simpele tutorial echt geen kwaad, want anders ga je nog tegen heel veel problemen zoals dit aanlopen die allemaal in tutorials behandeld worden. Kost je een paar uur maar dan heb je ook een serieuze basis.
 
Omdat de spatie niet in een string zit.

Om twee woorden te echo'en met een spatie ertussen, moet je ook letterlijk een spatie echo'en.

PHP:
echo $woord . ' ' . $ander_woord;

Overigens kan een simpele tutorial echt geen kwaad, want anders ga je nog tegen heel veel problemen zoals dit aanlopen die allemaal in tutorials behandeld worden. Kost je een paar uur maar dan heb je ook een serieuze basis.

Net een beetje de tutor door zitten lezen maar het is wel taaie kost.
Maar met de tutor en jullie hulp is het toch weer gelukt..maar het volgende probleem dient zich aan

Hoelang worden de variabelen "onthouden"?
Na het invul veld heb ik nu dus een controle pagina met een include van alle variabelen.
Op de controle pagina heb ik een send button wat een mail stuurt naar een bepaald mailadres
maar in de mail zijn geen variabelen meer terug te vinden....hoe kan dat?
 
Alle variabelen worden gedropt aan het einde van het script behalve variabelen die in de $_SESSION staan, mits je sessies aan hebt staan, die worden onthouden tot de gebruiker zijn browser sluit.

Daarnaast kun je variabelen op verschillende manieren van pagina naar pagina sturen of permanent opslaan ($_POST stuurt ze bijv. naar de volgende pagina, SQL kan ze permanent opslaan, je kunt ze in een file zetten, of bij de user op zijn pc in een cookie)

Maar in principe ben je aan het eind van je script alles kwijt.
 
Alle variabelen worden gedropt aan het einde van het script behalve variabelen die in de $_SESSION staan, mits je sessies aan hebt staan, die worden onthouden tot de gebruiker zijn browser sluit.

Daarnaast kun je variabelen op verschillende manieren van pagina naar pagina sturen of permanent opslaan ($_POST stuurt ze bijv. naar de volgende pagina, SQL kan ze permanent opslaan, je kunt ze in een file zetten, of bij de user op zijn pc in een cookie)

Maar in principe ben je aan het eind van je script alles kwijt.

dat idee had ik ook al
want als ik de controle pagina er tussen uit haal en direct de verzend pagina er aan hang dan werkt het wel

dus mijn idee werkt zo niet...wat is dan simpelste oplossing?
 
In de controle pagina een aantal verborgen velden opnemen en daar alle waarden nog een keer inzetten, zodat ze weer meegestuurd worden als de gebruiker op "OK" klikt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan