Bij bezoeken pagina word al toegevoegd

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Naam Loos

Naam Loos

06/02/2009 10:01:00
Quote Anchor link
Als ik naar partertoevoegen.php ga komt er een lege rij in de database de staan. Hoe zet ik dat uit?
De code:
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
<?php
require_once 'database.php';

$url = mysql_real_escape_string($_POST['url']);
$tekst = mysql_real_escape_string($_POST['tekst']);

$sql = "
    INSERT INTO partners
    (
        url,
        tekst
    )
    VALUES
    (
        '"
.$url."',
        '"
.$tekst."'
    )
"
;

if(!$res = mysql_query($sql))
{

    trigger_error(mysql_error().'<br />In query: '.$sql);
}

?>

<form action="" method="post" name="punten">
<table>
<tr>
<td>Url:
<td><input type="text" name="url" value="http://"></td>
</tr>
<tr>
<td>Site naam:</td>
<td><input type="text" name="tekst" value=""></td>
<tr>
 <td></td><td><input type="submit" name="post" value="Toevoegen"></td>
</form>
</table>
<a href="partners.php">Terug</a>

Alvast bedankt!
 
PHP hulp

PHP hulp

09/11/2024 02:26:46
 

06/02/2009 10:06:00
 
Naam Loos

Naam Loos

06/02/2009 10:15:00
Quote Anchor link
Link werkt niet!
 
Rolf

Rolf

06/02/2009 10:58:00
Quote Anchor link
Die link hierboven werkt trouwens wel, maar ik zal het proberen een beetje uit te leggen. Je hebt dus de fout dat als je die pagina bezoekt er dan al iets in de database ingevoegd word.

Ik pas het een beetje aan, verbeter me als het nog fout is of iets anders.
Je kan het zoals jij doet op 1 pagina doen, het formulier en het verwerken ervan. Maar dan zou je ook een controle moeten doen of het formulier als is ingevuld. Anders zou je het op 2 pagina's kunnen doen. Dat ga ik je nu laten zien

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
form.php


<form action="formverwerk.php" method="post" name="punten">
<table>
<tr>
<td>Url:
<td><input type="text" name="url" value="http://"></td>
</tr>
<tr>
<td>Site naam:</td>
<td><input type="text" name="tekst" value=""></td>
<tr>
 <td></td><td><input type="submit" name="post" value="Toevoegen"></td>
</form>
</table>
<a href="partners.php">Terug</a>


formverwerk.php


<?php
require_once 'database.php';

$url = mysql_real_escape_string($_POST['url']);
$tekst = mysql_real_escape_string($_POST['tekst']);

$sql = "
    INSERT INTO partners
    (
        url,
        tekst
    )
    VALUES
    (
        '"
.$url."',
        '"
.$tekst."'
    )
"
;

if (mysql_query($query))
    {

        echo "Gegevens zijn ingevoerd!";
    }
else {
        echo "Door een fout, konden de gegevens niet worden ingevoegd." . mysql_error();
    }

?>


Nu zou je fout opgelost moeten zijn.
Je kan het ook op 1 pagina doen, maar dan zou je dus moeten kijken of het formulier is ingevoerd zoja dan invoegen zonee dan formulier laten zien.
Zal later ff kijken of ik zoiets nog heb staan hier.
Gewijzigd op 01/01/1970 01:00:00 door Rolf
 
Justin S

Justin S

06/02/2009 11:40:00
Quote Anchor link
DIt kan veel makkelijker:

zet de PHP code waarmee je iets in de database wil zetten tussen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

if($_SERVER['REQUEST_METHOD'] == "POST") {

//script

}
?>


Door middel van het vragen aan de server (REQUEST) of de methode (METHODE) al is aangeroepen of er iets is gepost (POST), oftewel, je vraagt de server om een actie uit te voeren zodra er op de submit knop is gedrukt.

Dit kan je gewoon in dezelfde pagina doen, maar zorg dan wel dat de action uit je form element er zo uitziet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<form method="post" action="<? $_SERVER['PHP_SELF'] ?>">
<!-- REST -->


Ik hoop dat het te volgen is. Succes!
 
Rolf

Rolf

06/02/2009 11:51:00
Quote Anchor link
Ik was net bezig zoiets te laten zien jah voor op 1 pagina maar Justin was me voor :)
 
Naam Loos

Naam Loos

06/02/2009 12:22:00
Quote Anchor link
Ik heb het al, bedankt!
 



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.