Hallo allemaal,
Ik ben een beetje uit de kinderschoenen van javascript en html en begon me met php te bemoeien.

Ik ben zo iemand die het best leert van gehele scripts te bekijken ( ook al ben ik nog noob) en aan te passen.

Zo nu ook, ik wil voor de website. www.tuningstylingpoint.com een bestelformulier maken.

Een formulier in php vind ik toch wel het mooiste, en toen kwam ik op dit forum uit.

http://www.tuningstylingpoint.com/testje2.htm ( de code)

het resultaat

http://www.tuningstylingpoint.com/tesje3.php

Ik wil nu graag nog een aantal dingen toevoegen, aan invul mogelijkheden zoals "adres", "woonplaats" "telefoonnummer " .

Ik wil dit graag werkend maken, maar omdat ik nog noob ben, zou ik het heel erg fijn vindne als jullie er bijvoorbeeld eentje voor doen ofzo?

En jullie denken zeker, die jongen is lekker makkelijk , maar ik leer op deze manier echt het beste.

Hopelijk begrijpen jullie mij, en kunnen jullie mij helpen en jullie geduld opbrengene voor mij.

Mijn uiteindelijke doel is ook, later hier andere noobs weer te helpen.

Maarja, alvast bedankt.

Mvg,

Markie
Je bedoelt dit:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Nieuws</TITLE>
<META NAME="GENERATOR" CONTENT="Microsoft FrontPage 4.0">
<META NAME="AUTHOR" CONTENT="Le Prix Sportprijzen">
<STYLE>
#D0m {position:absolute;top:0;left:0;width:291px;height:55px;padding:10px;background:none;text-align:left;}
#H0 {position:absolute;top:-6px;left:-7px;width:300px;height:100px;padding:10px;z-index:1;}
</STYLE>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
function catchError()
{
return true;
}

window.onerror = catchError;

</SCRIPT>
<SCRIPT SRC="web.js" TYPE="text/javascript"></SCRIPT>
</HEAD>
<BODY STYLE="background-color: #56aeef; background-image: url('foto4.bmp'); background-repeat: no-repeat; background-attachment: fixed; background-position: center" onLoad="loader();">
<DIV ID="H0"><!-- Begin WEB! User HTML Code --><!--** START NAVSTUDIO MENU TAGS (508017) **-->
<div id="vqp_about" style="position:absolute;visibility:hidden;">****Web Menu / Drop Down Menu generated by OpenCube NavStudio. (OpenCube Inc. - http://www.opencube.com)****</div>;
<script language="JavaScript">cdd__codebase = "";cdd__codebase508017 = "";</script>
<script language="JavaScript" src="http://www.opencube.com/ns_online/7182/menu_508017.js"></script><script vqptag="placement" vqp_menuid="508017" language="JavaScript">create_menu(508017)</script>
<!--** END NAVSTUDIO MENU TAGS **-->
<script language="Javascript">
function vqp_error(){}
</script><!-- End WEB! User HTML Code --></DIV>
<!-- DO NOT CHANGE THE SCRIPTS BELOW, WEB! WILL MALFUNCTION IF YOU DO! -->
<SCRIPT LANGUAGE="JavaScript" ID="WEB!" TYPE="text/javascript">
var IE = (navigator.appName=="Microsoft Internet Explorer") && (navigator.platform && navigator.platform == 'Win32');

function newSlide(id,next,wait)
{
this.id = id;
this.next = next;
this.wait = wait;
this.elems = new Array();
return this;
}

function newElement(id,next,wait,type,lightRed,lightGreen,lightBlue,lightStrength,waveAnim,waveDir,waves,filter)
{
this.id = id;
this.next = next;
this.wait = wait;
this.type = type;
this.filter = filter;

if(navigator.appName != 'Netscape')
{
document.all(id).style.filter = filter;
var dur_s = filter.indexOf('Duration=')+9;
var dur_e = filter.indexOf(',',dur_s);
document.all(id).filters(0).Duration = filter.substring(dur_s,dur_e)*1.0;

if(document.all(id).style.filter.toLowerCase().indexOf("light(")!=-1)
{
document.all(id).filters.light.addAmbient(lightRed,lightGreen,lightBlue,lightStrength);
}

if(waveAnim=="true")
{
document.all(id).wave = wave;
document.all(id).wavedir = waveDir;
document.all(id).filters.wave.phase = (waveDir=="up")?0:95;
waves[waves.length] = id;
}
}

return this;
}

function loader()
{
startMarquees();
if(navigator.appName != 'Netscape')
startWaves();
else
transitions_netscape();

start();
}

function wave()
{
if(IE)
{
if(this.wavedir=="up" && this.filters.wave.phase<100)
this.filters.wave.phase = this.filters.wave.phase + 5 % 100;
else if(this.wavedir=="down" && this.filters.wave.phase>0)
this.filters.wave.phase = this.filters.wave.phase - 5 % 100;
else if(this.wavedir=="up")
this.filters.wave.phase=0;
else if(this.wavedir=="down")
this.filters.wave.phase=95;

setTimeout(this.id + ".wave()",40);
}
}


var wavesElements = new Array();
var slides = new Array();
var marquees = new Object();

//start slide 0
slides[0] = new newSlide("SL0","timer","0");
slides[0].elems[0] = new newElement("H0", "timer", "0", "htmlcode", "255", "0", "0", "50", "false", "up", wavesElements, "revealtrans(Duration=1.0,Transition=0) ");
slides[0].elems[1] = new newElement("D0", "timer", "0.0", "div", "255", "0", "0", "50", "false", "up", wavesElements, "revealtrans(Duration=0,Transition=0) ");
//end slide 0

function changeImage(img,loc)
{if(IE)
document.all(img+"image").src = loc;
else

document.layers[img].document.images[0].src = loc;
}
function startMarquees()
{
}
</SCRIPT>
<div style="position:absolute; top:40px; left:10px;">
<p style="font-size:32px;color:#ff0000;">Bestelformulier</p>
<?php
$voorwaaden = 'voorwaarden.html';

if (isset($_POST['bestel'])){
if(!eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+", $_POST['e-mail'])) {
echo '<p>Emailadres onjuist</p>';
} elseif(!$_POST['akkoord']){
echo '<p>U dient akkoord te gaan met de voorwaarden</p>';
} else {
$emailontvanger = '[email protected]';
$onderwerp = 'Bestelling';
$bericht = '
Bericht verzonden op: '.date('d-m-Y').'
IP-adres: '.$_SERVER['REMOTE_ADDR'].'
Voornaam: '.$_POST['voornaam'].'
Tussenvoegsel: '.$_POST['tussenvoegsel'].'
Achternaam: '.$_POST['achternaam'].'
Adres: '.$_POST['adres'].'
Postcode: '.$_POST['postcode'].'
Woonplaats: '.$_POST['woonplaats'].'
Telefoon: '.$_POST['telefoon'].'
Email: '.$_POST['e-mail'].'
Bestelcode: '.$_POST['bestelcode'].'
Opmerkingen: '.$_POST['opmerkingen'];
if(mail($emailontvanger, $onderwerp, $bericht)){
echo '<p>Uw bestelling is verzonden</p>';
} else{
echo '<p>Wegens een technische storing kon de bestelling niet worden doorgegeven. U kan handmatig een e-mail sturen naar: '.$emailontvanger.'</p>';
}
}
}
echo '
<form method="post" action="'.$_SERVER['PHP_SELF'].'">
<table>
<tr>
<td colspan="2" style="font-weight:bold;">Bestelling</td>
</tr><tr>
<td>Voornaam:</td>
<td><input name="voornaam" type="text"></td>
</tr><tr>
<td>Tussenvoegsel:</td>
<td><input name="tussenvoegsel" type="text"></td>
</tr><tr>
<td>Achternaam:</td>
<td><input name="achternaam" type="text"></td>
</tr><tr>
<td>Adres:</td>
<td><input name="adres" type="text"></td>
</tr><tr>
<td>Postcode:</td>
<td><input name="postcode" type="text"></td>
</tr><tr>
<td>Woonplaats:</td>
<td><input name="woonplaats" type="text"></td>
</tr><tr>
<td>Telefoon:</td>
<td><input name="telefoon" type="text"></td>
</tr><tr>
<td>E-mail:</td>
<td><input name="e-mail" type="text"></td>
</tr><tr>
<td>Bestelcode:</td>
<td><input name="bestelcode" type="text"></td>
</tr><tr>
<td>Opmerkingen:</td>
<td><textarea name="opmerkingen"></textarea></td>
</tr><tr>
<td>Hierbij verklaar ik dat ik<br>akkoord ga met de <a href="'.$voorwaaden.'">voorwaarden</a></td>
<td><input type="checkbox" name="akkoord"></td>
</tr><tr>
<td colspan="2" align="right"><input name="bestel" type="submit" value="Bestel"></td>
</tr>
</table>
</form>';
?>
</div>
</BODY>
</HTML>



LET OP je ziet de regel:
<div style="position:absolute; top:40px; left:10px;">

Je ziet top zoveel pixels en left zoveel pixels. Stel dit zelf in. Dus left:80px; dan gaat hij meer naar rechts. Hetzelfde bij top.

Succes
Dank je

\Nu heb ik ngo een probleem, en ik weet niet of het op te lossen is.

De foutmeldingen zijn niet echt goed leesbaar door de achtergrond.

Hoe kan ik de kleur veranderen van alle foutmeldingen?
Kopieer en plak dit in je code ipv het oude stukje:

$voorwaaden = 'voorwaarden.html';
$kleurmelding = '#ff0000';

if (isset($_POST['bestel'])){
if(!eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+", $_POST['e-mail'])) {
echo '<p style="color:'.$kleurmelding.'; font-weight:bold;">Emailadres onjuist</p>';
} elseif(!$_POST['akkoord']){
echo '<p style="color:'.$kleurmelding.'; font-weight:bold;">U dient akkoord te gaan met de voorwaarden</p>';
} else {
$emailontvanger = '[email protected]';
$onderwerp = 'Bestelling';
$bericht = '
Bericht verzonden op: '.date('d-m-Y').'
IP-adres: '.$_SERVER['REMOTE_ADDR'].'
Voornaam: '.$_POST['voornaam'].'
Tussenvoegsel: '.$_POST['tussenvoegsel'].'
Achternaam: '.$_POST['achternaam'].'
Adres: '.$_POST['adres'].'
Postcode: '.$_POST['postcode'].'
Woonplaats: '.$_POST['woonplaats'].'
Telefoon: '.$_POST['telefoon'].'
Email: '.$_POST['e-mail'].'
Bestelcode: '.$_POST['bestelcode'].'
Opmerkingen: '.$_POST['opmerkingen'];
if(mail($emailontvanger, $onderwerp, $bericht)){
echo '<p style="color:'.$kleurmelding.'; font-weight:bold;">Uw bestelling is verzonden</p>';
} else{
echo '<p style="color:'.$kleurmelding.'; font-weight:bold;">Wegens een technische storing kon de bestelling niet worden doorgegeven. U kan handmatig een e-mail sturen naar: '.$emailontvanger.'</p>';
}
}
}


LET OP! Je kan de kleurcode eenvoudig zelf veranderen door deze regel aan te passen:
$kleurmelding = '#ff0000';
En hoe verander je dan de kleur van de vragen?

Bv Naam: ...... invulmogelijkheid
ik wil dan bv alles een mooie kleur geven
ivm achtergrond

Als dat voltooid is, dan ben ik klaar en ben ik jullie heel erg dankbaar!!
En ben ik er al heel wat van opgestoken, vind ik zelf.
Eigenlijk zou je dit zelf al moeten uitproberen, omdat het al bijna beschreven staat, maar hier is de code.

De code moet dus na de } } }.
Met kopkleur bedoel ik de kop van de tabel, dus hier de tekst Bestelling.
De vraagkleur spreekt voor zich.
Ik weet dat het afschuwelijke kleuren zijn, maar die kan je zelf even aanpassen :)

Probeer zelf even wijzigingen aan te brengen in de code, daar leer je echt van.

Succes

<?php
$kopkleur = '#00FF99';
$vraagkleur = '#FFFF00';

echo '
<form method="post" action="'.$_SERVER['PHP_SELF'].'">
<table>
<tr>
<td colspan="2" style="font-weight:bold; color:'.$kopkleur.';">Bestelling</td>
</tr><tr>
<td style="color:'.$vraagkleur.';">Voornaam:</td>
<td><input name="voornaam" type="text"></td>
</tr><tr>
<td style="color:'.$vraagkleur.';">Tussenvoegsel:</td>
<td><input name="tussenvoegsel" type="text"></td>
</tr><tr>
<td style="color:'.$vraagkleur.';">Achternaam:</td>
<td><input name="achternaam" type="text"></td>
</tr><tr>
<td style="color:'.$vraagkleur.';">Adres:</td>
<td><input name="adres" type="text"></td>
</tr><tr>
<td style="color:'.$vraagkleur.';">Postcode:</td>
<td><input name="postcode" type="text"></td>
</tr><tr>
<td style="color:'.$vraagkleur.';">Woonplaats:</td>
<td><input name="woonplaats" type="text"></td>
</tr><tr>
<td style="color:'.$vraagkleur.';">Telefoon:</td>
<td><input name="telefoon" type="text"></td>
</tr><tr>
<td style="color:'.$vraagkleur.';">E-mail:</td>
<td><input name="e-mail" type="text"></td>
</tr><tr>
<td style="color:'.$vraagkleur.';">Bestelcode:</td>
<td><input name="bestelcode" type="text"></td>
</tr><tr>
<td style="color:'.$vraagkleur.';">Opmerkingen:</td>
<td><textarea name="opmerkingen"></textarea></td>
</tr><tr>
<td style="color:'.$vraagkleur.';">Hierbij verklaar ik dat ik<br>akkoord ga met de <a href="'.$voorwaaden.'">voorwaarden</a></td>
<td><input type="checkbox" name="akkoord"></td>
</tr><tr>
<td colspan="2" align="right"><input name="bestel" type="submit" value="Bestel"></td>
</tr>
</table>
</form>';
?>
Dank je, Jan Koehoorn, Jelmer , en Barman

Bednakt voor jullie hulp op dit onderdeel.

Ik heb nu voor mijn doen een prachtig formulier.
Zoals Barman al zei, had ik de laatse vraag eigenlijk zelf kunnen doen, dat kon ik inderdaad bijna, maar ik was gewoon te bang dta ik dit mooie formulier zou verprutsen.
Ik snap nu al een beteje meer van php, maar al het begin is moeilijk, ik snap af en toe de echo's niet, en waarom er 3x een } moet staan, maar de "inhoud" begin ik meer te begrijpen dankzij jullie.
Vroeger werd ik al duizelig als ik php zag, maar het is juist vervrissend, en makkelijker ( minder tekst ) als html en javascript met meer mogelijkheden.
Er gaat een wereld voor me open ( op het website gebied)

Als ik weer vragen heb, dan kom ik hier snel weer terug, want jullie zijn goed bereid andere te helpen.

Bedankt!
Die { en } geven als het ware een blok aan. Alles wat ertussen staat hoort bij elkaar. Voorbeelden:

for(.....)
{
doe diverse dingen zolang de for nog geldt
} alles hierachter valt dus niet meer onder for()

zelfde voor while(...)

en ook bij if()

if(...)
{ als de if waar is kom je hier
if(...)
{ als deze if waar is kom je hier, maar je komt hier alleen als dus ook de eerste if waar is.
} deze sluit de tweede if af
dus wat hier komt valt nog steeds onder de eerste if en niet meer onder de tweede if
} hier sluit de eerste if
else
{ als de eerste if niet waar is kom je hier
while(...)
{ alles in de while staat hier
} hier sluit de while
} hier sluit de else van de eerste if

Op zo'n manier heb je dus aan het eind twee keer een } achter elkaar.

Ik hoop dat je er iets van snapt, het is laat namelijk.

Edit: Typo
Jelmer schreef op 02.09.2005 18:12
<input type="checkbox" name="voorwaarden" value="ik ga akkoord" id="voorwaarden"><label for="voorwaarden">Ik ga akkoord met de voorwaarden</label>

Implentatie in je verzend-script zal mij zo even niet lukken, aangezien ik geen idee heb hoe een checkbox zich precies gedraagt waneer deze wel en waneer niet is aangeklikt.


Die weet ik toevallig:
Een checkbox geeft zijn waarde alleen mee indien aangeklikt. Anders wordt er niets meegestuurd.

Verder lees ik dat het formulier intussen af is. Gefeliciteerd! :-)

Reageren