[PHP / Javascript] Post / Get probleem

Pagina: 1
Acties:

  • iznogood
  • Registratie: September 2001
  • Niet online
Ik schaam me diep dat het al de 2e keer is vandaag dat ik vast kom te zitten met coden :) Het probleem is als volgt :

Ik heb een e-mailformulier die een post uitvoert naar index.php, welke test of er daadwerkelijk een formulier is verzonden. Echter SEND komt nooit aan in de index.php. Ik heb dezelfde methode gebruikt als een eerdere keer ( met dezelfde serveropstelling ) maar op een of andere manier geen variabele doorgifte. Heb al geprobeerd _get op te zoeken op php.net om te kijken wat ik fout doe... deze functie bestaat daar niet ?? In mijn dikke php bijbel kan ik ook weinig vinden.

Dit zijn de gegevens van het form :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form name="frmmain" method="post" action="index.php">
  <p><h1>Send us you're input !</h1></p>
  <p><h2>What is you're name ?</h2>
    <input class="csstextbox" class="corname" name="name" type="text" size="40">
  </p>
  <p><h2 class="core-mail">What is the e-mailadres where we can reach you ?</h2>
    <input class="csstextbox" name="email" type="text" size="40">
  </p>
  <p><h2 class="corsubject">Why do you want to mail us ?</h2>
    <input class="csstextbox" name="subject" type="text" size="40">
  </p>
  <p><h2 class="corbody">Ok, tell us all about it !</h2>
    <textarea class="csstextbox" name="body" cols="60" rows="5"></textarea>
  </p>
  <p>
    <input class="cssbutton" name="send" type="submit" value="Ok, send this!">
    <input class="cssbutton" name="cancel" type="submit" value="Go to Main Page">
  </p>
  </form>


Hier naartoe worden de gegevens gepost : ( index.php )
code:
1
2
3
4
5
6
7
8
9
10
11
<?php 
    $page = "";
    if (isset($_GET['page'])) $page = $_GET['page'];
    $send = "";
    if (isset($_GET['send'])) $send = $_GET['send'];
echo $send; #testing only
    if (($page=="") and (send=="")) include "main.inc";
    if ($page=="2") include "quotes.inc";
    if ($page=="3") include "about.inc";
    if (($page=="4") or ($send=="Ok, send this!")) include "sendmail.inc";
?>

Just as Good


  • CaineTanathos
  • Registratie: Februari 2001
  • Laatst online: 30-01 09:23
ipv $_GET $_POST gebruiken

Perilous to us all are the devices of an art deeper than we possess ourselves.


Verwijderd

ik zie het al :)

Je gebruikt $_GET en niet $_POST :)

je post de variabelen, je geeft ze niet mee met de url, owowow ;).

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

note dat in het geval dat je een formulier met enter submit de waarde van je submit niet wordt meegestuurd. Zet dus liever een hidden var in je formulier waarop je kan checken, of vraag de request method uit.
Verder is je HTML niet valide; je mag geen header-tags nesten in paragrafen.

Intentionally left blank


  • iznogood
  • Registratie: September 2001
  • Niet online
Dank jullie zeer :)
Zo leer je iedere dag weer wat bij :P

Just as Good


  • Vae Victis
  • Registratie: April 2001
  • Laatst online: 21:29

Vae Victis

Dark Lord of the Sith

offtopic:
En let even op je taalfouten.
Heel leuk dat je engels wilt gebruiken, maar internet zit al vol met sites die barsten van taalfouten. ;)
you're -> your

[ Voor 5% gewijzigd door Vae Victis op 12-12-2004 14:04 ]


Verwijderd

ff iets anders, die cancel knop post de waardes die zijn ingevuld, dit is een beetje krom. Volgens mij kan je er beter dit van maken
code:
1
<input type="button" value="cancel" onclick="location='hoofdpagina.html'">

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op zondag 12 december 2004 @ 14:06:
ff iets anders, die cancel knop post de waardes die zijn ingevuld, dit is een beetje krom. Volgens mij kan je er beter dit van maken
code:
1
<input type="button" value="cancel" onclick="location='hoofdpagina.html'">
pas op met dat soort dingen in je event-handler, je scope is namelijk de input en niet het window-object. Stel dat ik zoiets zou hebben (wel invalid, maar het gaat om het idee):
HTML:
1
2
<input type="button" value="cancel" location="foo"
  onclick="location='hoofdpagina.html'">

dan gaat je scriptje mooi niet werken ;)
voluit schrijven dus:
HTML:
1
2
<input type="button" value="cancel" location="foo"
  onclick="window.location='hoofdpagina.html'">

;)

maar op zich is het idee van toch submitten niet zo verkeerd - je bent dan immers niet afhankelijk van javascript.

[ Voor 7% gewijzigd door crisp op 12-12-2004 14:15 ]

Intentionally left blank


Verwijderd

owkee, dan heb ik nog een vraag voor jou ^^

code:
1
2
3
4
5
6
7
<html>
    <form name="myForm">
        <input type="text" name="test"></br>
        <input type="submit" name="submit" value="go"></br>
        <input type="button" onclick="myForm.submit()">
    </form>
</html>

De knop met de javascript werkt niet, omdat de submit knop "submit" heet. Wat is de verstandigste manier om dit op te lossen (misschien is dit niet eens valid ofzo). Gewoon de submit knop een andere naam geven of moet er nog iets voor myFrom (de JS)

Ik vroeg het me gewoon af.
maar op zich is het idee van toch submitten niet zo verkeerd - je bent dan immers niet afhankelijk van javascript.
Bijna elke grote site maakt gebruik van JS, menu's enzo. Maar je hebt gelijk. Het is alleen bijvoorbeeld niet verstandig als je een attachment (upload) kan meesturen (of erg grote tekst).

Als ik JS uitzet kan ik zelfs deze site niet meer fatsoenlijk bekijken.

[ Voor 28% gewijzigd door Verwijderd op 12-12-2004 14:34 . Reden: bah typo's ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:45

gorgi_19

Kruimeltjes zijn weer op :9

En met het gaan naar de Javascript discussie hoort het topic nu helemaal niet meer thuis in Programming & Webscripting.

>> Webdesign & Graphics

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op zondag 12 december 2004 @ 14:29:
owkee, dan heb ik nog een vraag voor jou ^^

code:
1
2
3
4
5
6
7
<html>
    <form name="myForm">
        <input type="text" name="test"></br>
        <input type="submit" name="submit" value="go"></br>
        <input type="button" onclick="myForm.submit()">
    </form>
</html>

De knop met de javascript werkt niet, omdat de submit knop "submit" heet. Wat is de verstandigste manier om dit op te lossen (misschien is dit niet eens valid ofzo). Gewoon de submit knop een andere naam geven of moet er nog iets voor myFrom (de JS)

Ik vroeg het me gewoon af.
ik zou het zo doen (buiten natuurlijk het gebruik van name="submit" vermijden):
HTML:
1
2
3
4
5
<form action="blaat.php" method="post">
    Test: <input type="text" name="test">
    <input type="hidden" name="action" value="post">
    <input type="button" onclick="this.form.submit()">
</form>

Je maakt nu juist gebruik van de scope binnen de eventhandler om het form aan te spreken, je hoeft je form dus niet eens meer een name (deprecated) of ID meer te geven :)
De hidden input neem ik mee om een bepaalde action mee te sturen die ik clientside eventueel met JS kan wijzigen, en serverside kan uitvragen.
[...]
Bijna elke grote site maakt gebruik van JS, menu's enzo. Maar je hebt gelijk. Het is alleen bijvoorbeeld niet verstandig als je een attachment (upload) kan meesturen (of erg grote tekst).

Als ik JS uitzet kan ik zelfs deze site niet meer fatsoenlijk bekijken.
Da's waar, maar daar waar je een non-JS alternatief kan bieden zou je het eigenlijk niet moeten nalaten. Textbrowsers kunnen er bijvoorbeeld niets mee.
Dit forum is zonder javascript ook nog prima bruikbaar; hoewel niet alles het zal doen is de basisfunctionaliteit wel beschikbaar.

Intentionally left blank


Verwijderd

thx voor je antwoord.

Jij hebt zo te zien verstand van. Heb jij misschien links naar JS sites waar ze goede uitleg geven over bijvoorbeeld de DOMstructuur en welke functies er in JS allemaal beschikbaar zijn.

Op w3schools.com wordt wel een beetje de basis uitgelegd maar echt diep gaan ze der niet op in. Ik heb nooit echt een goede site kunnen vinden met Javascript uitleg

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 27-11-2025

RSpliet

*blink*

Verwijderd schreef op zondag 12 december 2004 @ 17:39:
thx voor je antwoord.

Jij hebt zo te zien verstand van. Heb jij misschien links naar JS sites waar ze goede uitleg geven over bijvoorbeeld de DOMstructuur en welke functies er in JS allemaal beschikbaar zijn.

Op w3schools.com wordt wel een beetje de basis uitgelegd maar echt diep gaan ze der niet op in. Ik heb nooit echt een goede site kunnen vinden met Javascript uitleg
Voor een DOM specificatie, kijk eens op mozilla.org (en zoek daar op DOM), die is mij altijd heel bruikbaar gebleken ;)

Schaadt het niet, dan baat het niet

Pagina: 1