abonnement Unibet Coolblue Bitvavo
pi_28923715
Argh!

ik wordt gek

Ik heb een document, met filename.php?ID=123 krijg ik het id nummer. Ik krijg dan wat info te zien (wat werkt) en dan een aantal berichten (Wat ook werkt, geprobeert door handmatig dingen in de database te zetten) en daarna zou ik een bericht moeten kunnen toevoegen. Echter, het ID nummer is "weg" na
1
2
3
  $sql = "SELECT bericht, plaatser, datum, tijd FROM LANTOPIC WHERE followid = '".$ID."'"; 
 $query = mysql_query($sql) or die(mysql_error());
 while ($result = mysql_fetch_array($query)) {  
(na de while-regel issie leeg).

Iemand enig idee hoe dit komt en hoe dit te verhelpen? Complete code van dit document:

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
<?php
&lt;LINK HREF="style.css" TYPE="text/css" REL="stylesheet"&gt;
php
include("connection.php");
echo
"<head><title>Lanparty: Discussie</title></head>";
$ID = $_GET['ID'];
$sql = "SELECT * FROM LAN WHERE ID = '".$ID."'";
$query = mysql_query($sql) or die(mysql_error());
while (
$result = mysql_fetch_array($query)) {
$email = $result['email'];
$naam = $result['naam'];
$locatie = $result['locatie'];
$provincie = $result['provincie'];
$datum = $result['datum'];
$duur = $result['duur'];
$plaatsen = $result['plaatsen'];
$bezet = $result['bezet'];
$toegang = $result['toegang'];
$notitie = $result['notitie'];
$site = $result['site'];


// etc.
echo"<div STYLE='border-style:outset;width:500pt'><table> <tr>
                     <td>Naam:</td><td>"
.$naam."</td>
                     <td>Email:</td><td>"
.$email."</td> </tr>
                     <tr><td>Locatie:</td><td>"
.$locatie."</td>
                     <td>Provincie:</td><td>"
.$provincie."</td></tr>
                     <tr><td>Datum:</td><td>"
.$datum."</td>
                     <td>Duur:</td><td>"
.$duur."</td></tr>
                     <tr><td>Aantal plaatsen:</td><td>"
.$plaatsen."</td>
                     <td>al bezet:</td><td>"
.$bezet."</td></tr>
                     <tr><td>Toegangs prijs:</td><td>"
.$toegang."</td></tr>
                     <tr><td>website</td><td><a href='"
.$site."'>".$site."</a></td></tr>
                     <tr><td>Notitie:</td></tr> </table>
                     "
.$notitie."
                     </div><br>"
;
}
echo
"<br>";

echo
"<DIV STYLE='border-style:outset; width:500pt'>";
echo
"<p align = center><b>Reacties op deze advertentie: </b></p>";
$sql = "SELECT bericht, plaatser, datum, tijd FROM LANTOPIC WHERE followid = '".$ID."'";
$query = mysql_query($sql) or die(mysql_error());
while (
$result = mysql_fetch_array($query)) {
$bericht = $result['bericht'];
$plaatser = $result['plaatser'];
$datum = $result['datum'];
$tijd = $result['tijd'];
echo=
"<h6><i>".$plaatser." heeft op ".$datum.", ".$tijd." het volgende bericht geplaatst:</i><br> ".$bericht." </h6>";
echo=
"<hr background-color = white color = white> ";

}

echo
"</div>";


if(!empty(
$_POST)){
     
$bericht = $_POST['bericht'];
     
$plaatser = $_POST['plaatser'];
     
$datum = date("Y F j");
     
$tijd = date("H:i:s");
     
$sql_query = "INSERT INTO LANTOPIC (followid, datum, tijd, bericht, plaatser) ";
     
$sql_query .="VALUES ('".$ID."', '".$datum."', '".$tijd."', '".$bericht."', '".$plaatser."' );";
     
$result = mysql_query($sql_query) or die(mysql_error());
     echo
" <meta HTTP-EQUIV=\"REFRESH\" content=\"5; url=index.php\"> ";
     
$text="Je Bericht is geplaatst! Je wordt over enkele seconden terug gestuurd naar de begin pagina";
     die(
$text);
}


&
lt;br&gt;

&
lt;DIV STYLE="border-style:outset; width:500pt"&gt;
&
lt;p&gt;Laat een berichtje achter! &lt;/p&gt;
&
lt;table&gt;
&
lt;tr&gt;
&
lt;FORM NAME="form2" METHOD="post" ACTION="php echo($_SERVER["PHP_SELF"]);"&gt;
&
lt;td&gt;Je naam: &lt;/td&gt;&lt;td&gt;&lt;INPUT TYPE="text" NAME="plaatser" MAXLENGTH="400" size="55"&gt;&lt;/td&gt;  &lt;/tr&gt;
&
lt;tr&gt;&lt;td&gt;Bericht: &lt;/td&gt;&lt;td&gt;&lt;INPUT TYPE="text" NAME="bericht" MAXLENGTH="400" size="55"&gt;&lt;/td&gt;
&
lt;/tr&gt;
        &
lt;tr&gt;
&
lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;INPUT TYPE="submit" VALUE="Voeg bericht toe!"&gt;&lt;/td&gt;
&
lt;/tr&gt;
&
lt;/table&gt;
&
lt;/FORM&gt;


&
lt;/div&gt;


&
lt;/td&gt;
&
lt;td&gt;


&
lt;/tr&gt;&lt;/td&gt;&lt;/table&gt;
?>
pi_28924144
Wat wil je nou, GET of POST?

Overgens ontbreekt elke vorm van beveiliging tegen injection (mysql_escape_string of addslashes).
De redirect na de insert kan je in plaats van client side (meta refresh) beter serverside doen (header("location:http://mydomain.com/index.php");)
Verder maakt de inline-css je code onoverzichtelijk en slecht aanpaspaar.
(en vergeet die [php]-tags, die verneuken de boel)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_28924258
Wat ik wil is een ID nummer opvragen, paar dingen mee opzoeken, en daarna in een aparte tabel een berichtje plaatsen met in het veld followid dát ip nummer dat ik met GET opvroeg..
pi_28925013
Je moet wel goed in de gaten houden wat de volgorde is waarin alles gebeurd.
Eerst vraag je de pagina op met als parameter ID=123. Dit is een GET request. Je haalt dan alle gegevens op die je bij die ID wil laten zien.
Als je dan commentaar invoert en op "voeg bericht toe" klikt, dan komt je voor een 2e keer in je script. Dit is een POST request. Het enige wat je dan doet is het nieuwe bericht opslaan in de database. Als dat gelukt is, dan redirect je naar een andere (of dezelfde) pagina.

Dit idee dus (erg versimpelt, hier zijn ongetwijfeld nog 1001 op- en aanmerkingen bij te maken)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php

if ($_SERVER['REQUEST_METHOD']=='POST') {
   $ID = intval($_POST['ID']);
   if ($ID==0) die('Invalid ID');
   // meer velden uit het form ophalen en valideren
   //...
   // bericht in database opslaan
   //...
   // Redirect
   header('location:'. $_SERVER['PHP_SELF'].'?ID='.$ID);


$ID = intval($_GET['ID']);
if ($ID==0) die('Invalid ID');
// Gegevens uit database halen
//...
// Gegevens tonen
?>
<html>
...
</html>
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_28926517
ik snap ff niet wat je bedoelt? Ik wil simpelweg dat ID dat ik opvraag, opslaan in een andere tabel.. thats all..
pi_28928049
quote:
Op maandag 18 juli 2005 22:56 schreef LeeHarveyOswald het volgende:
ik snap ff niet wat je bedoelt? Ik wil simpelweg dat ID dat ik opvraag, opslaan in een andere tabel.. thats all..
Het vreemde van jouw script is dat ook als je alleen gegevens op wil slaan in de database, dat je dan toch eerst vanalles uit de db trekt en print. Maar dat printen is nogal overbodig omdat je daarna toch een redirect doet.

Daarom zeg ik dat je onderscheid moet maken tussen het opvragen van gegevens en het invoeren van gegevens. Bij het opvragen verstuur je de ID via de url met http://mydomain.net/mypage.php?ID=123. Bij het opslaan van de gegevens verstuur je de gegevens via het form. Dan moet je dus ook de ID in je from zetten, in een hidden input veld.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_28928321
Euhm volgens mij volg je em niet helemaal

Ik print gegevens, die staan in beeld. Onderin staat een formulier, iemand kan reageren. Iemand klikt op de knop, en de gegevens (met OA. nogmaals dat ID nummer) worden opgeslagen, redirect wordt uitgevoerd.
pi_28928602
Euhm volgens mij volg je em niet helemaal

Je post het form naar http://domain.net/filename.php, in het form staat "plaatser" en "bericht" maar geen ID.
(en nog steeds is het onzinnig om vanalles uit de db te halen en te printen als je alleen maar "Je Bericht is geplaatst!" wil printen)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_28929553
Zoals ik al zei: je stuurt de ID niet mee in je form!
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_28935179
tvp.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_29009417
Hallo mensen, ik zit met een geweldig groot probleem. Ik moet een tooltip als variable gaan schrijven... alleen dat brengt nogal wat problemen met zich mee. Dit is wat ik er tot nu toe van gebakken heb:

1
2
3
4
<?php
$fok
= "<a href=acteurs.php?acteur=$naamm onMouseover=".'"ddrivetip(' . "'$naamm')" .'"' . ";
            onMouseout="
. '"hideddrivetip()">' . "$naamm</a>");
?>


Als goed voorbeeld heb ik deze tooltip, maar die doet het natuurlijk niet als variable:

1
2
<a href="http://www.yahoo.com" onMouseover="ddrivetip('Visit Yahoo.com')";
 onMouseout="hideddrivetip()">Search Engine</a>


Enig idee hoe ik dit zou moeten schrijven?
Alvast bedankt
pi_29015553
Een backslash doet wonderen.

1
2
$link = '<a href="http://www.yahoo.com" onMouseover="ddrivetip(\'Visit Yahoo.com\')";
 onMouseout="hideddrivetip()">Search Engine</a>';
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_29015670
Dit bedoelt ie denk ik
1
2
3
<?php
$test
= "<a href=\"http://www.yahoo.com\" onMouseover=\"ddrivetip('Visit Yahoo.com')\"; onMouseout=\"hideddrivetip()\">Search Engine</a>";
?>
pi_29016816
ik zal is kijken
pi_29016843
quote:
Op donderdag 21 juli 2005 17:33 schreef Da_Koen het volgende:
Dit bedoelt ie denk ik
[ code verwijderd ]
beetje loos om double quotes strings te gaan gebruiken als je maar één variabele hebt en je daardoor 5+ slashes moet gaan toevoegen.
pi_29017458
quote:
Op donderdag 21 juli 2005 17:33 schreef Da_Koen het volgende:
Dit bedoelt ie denk ik
[ code verwijderd ]
Donders bedankt, hij werkt
  FOK!-Schrikkelbaas vrijdag 22 juli 2005 @ 19:28:30 #78
1972 Swetsenegger
Egocentrische Narcist
pi_29047831
quote:
Op donderdag 21 juli 2005 18:35 schreef Roönaän het volgende:

[..]

beetje loos om double quotes strings te gaan gebruiken als je maar één variabele hebt en je daardoor 5+ slashes moet gaan toevoegen.
die van SuperRemo was wat eenvoudiger ja
  zaterdag 23 juli 2005 @ 12:05:42 #79
19840 Libris
Live from Singapore
pi_29059574
Ik zit wat te spelen met imap en vraag het from veld van een mail op met:
1
2
3
4
5
$header = imap_header($mailbox, $index);
$from = $header->from;
foreach ($from as $id => $object) {
     echo $object->personal.":<br>";
}

Alles als een mail geen afzendernaam heeft (dus alleen een emailadres), dan krijg ik op mijn webpagina een "Notice: Undefined property: stdClass::$personal in c:\Inetpub\wwwroot\kluit\start.php on line 98".

Hoe krijg ik voor elkaar dat ik voor een mail die een naam als afzender heeft de naam laat zien en voor andere mail het emailadres?
pi_29059856
Je kan met isset($object->personal) controleren of de property bestaat.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zaterdag 23 juli 2005 @ 12:31:57 #81
19840 Libris
Live from Singapore
pi_29060121
quote:
Op zaterdag 23 juli 2005 12:05 schreef Libris het volgende:
Ik zit wat te spelen met imap en vraag het from veld van een mail op met:
[ code verwijderd ]

Alles als een mail geen afzendernaam heeft (dus alleen een emailadres), dan krijg ik op mijn webpagina een "Notice: Undefined property: stdClass::$personal in c:\Inetpub\wwwroot\kluit\start.php on line 98".

Hoe krijg ik voor elkaar dat ik voor een mail die een naam als afzender heeft de naam laat zien en voor andere mail het emailadres?
Ah, thanks!

Rings a bell
pi_29060298
quote:
Op zaterdag 23 juli 2005 12:31 schreef Libris het volgende:
Rings a bell
't zou niet best zijn als je je na een half uur helemaal niets meer van je eigen post zou kunnen herinneren
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_29060425
zou in dit geval overigens if(empty()) gebruiken ipv if(isset()).
pi_29060759
Waarom empty() in plaats van isset()? Het probleem is dat de property niet bestaat, niet dat ie leeg is.

Empty() geeft trouwens ook true terug als de waarde "0" is. En dat is niet wat je wil. Er zal waarschijnlijk niemand zijn met "0" als naam, maar toch klopt het niet.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_29061582
quote:
Op zaterdag 23 juli 2005 13:03 schreef SuperRembo het volgende:
Waarom empty() in plaats van isset()? Het probleem is dat de property niet bestaat, niet dat ie leeg is.

Empty() geeft trouwens ook true terug als de waarde "0" is. En dat is niet wat je wil. Er zal waarschijnlijk niemand zijn met "0" als naam, maar toch klopt het niet.
Empty geeft true terug als de name property niet bestaat, de name property leeg is, of de name property 0 is. Dit leken mij alledrie gegronde situaties waarin je het email adres wil laten zien ipv de name property.

Isset handled alleen het wel of niet bestaan af, en dwingt je in dit geval om nog extra clauses te bouwen voor de gevallen dat de name-property onzinnig is.

-r-
pi_29062425
Ja daar zit wat in.
Het rare van empty() is dat het true geeft voor "" en "0", maar bijvoorbeeld " " geeft false. Daarom gebruik ik 'm zelf liever niet.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_29064109
gebruik ook nog weleens if(strlen(trim(@$var_die_mogelijk_niet_bestaat)) == 0)

-r-
  zondag 24 juli 2005 @ 21:05:05 #88
76657 Maikey
This pik ik niet!
pi_29095165
Weet iemand waarom in mijn shoppingcart het totaalbedrag automatisch wordt afgerond naar beneden? Ik heb geen waarden tussen quote's staan.

http://www.puzzlingworld.nl/v2/ (onder bestellen, eerst een product toevoegen natuurlijl )
Wat een onzin!
pi_29095507
quote:
Op zondag 24 juli 2005 21:05 schreef Maikey het volgende:
Weet iemand waarom in mijn shoppingcart het totaalbedrag automatisch wordt afgerond naar beneden? Ik heb geen waarden tussen quote's staan.

http://www.puzzlingworld.nl/v2/ (onder bestellen, eerst een product toevoegen natuurlijl )
Denk je dat ik daar wat zinnigs over kan zeggen zonder te weten hoe het berekend wordt?

(Waarom zie je trouwens geen prijs bij het spel zelf, je ziet de prijs pas in het besteloverzicht )
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_29098876
Ik wil een sitemap tonen van content dat met parent -> node is gerangschikt. Er zijn onbeperkt aantal dieptes. In de database staat bijvoorbeeld:

1
2
3
4
5
6
7
8
9
10
11
12
id    parent_id    titel
--    ---------    -----
 0    null         Index
 1    0            Test1
 2    1            Test2
 3    1            Test3
 4    2            Test4
 5    2            Test5
 6    1            Test6
 7    2            Test7
 8    6            Test8
 9    1            Test9


Hieruit wil ik een volgend 'plattegrond' tonen:

1
2
3
4
5
6
7
8
9
10
Index 
...... Test1
............ Test2
.................. Test4
.................. Test5
.................. Test7
............ Test3
............ Test6
.................. Test8
............ Test9


Ik zie alleen even door de recursieve functies en het slaapgebrek niet hoe ik dit het beste kan doen. Suggesties?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')