Forms versturen

Plaats reactie
Gebruikersavatar
taj
Starter
Starter
Berichten: 24
Lid geworden op: 27 maa 2003, 21:19
Locatie: B, Tielt
Contacteer:

Is het mogelijk dat een formulier gestuurd wordt via een drop down list. Daarmee bedoel ik dat de keuze van de optie in een drop down list beslist op welke pagina het formulier gepost wordt? en zo ja kan mij iemand de code geven?
The Oddity
Elite Poster
Elite Poster
Berichten: 5008
Lid geworden op: 15 sep 2002, 17:58
Locatie: Belgium, Ghent
Contacteer:

Taj, ken je javascript?

Met javascript kan je dit perfect doen, ik heb geen voorbeeld liggen, maar zal kort de basics uitleggen: je zorgt gewoon voor er een varibale staat op de plaats waar je je emailadres normaal moet opgeven.. en daarna zorg je er gewoon voor dat die variabele afhankelijk van de keuze van de option list, opgevuld wordt met het juiste emailadres.. das de basics.. werkt perfect!

als je een beetje js kent, moet dat wel lukken ;-)
I love it when a plan comes together!
Gebruikersavatar
Gcool
Starter Plus
Starter Plus
Berichten: 43
Lid geworden op: 14 apr 2003, 14:36

Dit zal waarschijnlijk best via php gebeuren (wel niet mogelijk wanneer het over een skynet webspace gaat).

Probeer eens te kijken op http://www.phpfreakz.nl, daar zal je normaal gezien wel de code vinden
God is unavailable right now. Can I help you?
Gebruikersavatar
taj
Starter
Starter
Berichten: 24
Lid geworden op: 27 maa 2003, 21:19
Locatie: B, Tielt
Contacteer:

<SCRIPT LANGUAGE=JavaScript>
function subm()
{
document.form1.action=document.form1.blaat.value;
document.form1.submit;
}
</SCRIPT>

<FORM NAME=form1 ACTION=? METHOD=post>
<SELECT SIZE=1 NAME=blaat>
<OPTION VALUE=www.php.net>Php.net</OPTION>
</SELECT><INPUT TYPE=button VALUE=Verstuur OnClick=javascript:subm();>
</FORM>

dit heb ik gevonden; Maar waar vul ik de naam van de pagina in?
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

Wilt ge gewoon een script waarmee je naar een pagina kan gaan, kiezende uit een drop-down list?

Dat zit in Dreamweaver, maar ik zal even de code geven, is vrij herbruikbaar:

Code: Selecteer alles

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>

<body>
<form name="form1">
  <select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
    <option value="link1.html" selected>link1</option>
  </select>
</form>
</body>
</html>


Gewoon bij de options bijzetten wat je moet hebben...
Gebruikersavatar
taj
Starter
Starter
Berichten: 24
Lid geworden op: 27 maa 2003, 21:19
Locatie: B, Tielt
Contacteer:

nee tis de bedoeling dat als iemand optie 1 aanklikt in de drop down list, dat hij de inhoud verzend naar pagina x, en als optie 2 is aangeklikt hij de inhoud verzend naar pagina y. snapje?
oja ik heb het niet over een skynet acount.
Gebruikersavatar
Erik
Elite Poster
Elite Poster
Berichten: 1321
Lid geworden op: 15 sep 2002, 02:46
Uitgedeelde bedankjes: 2 keer
Bedankt: 18 keer

hallo,

ik snap nie goed wat je bedoelt met "page" bedoel je versturen per e-mail ? dan heb je iets server side nodig best php of redirecten naar een andere page op je site ?

Code: Selecteer alles

<?php
$url='http://www.userbase.be';
Header('location:$url');
?>

php heeft een functie mail(); als het dat is wat je wilt doen

voor phpscripts ( gratis ) kan je hier eens gaan loeren

http://www.hotscripts.com/PHP/Scripts_a ... Processors

javascripts (gratis)
http://javascript.internet.com

die php code die ik daar typte redirect naar $url je moet natuurlijk wel de code van een formulier (keuzelijst) toevoegen

greetz

Erik
Registered Linux user #286313
Gebruikersavatar
taj
Starter
Starter
Berichten: 24
Lid geworden op: 27 maa 2003, 21:19
Locatie: B, Tielt
Contacteer:

ik zal het ns proberen zo goed mogelijk uit te leggen.
je hebt dus een drop down list. wanneer een gebruiker optie 1 selecteert en de rest van het formulier invult, en dan op verzenden klikt. Worden zijn ingevulde gegevens op pagina x geplaatst dus niet via e-mail.
Als hij optie 2 selecteert worden de gegevens op pagina y geplaatst
The Oddity
Elite Poster
Elite Poster
Berichten: 5008
Lid geworden op: 15 sep 2002, 17:58
Locatie: Belgium, Ghent
Contacteer:

ah, iets à la guestbook, newspost...?

Daar heb je idd best php voor nodig.. heb je mysql?
Dan kan je dit doen, door de info die hij invult in het formulier, op te slaan in een mysqldbase...de tabel waarin, kan je best de naam geven van de optie (in list) die hij gekozen heeft..en dan bij pagina waar de gegevens op moeten staan, gewoon alle data uitlezen uit de tabel...

kweet et tis geen code.. heb niet veel tijd, om zelf iets te beginnen schrijven, maar tis de basis om je page te doen werken..
I love it when a plan comes together!
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

Eventjes een misverstand uit de wereld helpen: het formulier zal niet zorgen dat het gesplitst wordt.

Ik zal eventjes een voorbeeld geven, ik gebruik de meest eenvoudige code:

Je hebt 4 bestanden: formulier.html, verwerking.php, toon1.php en toon2.php

formulier.html:

Code: Selecteer alles

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>formulier</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form action="verwerk.php" method="post" name="formulier" id="formulier">
  <p>Naam:
    <input name="naam" type="text" id="naam">
  </p>
  <p>Dit moet komen op:
    <select name="pagina" id="pagina">
      <option value="p1">pagina 1</option>
      <option value="p2">pagina 2</option>
    </select>
  </p>
  <p>
    <input type="submit" name="Submit">
  </p>
</form>
</body>
</html>


Dit formulier heeft 1 invoerveld (als voorbeeld): een naam en de keuze naar welke pagina het moet worden opgestuurd. Dit formulier stuurt het naar verwerk.php:

verwerk.php:

Code: Selecteer alles

<html>
<head>
<title>verwerker</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
$dbserver = "localhost";
$dbuser = "gebruiker";
$dbpassw = "wachtwoord";
$dbnaam = "database";
$link = mysql_connect ($dbserver,$dbuser,$dbpassw)
      or die("Geen connectie met mySql op" . $dbserver . " mogelijk");
$db = mysql_select_db($dbnaam,$link)
      or die("Kan " . $dbnaam . " op " . $dbserver . " niet openen.");
// onderscheid maken tussen welke keuze:
if ($_POST['pagina'] == "p1") {
   $sql = "INSERT INTO tabel ('". uniqid() ."','". $_POST['naam'] ."','pagina1');";
} else if ($_POST['pagina'] == "p2") {
   $sql = "INSERT INTO tabel ('". uniqid() ."','". $_POST['naam'] ."','pagina2');";
} else {
   die ("Er is een fout gebeurd");
}

mysql_query($sql) or die (mysql_error());
echo "De naam werd opgeslagen op ". $_POST['pagina'].".";
echo "Bezoek nu <a href=\"toon1.php\">Pagina 1</a> of <a href=\"toon2.php\">Pagina 2</a>";

mysql_close($link)

?>
</body>
</html>


En dan toon1.php:

Code: Selecteer alles

<html>
<head>
<title>Toon 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
$dbserver = "localhost";
$dbuser = "gebruiker";
$dbpassw = "wachtwoord";
$dbnaam = "database";
$link = mysql_connect ($dbserver,$dbuser,$dbpassw)
      or die("Geen connectie met mySql op" . $dbserver . " mogelijk");
$db = mysql_select_db($dbnaam,$link)
      or die("Kan " . $dbnaam . " op " . $dbserver . " niet openen.");

$sql = "SELECT * FROM tabel WHERE pagina = 'pagina1';";
$result = mysql_query($sql) or die (mysql_error());
while ($row = mysql_fetch_array($result)) {
   echo $row['naam'] . "<br>";
}
mysql_close($link);
?>
</body>
</html>


En toon 2 is hetzelfde, met uitzondering van de where clause in de query.
Ik heb geen idee of je begrijpt wat hier staat, maar dit is een basis.

Ah ja, geen garantie op correctheid, ik heb de code niet uitgeprobeerd en ik heb geen php-parser in m'n hoofd zitten :-)
Gebruikersavatar
taj
Starter
Starter
Berichten: 24
Lid geworden op: 27 maa 2003, 21:19
Locatie: B, Tielt
Contacteer:

Meon,
kheb het nog niet uitgeprobeert. (dat ga ik nu doen) maar alvast bedankt!
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

Vergeet niet dat je dus ergens een mysql-database moet hebben draaien eh!

Ik heb nu een tabel gebruikt met de naam 'tabel', en met de veronderstelling dat daar 3 velden in zitten: id, naam en pagina.
Maar aangezien ik die dingen niet kan weten voor uw specifiek geval heb ik ze maar verzonnen ;-)
Gebruikersavatar
taj
Starter
Starter
Berichten: 24
Lid geworden op: 27 maa 2003, 21:19
Locatie: B, Tielt
Contacteer:

als ik iets probeer te posten krijg ik telkens deze foutmelding:

You have an error in your SQL syntax near ''tabel3e9e85b3e7ffc','-wat ik invul-','pagina2')' at line 1

weet jij wat er scheelt?
Gebruikersavatar
Simplicity
Member
Member
Berichten: 83
Lid geworden op: 03 jan 2003, 00:44
Locatie: wsmnstr

at line 1 0_o mss moet het

Code: Selecteer alles

<?php 
zijn ipv ?
#5569 @ RC5-72 & #59 @ BMF
BMF @ #8!
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

Simplicity schreef:at line 1 0_o mss moet het

Code: Selecteer alles

<?php 
zijn ipv ?


Dat maakt niets uit, de <? is gewoon de korte notatie. <?php is correcter, maar dat gaat in 99,9% van de gevallen geen problemen geven.

Kan je eens de volledige sql-query geven die je gebruikt hebt?
Gebruikersavatar
taj
Starter
Starter
Berichten: 24
Lid geworden op: 27 maa 2003, 21:19
Locatie: B, Tielt
Contacteer:

ik heb het rechtstreeks gedaan via de site van priorweb.be gewoon nieuwe tabel 3 velden 'id' 'naam' 'pagina'

meer ken ik niet van mysql databases
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

Voer deze query eens uit om de tabel te maken:

Code: Selecteer alles

CREATE TABLE `tabel` (
`id` CHAR( 15 ) NOT NULL ,
`naam` CHAR( 255 ) NOT NULL ,
`pagina` CHAR( 10 ) NOT NULL ,
PRIMARY KEY ( `id` )
);


Of in PHP zou dat zijn:

Code: Selecteer alles

<? 
$dbserver = "localhost";
$dbuser = "gebruiker";
$dbpassw = "wachtwoord";
$dbnaam = "database";
$link = mysql_connect ($dbserver,$dbuser,$dbpassw)
      or die("Geen connectie met mySql op" . $dbserver . " mogelijk");
$db = mysql_select_db($dbnaam,$link)
      or die("Kan " . $dbnaam . " op " . $dbserver . " niet openen.");

$sql = 'CREATE TABLE `tabel` ( `id` CHAR( 15 ) NOT NULL , `naam` CHAR( 255 ) NOT NULL , `pagina` CHAR( 10 ) NOT NULL , PRIMARY KEY ( `id` ) ); ';

mysql_query($sql) or die (mysql_error());

?>
Gebruikersavatar
Pi R²
Elite Poster
Elite Poster
Berichten: 811
Lid geworden op: 03 jan 2003, 17:15
Locatie: Sint-Niklaas
Contacteer:

@ taj

tis wel off topic, maar als ge wilt antwoorden op deze topic:

http://www.userbase.be/forum/viewtopic.php?t=692

Kunt ge misschien eens zeggen of ze bij priorweb een deftig controlepanel hebben waarin ge MySQL kunt beheren en subdomeinen kunt maken en als ge echt braaf zijt, wilt ge dan wa screenshotjes achterlaten?

Om niet te veel off topic te gaan, antwoord aubbbb op die link hierboven.
Lang Leve Mijn Eigen! Het geheim voor een lang leven: niet stoppen met ademen
Plaats reactie

Terug naar “Development”