2 x een form in 1 pagina. gaat mis

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marije

Marije

08/09/2006 09:05:00
Quote Anchor link
Hallo,
Ik heb een een pagina waarop ik een nieuw agendapunt kan toevoegen en waar ik tegelijkertijd de andere agendapunten kan wijzigen. De pagina functioneert verder prima, het enige is dat als ik bij 'toevoegen' of bij 'wijzigen' op submit druk dat hij beide forms gaat doen, dus als ik er eentje wil wijzigen voegt hij er ook eentje toe (en zo heb je dus een duplicate). Iemand een idee hoe ik alleen de desbetreffende actie kan laten uitvoeren?


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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?

    if ($_POST["omschrijving"] && $_POST["locatie"] && $_POST["mydate"] && $_POST["tijd"])
    {


        echo $sql = "INSERT INTO agenda (id, omschrijving, tijd, datum, locatie) VALUES ('', '".mysql_real_escape_string($_POST['omschrijving'])."', '".mysql_real_escape_string($_POST['tijd'])."', '".mysql_real_escape_string($_POST['mydate'])."', '".mysql_real_escape_string($_POST['locatie'])."')";
        $res = mysql_query($sql);

        if ($res)
        {

            echo "Het agendapunt is toegevoegd aan de site.";
        }

        else
        {
            echo "Het agendapunt is niet toegevoegd aan de site";
        }
    }

    else
    {
        if ($_POST["submit"])
            $err = "Enkele velden vergeten.";

        if ($_POST["mydate"])
            $cdate = $_POST["mydate"];
        else
            $cdate = date("Y-m-d");

        $row[msg] = nl2br($row[msg]);
        
        echo "<div class=\"lime\">Agenda</div><br>Agendapunt invoeren:<br><br>";
        echo "<form method=\"post\" action=\"$PHP_SELF\" name=\"formulier\" onSubmit=\"return checkdate(this.mydate)\">";
        echo "<input type=\"hidden\" name=\"show\" value=\"add\">";
        echo "Datum:&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"text\" size=\"15\" maxlength=\"10\" value=\"$cdate\" name=\"mydate\" id=\"input_03\">&nbsp;&nbsp;";
        echo "Tijd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"text\" size=\"15\" maxlength=\"15\" name=\"tijd\" id=\"input_03\">$row[tijd]<br><br>";
        echo "Locatie:&nbsp;&nbsp;<input type=\"text\" size=\"15\" maxlength=\"50\" name=\"locatie\" id=\"input_03\">$row[locatie]&nbsp;&nbsp;";
        echo "Omschrijving:&nbsp;&nbsp;<input type=\"text\" size=\"15\" maxlength=\"150\" name=\"omschrijving\" id=\"input_03\">$row[omschrijving]<br><br>";    
        echo "<input type=\"submit\" name=\"submit\" value=\"toevoegen\" id=\"toevoeg_submit\">";

        echo "</form>";
    
        
        $row[msg] = nl2br($row[msg]);
        

    }


?>


<br>
<img src="img/stretch2.jpg" width="533" height="10"><br>
<br>


<?  
        
if ($_POST["omschrijving"] && $_POST["locatie"] && $_POST["mydate"] && $_POST["tijd"] )
    {
    
        echo $sql = "UPDATE agenda SET omschrijving = '".mysql_real_escape_string($_POST['omschrijving'])."', locatie ='".mysql_real_escape_string($_POST['locatie'])."', datum = '".mysql_real_escape_string($_POST['mydate'])."', tijd = '".mysql_real_escape_string($_POST['tijd'])."' WHERE id = '$_POST[id]'";
        $res = mysql_query($sql);

        if ($res)
        {

            echo "Het bericht is bijgewerkt.";
        }


        else
        {
            echo "Om onbekende reden is het bericht niet bijgewerkt.";
        }
    }


    else
    {
    
     if ($_POST["mydate"])
            $cdate = $_POST["mydate"];
        else
            $cdate = date("Y-m-d");

    $sql = "SELECT id,omschrijving, tijd, datum, locatie FROM agenda ORDER BY id DESC,datum DESC";
    $res = mysql_query($sql);
    
    echo "<table class=\"showshakers2\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    echo "<tr><td height=\"15\" width=\"210\"><b>Omschrijving</b></td><td height=\"15\" width=\"110\"><b>Locatie</b></td><td width=\"80\"><b>Datum</b></td><td width=\"80\"><b>Tijd</b></td><td width=\"50\"></td></tr>";
    while ($row = mysql_fetch_array($res))
    {

    echo "<form method=\"post\" action=\"$PHP_SELF\" name=\"formulier\" onSubmit=\"return checkdate(this.mydate)\">";
    echo "<input type=\"hidden\" name=\"show\" value=\"edit\">";
    echo "<input type=\"hidden\" name=\"id\" value=\"$row[id]\">";
    echo "<tr><td><textarea name=\"omschrijving\" rows=\"1\" cols=\"40\" id=\"oms\">$row[omschrijving]</textarea></td>";
    echo "<td><textarea name=\"locatie\" rows=\"1\" cols=\"40\" id=\"loc\">$row[locatie]</textarea></td>";
    echo "<td><input type=\"text\" size=\"15\" maxlength=\"15\" value=\"$row[datum]\" name=\"mydate\"  id=\"date\"></td>";
    echo "<td><textarea name=\"tijd\" rows=\"1\" cols=\"40\" id=\"date\">$row[tijd]</textarea></td>";
    echo "<td><input type=\"submit\" name=\"submit\" value=\"Bewerken\" id=\"toevoeg_submit2\"></td>";
    echo "</form>";
    
    //echo "<td  width=\"60\" ><a href=\"javascript:askConfirm('Wilt u $row[omschrijving] verwijderen?','$PHP_SELF?show=del&id=$row[id]');\"><center><img src=\"../img/icon_delete.jpg\" width=\"32\" height=\"30\" border=\"0\"></center></a></td><td  width=\"60\"><a href=\"$PHP_SELF?show=edit&id=$row[id]\"><center><img src=\"../img/icon_edit.jpg\" width=\"32\" height=\"30\" border=\"0\"></td></tr><td height=\"10\" class=\"showshakers2grijs\" colspan=\"5\">----------------------------------------------------------------------------------------------------------------------------------------------</tt></td></td>";
    }
    echo "</table>";
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Marije
 
PHP hulp

PHP hulp

24/11/2024 16:15:53
 
Simon Blok

Simon Blok

08/09/2006 09:11:00
Quote Anchor link
Je controleert of het submit-knopje is 'gepost':
if ($_POST["submit"]), maar bij alle twee de formulieren heet dat knopje hetzelfde. Je zult dus verschillende namen moeten gebruiken.
 
Erik Rijk

Erik Rijk

08/09/2006 09:13:00
Quote Anchor link
elke submit knop een nieuwe naam geven....

en checken met:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    if(isset($_POST['naam_van_submit_knopje']))
    {

        // hier je afhandeling
    }
}

?>
 
Jan Koehoorn

Jan Koehoorn

08/09/2006 09:13:00
Quote Anchor link
Je echoot nu je <form> tag in een while loop. Op die manier krijg je toch veel meer formulieren dan twee?
 
Marije

Marije

08/09/2006 09:20:00
Quote Anchor link
ok de submit knop een andere naam geven doe ik waar?

doe je dat in de action van de form?
 
Erik Rijk

Erik Rijk

08/09/2006 09:30:00
Quote Anchor link
<input type="submit" name="...">
 
Marije

Marije

08/09/2006 09:46:00
Quote Anchor link
Ik heb de name's veranderd en ook heb ik geprobeerd om de if ($_POST["omschrijving"] etc een andere naam te geven... tevergeefs...

geef ik wel op de juiste plek de namen in? :


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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?


    if ($_POST["omschrijving"] && $_POST["locatie"] && $_POST["mydate"] && $_POST["tijd"])
    {


        echo $sql = "INSERT INTO agenda (id, omschrijving, tijd, datum, locatie) VALUES ('', '".mysql_real_escape_string($_POST['omschrijving'])."', '".mysql_real_escape_string($_POST['tijd'])."', '".mysql_real_escape_string($_POST['mydate'])."', '".mysql_real_escape_string($_POST['locatie'])."')";
        $res = mysql_query($sql);

        if ($res)
        {

            echo "Het agendapunt is toegevoegd aan de site.";
        }

        else
        {
            echo "Het agendapunt is niet toegevoegd aan de site";
        }
    }

    else
    {
        if ($_POST["posten"])
            $err = "Enkele velden vergeten.";

        if ($_POST["mydate"])
            $cdate = $_POST["mydate"];
        else
            $cdate = date("Y-m-d");
        
        echo "<div class=\"lime\">Agenda</div><br>Agendapunt invoeren:<br><br>";
        echo "<form method=\"post\" action=\"$PHP_SELF\" name=\"formulier\" onSubmit=\"return checkdate(this.mydate)\">";
        echo "<input type=\"hidden\" name=\"show\" value=\"add\">";
        echo "Datum:&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"text\" size=\"15\" maxlength=\"10\" value=\"$cdate\" name=\"mydate\" id=\"input_03\">&nbsp;&nbsp;";
        echo "Tijd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"text\" size=\"15\" maxlength=\"15\" name=\"tijd\" id=\"input_03\">$row[tijd]<br><br>";
        echo "Locatie:&nbsp;&nbsp;<input type=\"text\" size=\"15\" maxlength=\"50\" name=\"locatie\" id=\"input_03\">$row[locatie]&nbsp;&nbsp;";
        echo "Omschrijving:&nbsp;&nbsp;<input type=\"text\" size=\"15\" maxlength=\"150\" name=\"omschrijving\" id=\"input_03\">$row[omschrijving]<br><br>";    
        echo "<input type=\"submit\" name=\"posten\" value=\"toevoegen\" id=\"toevoeg_submit\">";

        echo "</form>";
    
        
        $row[msg] = nl2br($row[msg]);
        

    }


?>


<br>
<img src="img/stretch2.jpg" width="533" height="10"><br>
<br>


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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?  
        
if ($_POST["omschrijving"])
    {
    
        echo $sql = "UPDATE agenda SET omschrijving = '".mysql_real_escape_string($_POST['omschrijving'])."', locatie ='".mysql_real_escape_string($_POST['locatie'])."', datum = '".mysql_real_escape_string($_POST['mydate'])."', tijd = '".mysql_real_escape_string($_POST['tijd'])."' WHERE id = '$_POST[id]'";
        $res = mysql_query($sql);

        if ($res)
        {

            echo "Het bericht is bijgewerkt.";
        }


        else
        {
            echo "Om onbekende reden is het bericht niet bijgewerkt.";
        }
    }


    else
    {
    
     if ($_POST["mydate"])
            $cdate = $_POST["mydate"];
        else
            $cdate = date("Y-m-d");

    $sql = "SELECT id,omschrijving, tijd, datum, locatie FROM agenda ORDER BY id DESC,datum DESC";
    $res = mysql_query($sql);
    
    echo "<table class=\"showshakers2\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    echo "<tr><td height=\"15\" width=\"210\"><b>Omschrijving</b></td><td height=\"15\" width=\"110\"><b>Locatie</b></td><td width=\"80\"><b>Datum</b></td><td width=\"80\"><b>Tijd</b></td><td width=\"50\"></td></tr>";
    while ($row = mysql_fetch_array($res))
    {

    echo "<form method=\"post\" action=\"$PHP_SELF\" name=\"formulier2\" onSubmit=\"return checkdate(this.mydate)\">";
    echo "<input type=\"hidden\" name=\"show\" value=\"edit\">";
    echo "<input type=\"hidden\" name=\"id\" value=\"$row[id]\">";
    echo "<tr><td><textarea name=\"omschrijving\" rows=\"1\" cols=\"40\" id=\"oms\">$row[omschrijving]</textarea></td>";
    echo "<td><textarea name=\"locatie\" rows=\"1\" cols=\"40\" id=\"loc\">$row[locatie]</textarea></td>";
    echo "<td><input type=\"text\" size=\"15\" maxlength=\"15\" value=\"$row[datum]\" name=\"mydate\"  id=\"date\"></td>";
    echo "<td><textarea name=\"tijd\" rows=\"1\" cols=\"40\" id=\"date\">$row[tijd]</textarea></td>";
    echo "<td><input type=\"submit\" name=\"bewerk\" value=\"Bewerken\" id=\"toevoeg_submit2\"></td>";
    echo "</form>";
    
    //echo "<td  width=\"60\" ><a href=\"javascript:askConfirm('Wilt u $row[omschrijving] verwijderen?','$PHP_SELF?show=del&id=$row[id]');\"><center><img src=\"../img/icon_delete.jpg\" width=\"32\" height=\"30\" border=\"0\"></center></a></td><td  width=\"60\"><a href=\"$PHP_SELF?show=edit&id=$row[id]\"><center><img src=\"../img/icon_edit.jpg\" width=\"32\" height=\"30\" border=\"0\"></td></tr><td height=\"10\" class=\"showshakers2grijs\" colspan=\"5\">----------------------------------------------------------------------------------------------------------------------------------------------</tt></td></td>";
    }
    echo "</table>";
}

?>
 
Marije

Marije

08/09/2006 09:58:00
Quote Anchor link
hey volgens mij heb ik het.. je moet de namen in elk tekstveld veranderen geloof ik :)
 
Erik Rijk

Erik Rijk

08/09/2006 10:01:00
Quote Anchor link
nog een tip.

werk binnen php met enkele quotes, dan hoef je je html binnen die echo niet te escapen.
enkel bij Query's dubbele quotes gebruiken.
 



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.