[php/mysql] Data meenemen tussen forms *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo Tweakers,

Ik ben sinds een maandje bezig met mysql en php, het voldeed tot nu toe precies aan wat ik nodig had, alleen nu wordt het wat ingewikkelder en ik kom er niet meer uit ik heb de search al doorgelopen en op google krijg ik ook niet echt duidelijkheid...

Het gaat om het volgende

Een user komt op mijn intranetsite, selecteert vervolgens via een jumpmenu de afdeling, het schermpje refreshed zich in de browser en laat vervolgens dezelfde pagina zien met nog een dropdownmenuutje met de functies die mogelijk zijn binnen de geselecteerde afdeling (employee, manager, trainee etc) vervolgens wordt er een pagina met form geladen die betrekking heeft op de gekozen functie (wat de user niet weet is dat de pagina's voor elke functie nu nog gelijk zijn dit verandert in de toekomst denk ik wel). Ik heb een html form gemaakt die netjes de input in de mysqldb zet via php. In dit form vraag ik de user niet nog een keer naar hun functie want die hebben ze al aan pagina eerder geselecteerd. Wat mij nou dus niet lukt is om die functie uit de eerdere pagina mee te nemen naar de form pagina om die vervolgens in de db te zetten. Het liefste zou ik dit transparant willen doen, maar het geeft niet als het wel zichtbaar is.

Alvast bedankt voor jullie hulp! ik ben gefrustreerd want volgens mij moet het niet al te moeilijk zijn! |:( 8)7 :?

Acties:
  • 0 Henk 'm!

  • Wortelsoep
  • Registratie: Juni 2001
  • Niet online
Wat sourcecode erbij zou wel handig zijn.


*edit: kijk eens naar de 'hidden field' functie van HTML

bv:

<input type="hidden" name="functie" value"<?php echo $functie; ?>">

Misschien is dit wat je zoekt, je verhaal je een beetje rommelig.

[ Voor 72% gewijzigd door Wortelsoep op 23-08-2003 16:21 ]


Acties:
  • 0 Henk 'm!

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 11:59
Je zou in je form <input type='hidden' name='functie' value='<?=$functie?>'> oid kunnen zetten. Dan wordt het netjes meegepost, maar is het niet zichtbaar op het scherm.

Acties:
  • 0 Henk 'm!

  • n3ck
  • Registratie: Mei 2002
  • Laatst online: 24-07 19:47
session cookie misschien?

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

n3ck schreef op 23 August 2003 @ 16:22:
session cookie misschien?
Session weet ik niet of je voor dit soort dingen moet misbruiken... Zonde van het geheugen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Hoi Debian_Vs_Win2K, en welkom op GoT :)

Ik wil je even verzoeken P&W FAQ - De "quickstart" door te lezen, en dan vooral met betrekking tot het gedeelte 'topictitel zetten' alhoewel de rest ook heel interessant is ;) Iig wordt je verondersteld de taal in [square brackets] voor je titel te zetten, en 'beginner' is geen valide taal :D Verder wordt het op prijs gesteld als je relevante code meepost en wat meer structuur in je openingspost aanbrengt :)

Veel plezier op GoT verder :)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ja sorry van mijn voor jullie wat rommelige verhaal.... zie echt door de boompjes het bos niet meer... maar goed ik heb hier dan wat code het zijn wel lange stukken ik weet niet of ik alles zo mag posten, mag het niet dan haalt de moderator het vast wel weg ofzo. - Moderator bdenkat voor je uitleg en correctie ga zo die richtlijnen lezen! :)

eerste pagina dat werkt!

tweede pagina kiezen ze de functie bijv. manager: (btw nu doet inene het dropdownmenu het niet meer, maar dat is voor later zorg)

HTML:
1
2
3
4
5
6
7
8
9
10
11
jobrole<br>
<form name="jobrole">
<select name="jobrole" onChange="MM_jumpMenu('parent',this,0)">>
   <option value="emptyjobrole" selected>Choose your jobrole</option>
   <option value="manager.html">I am a Department Manager</option>
   <option value="account.html">I am an Accountmanager</option>
   <option value="trainee.html">I am a Trainee</option>
   </select>
<input type="button" name="submit" value="Continue" 
       onClick="MM_jumpMenuGo('jobrole','parent',0)">
</form>

hier geven ze dus aan dat ze manager zijn dus wordt manager.html geopend, dit is dus het form met de gegevens die ze moeten invullen
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form action="input.php" method="post" enctype="multipart/form-data" 
      dir="ltr" lang="it">
name<br>
<input name="name" type="text" size="25" maxlength="50">
<br>
extension nr.<br>
<input name="ext" type="text" size="25" maxlength="14">
<br>
Do you wish to join blablabla<br>
<input name="join" type="text" size="25" maxlength="50">
<br>

<input name="submit" type="submit" value="Enter information">
</form>
</body>
</html>

eenmaal klaar daarmee drukken ze op submit en wordt input.php uitgevoerd
PHP:
1
2
3
4
5
6
7
8
9
10
11
if ($submit) {

// process form
    $link = mysql_connect("xxx.xxx.x.xxx","xxxxxx")
        or die ("Could not connect");
    mysql_select_db("project") or die ("Could not select database");

    $query = "insert into test (name, ext, join) values ('$name', '$ext', 

'$join'";
    $result = mysql_query($query);

waar kan ik er nou voor zorgen dus dat als functie manager wordt meegegeven in de db?

Ik hoop dat het duidelijk is, zoniet let me know!

enne bedankt voor jullie supersnelle reacties!

modbreak: okee ik heb je post nu 2 keer gefixed, wil je er nu aub met je tengels van af blijven!!! :P

[ Voor 66% gewijzigd door curry684 op 23-08-2003 17:36 . Reden: Argl!!!! ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
enne van dat session cookie, ik weet niet of dat zou werken wantik weet niet wat het is nl., ben pas een maandje bezig en volgens mij is dat wat te hoog gegrepen nog. :?

modbreak: okee ik ga je nu echt ff naar de FAQ trappen hoor :P Als je iets toe te voegen hebt aan een post en niemand heeft na je gepost gebruik je de EDIT-knop, die zit rechtsbovenin je post. En please gebruik [code] en [php] tags om je code voor de leesbaarheid :Y)

[ Voor 52% gewijzigd door curry684 op 23-08-2003 17:15 ]


Acties:
  • 0 Henk 'm!

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
ff in de pagina manager.html

code:
1
<input type="hidden" name="function" value="<?php echo $functie; ?>" />


neerzetten

Verder je querystring ff aanpassen, zal zoiets moeten worden als

PHP:
1
2
$query = "INSERT INTO test(name, function, ext, join) 
VALUES ('$name', '$function', '$ext', '$join');"

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
woops! het ziet er nou wel veeel netter uit ja! ik zal er nix aan veranderen _/-\o_

ok ik heb inmiddels van alles geprobeerd ook jullie suggesties maar om een of ander manier neemt hij de variabele niet mee, heb zelfs een nieuwe db gebouwd met ander columnames, join ed werkte toch al niet, dit is wat ik heb nu als manager.html

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<body>
<form action="input.php" method="post" 
enctype="multipart/form-data" dir="ltr">
name<br>
<input name="name" type="text" 
size="25" maxlength="50">
<br>
extension nr.<br>
<input name="ext" type="text" 
size="25" maxlength="14">
<br>
Do you wish to join<br>
<input name="agree" type="text" 
size="25" maxlength="50">
<br>
<input name="jobrole" type="hidden" 
value="<?php echo manager; ?>" />
<input type="submit" name="submit" 
value="Enter information">
</form>
</body>
</html>


en dit is mijn input.php

code:
1
2
$query = "insert into info (name, ext, agree, jobrole) 
values  ('$name', '$ext', '$agree', '$jobrole')";


hij doet alle gegevens correct in de db zetten behalve de jobrole, de column blijft "leeg" er staat niet NULL oid het is gewoon een leeg vak :|

doe ik iets fout???

[ Voor 22% gewijzigd door Verwijderd op 23-08-2003 18:50 . Reden: post ziet er niet uit, veel te breed ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Klik hier voor het mogelijke antwoord.

[ Voor 74% gewijzigd door gorgi_19 op 23-08-2003 18:52 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey Gorgi, bedankt voor je reactie, ik heb het nog ff nagezocht en dat is het volgens mij ook niet; op mijn debian linux server draai ik php 4.1.2 en beide voorbeelden van "welkom user..." op de pagina die je aangaf werken. Op mijn win2k adv.serv draai ik php 4.3.2 en daar werkt alleen de nieuwe methode. Ik ben van plan om het testen van dit voornl. op de linuxbox te doen en aangezien het daar werkt is dat het ook niet volgens mij.

in het input.php scriptje heb ik ff een echo gegeven voor alle variabelen die hij in de db moet stoppen. hij laat ze allemaal zien behalve die van de jobrole, ik ga er dus vanuit dat hij $jobrole niet doorkrijgt, lees niet uit het form kan halen.

[ Voor 8% gewijzigd door Verwijderd op 23-08-2003 19:44 ]


Acties:
  • 0 Henk 'm!

  • Mafioso
  • Registratie: November 2000
  • Laatst online: 17-09 20:33
code:
1
2
<input name="jobrole" type="hidden" 
value="<?php echo manager; ?>" />


moet het niet $manager ofzo zijn? Of is het een functie?
Kijk eens of hij zoiezo wel iets invult op die plaats, anders blijft de value natuurlijk gewoon leeg.
Je kan natuurlijk gewoon de sourcecode bekijken in de browser (van de pagina met het formulier), om te zien of de value wel klopt.

[ Voor 29% gewijzigd door Mafioso op 24-08-2003 00:27 ]


Acties:
  • 0 Henk 'm!

Verwijderd

modbreak: okee ik heb je post nu 2 keer gefixed, wil je er nu aub met je tengels van af blijven!!! :P
Zeikerd.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
$manager ofzo zijn? Of is het een functie?
het is een functie binnen het bedrijf, beetje verwarrende taal had ik eerder gebruikt...

in ieder geval had ik al geprobeerd om $ ervoor te zetten het veranderde helaas weinig...

offtopic:
...wordt er bijna triest van snif :'( alle begin is moeilijk he? ik snap ook niet hoe de meesten dat zo snel leren, best wel knap hoor. maar goed ik ben dus fanatiek doorgegaan op deze zatardagavond... en heb wel logsich nagedacht maar zit er nog steeds mee, het werkt niet aaaaaarrrghhhh...


ik kan het nl. volgens mij ook anders doen alleen weet ik de code niet precies

in mijn eerste form heb ik dus een dropdownmenuutje, de selectie (in dit geval "manager"), moet vervolgens gelden als een variable die ik in mysql kan importeren

dus:
- ik kies manager in het menuutje en klik op ok
- dan krijg ik een pagina met vragen, zodra deze beantwoord zijn klik ik op ok en dan worden de antwoorden in mysql gezet samen met de variabele van het dropdownmenuutje.

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

code:
1
<input name="jobrole" type="hidden" value="manager" />

Het is de file van manager, dus als ze die form voor hun neus krijgen is het altijd al Manager, dus kan je het woordje manager "hard-coded" in je form zetten.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Inderdaad, je hebt gelijk, ik denk ook dat ik dat maar ga doen, met het oog op de toekomst is het waarschijnlijk ook beter, dan heeft elke jobrole zijn eigen form. Deze oplossing die ik zocht leek me voor nu het handigst want het form is nu nog voor iedereen gelijk en anders moet ik voor elke functie een apart form maken! (wat op de lange termijn dus wel nodig zal zijn). Ik ga het sowieso nog wel uitzoeken hoe dat zit want je komt het toch wel vaak tegen op websites dus het moet mogelijk zijn, denk dat ze het op een hele andere manier doen ofzo ;-). Ik volhardt! LOL

iig bedankt allemaal nogmaals!

[ Voor 5% gewijzigd door Verwijderd op 24-08-2003 11:54 . Reden: teveel typo's ]


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Als je het op een algemene methode wilt doen, zal je de dropdown box gewoon een nummer mee moeten laten geven. En dan de variabele van die dropdown box gewoon netjes in een hidden input field te zetten.

Mijn oplossing hierboven ging echter uit van de code die je bovenaan invulde, dus ook dat de invoer velden per job compleet anders zullen zijn.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1