(SOLVED) Forms HTML en Mysql probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marvin H

Marvin H

16/12/2008 10:18:00
Quote Anchor link
Hallo script masters,

We hebben een probleem en krijgen het niet voor elkaar. Korte omschrijving: "We hebben twee forms in één php bestand, deze forms moeten bij submit worden ingevoerd in een MySQL database".

Nu wil ik dus als bijvoorbeeld op form "vragenform" een submit plaatsvind hij eerst het andere form submit, en daarna zichzelf. Hoe kunnen we dit doen?

DUS:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
if(isset($_POST['vraagsluiten'])) {
$vraag = $_POST['vraag'];
$query = "blablabla";
mysql_query($query) or die("Error in query: $query " . mysql_error()); }

if(isset($_POST['antwoord'])) {
$vraag = $_POST['antwoord'];
$query = "blablabla";
mysql_query($query) or die("Error in query: $query " . mysql_error()); }
?>


<form method="post" name="vragenform" />
<table>
<tr>
     <td><input type="text" name="vraag" /></td>
     <td><input type="submit" name="vraagsluiten" value="sluiten" /></td>
</tr>
</form>

<form method="post" name="antwoordform" />
<table>
<tr>
     <td><input type="text" name="antwoord" /></td>
     <td><input type="submit" name="antwoord" value="versturen" /></td>
</tr>
</form>
Gewijzigd op 01/01/1970 01:00:00 door Marvin H
 
PHP hulp

PHP hulp

06/10/2024 10:28:42
 
- SanThe -

- SanThe -

16/12/2008 10:23:00
Quote Anchor link
Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
Gebruik je Afbeelding knop om dit te doen.

SanThe.
 
- Ricardo -

- Ricardo -

16/12/2008 10:24:00
Quote Anchor link
Is het niet mogelijk om er gewoon 1 form van te maken waar je ze beiden inzet, met 1 submit ( of 2 submit knoppen, onder allebei de fomulieren 1, dat is voor de gebruiker wat handiger), en dat je bij beide formulieren de velden een andere naam geeft, zodat je op de volgende pagina achterhaald welk formulier wel is ingevuld, en welke niet, en hem dan verwerkt?
Gewijzigd op 01/01/1970 01:00:00 door - Ricardo -
 
Dennis Mertens

Dennis Mertens

16/12/2008 10:24:00
Quote Anchor link
Wat is het uit eindelijke doel? Misschien kan het heel anders namelijk.
 
Marvin H

Marvin H

16/12/2008 10:30:00
Quote Anchor link
Dennis Mertens schreef op 16.12.2008 10:24:
Wat is het uit eindelijke doel? Misschien kan het heel anders namelijk.


We zijn bezig met een ticket systeem te maken in php, waarbij één form de ticket gegevens bevat, en een andere form (in een <DIV>) de openstaande/beantwoorde vragen. Nu willen we door de vragen kunnen "bladeren" met vorige en volgende knoppen, echter refreshed de pagina en ben je dus eventuele wijzigingen in andere forms kwijt, omdat die niet verzonden worden naar de database. Hoe kunnen we dus ervoor zorgen dat bij het klikken naar een andere vraag, het ticket form een submit krijgt zodat de wijzigingen hierin niet verloren gaan.... de code die we al hebben is te groot om neer te zetten hier.
 
Dennis Mertens

Dennis Mertens

16/12/2008 10:34:00
Quote Anchor link
Check:
http://vokle.com/open-source/examples/babysteps/index.html

En klik bovenaan op Stepify

Dat kan je toepassen lijkt mij?
 
Richard

richard

16/12/2008 10:49:00
Quote Anchor link
het probleem dat het niet in 1 form kan is dat er een checkbox is om aan te geven of de vraag wel of niet gelezen is.

De html (dit staat dus in een form waar ook andere dingen in staan)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
Antwoord<br />
       <input type="hidden" name="gelezenpost" value="0" />
       <input type="checkbox" name="gelezenpost" onclick="this.form.submit()" value="1" <?php if($gelezen == "1"){echo "CHECKED";}?> />   Gelezen


Wanneer er word geklikt word dit uitgevoerd
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<!-- antwoord markeren als gelezen -->
<?php if(isset($_POST['gelezenpost'])){
include 'dbconnect.php';

if($gelezen == "1"){$gelezen = "0";}else{$gelezen = "1";}

$query="UPDATE helpdesk_berichten SET gelezen='$gelezen' WHERE id='$vraagdbid'";
mysql_query($query) or die("Error in query: $query " . mysql_error());
include 'closedbconnect.php';
}
?>


<?php include 'connectdb.php'; ?>

Wat deze code doet is wanneer de checkbox aangevinkt (dus gelezen) is er een 0 van maken, dus weer niet gelezen. wanneer hij niet gelezen is, maakt hij er gelezen van als er word geklikt.

dus tenzij het mogenlijk is dit op een andere manier te doen kan het niet in 1 groot form worden geplaatst.
 
Dennis Mertens

Dennis Mertens

16/12/2008 11:01:00
Quote Anchor link
Geen quotes om integers zetten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if($gelezen == 1)
{

    $gelezen = 0;
}

else
{
    $gelezen = 1;
}

?>


Wat ook kan is
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$gelezen
= $gelezen == 1 ? 0 : 1;
?>


Maar wanneer staat die checkbox er dan, want die gaf je niet aan in je topic bericht...
 
Richard

richard

16/12/2008 11:07:00
Quote Anchor link
die staat er altijd, maar bij een value 0 (die word uit de database gehaald) is hij niet aangevinkt, en bij een 1 is die wel aangevinkt.

de reden dat ik de "" om de integers zet is omdat in de database geen integer value staat, maar 0 of 1 als tekst, is inderdaad niet zo netjes trouwens...

maar in principe is dus wat we moeten weten, hoe en of je dmv een button in het ene formulier, zegmaar de submit button op een ander formulier ook kan "aanklikken".

of de waarden uit de andere form kunnen uitlezen, zonder dat deze gesubmit zijn (wat voor zover ik weet niet nodig is omdat php serverside is en de veranderde (ongesubmitte) velden dus niet bij de server bekent zijn.
Gewijzigd op 01/01/1970 01:00:00 door richard
 
Marvin H

Marvin H

16/12/2008 12:38:00
Quote Anchor link
Maar niemand weet hoe we een form kunnen submitten bij het indrukken van een submit knop van een ander form?
 

16/12/2008 13:08:00
Quote Anchor link
Javascript :-)
 
Frank -

Frank -

16/12/2008 13:10:00
Quote Anchor link
Met javascript, anders gaat dat niet lukken, zie de html-standaarden.

Al had je het zelf ook kunnen bedenken, wanneer je brief A op de post doet, zal brief B echt niet vanzelf ook worden meegestuurd...

Maar waarom maak je er niet 1 formulier van? Blijkbaar horen de gegevens bij elkaar, anders had je helemaal geen probleem gehad.
 
Richard

richard

16/12/2008 13:12:00
Quote Anchor link
javascript heb ik al naar gezocht, maar ik zie overal staan dat het niet werkt, iemand die een werkend voorbeeld heeft hiervoor?

@pfFrank: zie mijn eerste post in deze topic, daar leg ik het uit
 
Richard

richard

16/12/2008 14:12:00
Quote Anchor link
opgelost door het gelezen / niet gelezen van de vraag gewoon via een knop te laten gebeuren en alles in 1 formulier gezet.

toch bedankt voor de hulp.
 

16/12/2008 15:07:00
Quote Anchor link
"javascript heb ik al naar gezocht, maar ik zie overal staan dat het niet werkt, iemand die een werkend voorbeeld heeft hiervoor?"

Lol. Heb hier meerdere "forms" binnen een form liggen, en of het werkt ;-)
(En ja, zowel in Safari, Opera, Firefox en IE6+7 :-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.