Toon posts:

[php]post bericht gaat door query heen

Pagina: 1
Acties:
  • 50 views sinds 30-01-2008

Verwijderd

Topicstarter
hallo naja dit is dus mijn probleempje ik ben best wel noob en ben bezig met een pm systeempje maar ik krijg dus zodra ik op newpmsg.php ram het scherm te zien en het word me duidelijk dat hij meteen de query start en niet wacht tot ik op submit ram waar ligt in godsnaam de fout ik kan hem echt niet vinden


<? session_start();
ob_start("ob_gzhandler"); ?>
<? include ('config.php') ?>
<? include ('voorbeeld.php') ?>
<? include ('session.php') ?>

<html>

<head>
</head>


<body bgcolor="a7b6dd" link="#000000" vlink="#000000" alink="#00000">
<? include ('header.php') ?>
<table border="1" bordercolor="000000" cellspacing="0" cellpadding="0" align="center">
<tr>
<td bgcolor=#6a8dba width=748 height=500 nowrap valign=top align=center>
<form action="index.php" method="post">
onderwerp:<br> <input type="text" maxlength="20" size="10" name="onderwerp"><BR>
jouw bericht:<br> <textarea name="tekst" maxlength="" ROWS=6 COLS=40></textarea><br><p>
<input type="submit" name="submit" value="verstuur">
<input type="reset" value="Reset" name="Reset">
</form>
<?php
if (empty($onderwerp)) { echo "Je bent je naam vergeten in te vullen!<br>
Klik <a href=\"javascript:history.back(1)\">hier</a> om terug tegaan.";
} else {
$onderwerp = addslashes($onderwerp);
$tekst = addslashes($tekst);
$name = $_SESSION['sUser'];
$insert = "INSERT INTO pmsg (afzender, ontvanger, onderwerp, tekst, gelezen)
VALUES ('$name', '$ontvanger', '$onderwerp', '$tekst', '$gelezen')";
mysql_query($insert) or die("<center>
jah lekker dan.... nu is het databeest bijna stuk<BR>
Klik <a href=\"javascript:history.back(1)\">hier</a> om terug tegaan.</center>
");
echo "waarom is hij al verstuurd??";
}
?>
</td>
</tr>
</table>
</html>

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Ik heb hem 4 keer doorgelezen, maar ik snap er nog werkelijk niets van..

Kan je je topic misschien herschrijven, in combinatie met iets meer leestekens en iets duidelijker taalgebruik?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
dit is wel beetje basic..

als je in dezelfde file een formuliertje wil doen, EN een query, die dat formuliertje invoert zal je in ieder geval de pagina ene keer moeten reloaden

wat ik altijd doe is simpel uitgelegt dit:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if (er meuk gepost is)
{
  lees geposte meuk
  voer query uit
  geef goed/foutmelding
} else {
  echo ('een heel formuliertje in html
  die post naar hetzelfde bestand
  incluis een submit knopje');
}
?>

er MOET in ieder geval een voorwaarde in zitten, anders gaat hij, idd, zoals bij jouw de query direct uitvoeren

[ Voor 15% gewijzigd door BasieP op 28-09-2003 23:19 ]

This message was sent on 100% recyclable electrons.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

zet er gewoon eens een check omheen om te kijken of de request method wel een POST is van een form:

PHP:
1
2
3
4
5
if ($_SERVER['REQUEST_METHOD'] == 'POST') {

  // verwerk formulier

}


offtopic:
gebruik ook liever geen name="submit" in een form

Intentionally left blank


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

even tussen [php] [/php] tags zetten zou ook fijn zijn

Blog [Stackoverflow] [LinkedIn]


  • Maxonic
  • Registratie: September 2000
  • Laatst online: 28-07 22:38
PHP:
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
<?
session_start();
ob_start("ob_gzhandler"); 
include ('config.php');
include ('voorbeeld.php');
include ('session.php');
?>

    <html>
    <head>
    </head>
    <body bgcolor="a7b6dd" link="#000000" vlink="#000000" alink="#00000">

<? include ('header.php') ?>

    <table border="1" bordercolor="000000" cellspacing="0" cellpadding="0" align="center">
    <tr>
    <td bgcolor=#6a8dba width=748  height=500 nowrap valign=top align=center>

<?
if(!IsSet($_POST['submit'])) // bedankt voor de herinnering gorgi_19 :)
{
?>

<form action="index.php" method="post">
onderwerp:<br> <input type="text" maxlength="20" size="10" name="onderwerp"><BR>
jouw bericht:<br> <textarea name="tekst" maxlength="" ROWS=6 COLS=40></textarea><br><p>
        <input type="submit" name="submit" value="verstuur">
        <input type="reset" value="Reset" name="Reset">
        </form>
<?
} else {

    if (empty($onderwerp))
    { 
        echo "Je bent je naam vergeten in te vullen!<br>Klik <a href=\"javascript:history.back(1)\">hier</a> om terug tegaan.";
        } else {
        $onderwerp = addslashes($onderwerp);
        $tekst = addslashes($tekst);
        $name = $_SESSION['sUser'];
        $insert = " INSERT INTO pmsg (afzender, ontvanger, onderwerp, tekst, gelezen)
                    VALUES ('$name', '$ontvanger', '$onderwerp', '$tekst', '$gelezen')";
        mysql_query($insert) or die("<center>die sucks...<BR>Klik <a href=\"javascript:history.back(1)\">hier</a> om terug tegaan.</center>");
        echo "waarom is hij al verstuurd??";
        echo "antwoord: Omdat je op de submit knop hebt gedrukt!";
    }
}
?>
</td>
</tr>
</table>
</html>


maar ik zie dat ik weer te laat bent :)

de bedoeling is dus dat je controleerd of er gepost is alvorens de query uit te voeren. Sorry voor de layout btw maar er zijn meerdere mensen die daar niet zoveel om geven... hé TS ;)

[ Voor 51% gewijzigd door Maxonic op 28-09-2003 23:26 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Ow, in dit geval kan, zoals Glimi al aangaf, register_globals ook voor problemen gaan zorgen. :P

[ Voor 28% gewijzigd door gorgi_19 op 28-09-2003 23:24 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Het lijkt me verstandig dat je al het commentaar in dit topic samen met het afwerken van http://nl3.php.net/tut.php combineert, en zelf aan de slag gaat. Ik kan niet geloven dat je kan werken met ob_handlers maar geen idee hebt wat je hier fout doet.

We gaanIk ga hier niet je werkende code neerzetten, maar ik vraag je om zelf op onderzoek uit te gaan. Op die manier leer je er 10x zoveel van en kun je het de volgende keer zelf oplossen in plaats van telkens te vragen.

Succes
Pagina: 1

Dit topic is gesloten.