FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies - Deel 9
SuperRembozondag 15 mei 2005 @ 10:58

cd niet bijgeleverd

Vorige delen:
[PHP] voor dummies
[PHP] voor dummies - Deel 2
[PHP] voor dummies - Deel 3
[PHP] voor dummies - Deel 4
[PHP] voor dummies - Deel 5
[PHP/(My)SQL] voor dummies - Deel 6
[PHP/(My)SQL] voor dummies - Deel 7
[PHP/MySQL] voor dummies deel 8

Zie ook:
FAQ - Algemene kleine vragen. Part 2.
http://www.php.net
http://www.php.net/docs.php
http://dev.mysql.com/doc/mysql/en/index.html

Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP:PHP
the_disheaverzondag 15 mei 2005 @ 12:12
tvp
mscholzondag 15 mei 2005 @ 13:02
quote:
Op zondag 15 mei 2005 12:12 schreef the_disheaver het volgende:
tvp
die schijnen niet meer te werken...

maar een ander iets:

als ik OS, browser enzo uit de useragent wil halen kan ik dan volstaan met bijvoorbeeld
preg_match("/mozilla/",$agent) ? (of iets soort gelijks ??, ken de syntax niet 100%)

en nog een vraagje maar toevoegen:

iemand ervaring met het genereren van plaatjes waar, zeg 4 woorden op staan 2 dezelfde en alleen daar mag je op klikken...
random woorden en random geplaatst op het plaatje...

[ Bericht 19% gewijzigd door mschol op 15-05-2005 13:18:51 ]
markiemarkzondag 15 mei 2005 @ 18:27
ik heb een upload script die niet helemaal goed werkt... dit is m
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
<?php
// instellen dat een file 10 MB mag zijn en een uur mag uploaden voor timeout
ini_set('upload_max_filesize', '10M');
ini_set('default_socket_timeout', '3600');


if (isset($_POST['upload_send']))
   {
      // file name declareren
         $file_name = $_FILES['uploadFile']['name'];
      
      // doelmap
         $dest_map = "files/pdf/";
         
      // extensie bepalen
         $ext = substr($file_name, -3);
         $ext = strtolower($ext);
      
      // bestandsvariabelen declareren
         $file_type = $_FILES['uploadFile']['type']; 
         $file_size = $_FILES['uploadFile']['size']; 
         $file_temp = $_FILES['uploadFile']['tmp_name'];      
      
      
      // nieuwe filename aanmaken
         $i = 1;
         $datum = date("d-m-Y");
         $tmp_name = "nieuwsbrief_".$datum."_";
         while (file_exists($dest_map . $tmp_name . $i . ".pdf")) 
            { 
               $i = $i + 1; 
            }  
         $naam = $tmp_name.$i.".pdf";
      
      // controle structuur
         if ($ext == "pdf")
            {
                  if ($file_size > (10 * (1024 * 1024)))
                     {
                        $msg = "Het bestand is te groot.";
                     }
                  else
                     {
                        
                        //$copy = move_uploaded_file($_FILES['uploadFile']['tmp_name'], $dest_map.$naam);
                        $copy = move_uploaded_file($_FILES['uploadFile']['tmp_name'], $dest_map.$naam);
                           if($copy)
                              {
                                  $msg = "Het uploaden is succesvol verlopen. De gebruikers kunnen vanaf uw site de nieuwsbrief downloaden.";
                              }
                           else
                              {
                                 $msg = "Kopieren mislukt";
                              }
                     }
            }
         else
            {
               $msg = "Het bestand dat u probeerde te uploaden is geen geldig PDF bestand";
            }

         echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"default\">";
         echo "<tr>";
         echo "<td class=\"header_td\">Nieuwsbrief uploaden</td>";
         echo "</tr>";
         echo "<tr>";
         echo "<td class=\"default_td\">".$msg."</td>";
         echo "</tr>";
         echo "<tr>";
         echo "</table>";
   }
else
   {
?>
<table cellpadding="0" cellspacing="0" border="0" class="default">
<tr><td class="header_td">Nieuwsbrief uploaden</td></tr>
<tr><td class="default_td">
<form name="form1" enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']."?pagina=nieuwsbrief_uploaden"; ?>"> 
<input name="uploadFile" type="file" id="uploadFile" class="input">
<input type="hidden" name="upload_send" value="1">
<br><br>
<input type="submit" name="submit" value="Uploaden" class="input">
</td></tr>
</table>
<?php   }
?>


er is maar 1 pdfje die ik heb die die pakt terwijl hij volgens mij gewoon alle pdf's tot 10 mb zou moeten pakken?!

hoeeee los ik dit op?
markiemarkzondag 15 mei 2005 @ 18:32
quote:
Op zondag 15 mei 2005 13:02 schreef mschol het volgende:

iemand ervaring met het genereren van plaatjes waar, zeg 4 woorden op staan 2 dezelfde en alleen daar mag je op klikken...
random woorden en random geplaatst op het plaatje...
hmmz die woorden zijn vrij makkelijk met de gd library op een plaatje te zetten, maar het punt is om klikken te verbieden. moet met een imagemap, dus ook html..

ben benieuwd waar je zoiets voor nodg hebt!
mscholzondag 15 mei 2005 @ 18:47
quote:
Op zondag 15 mei 2005 18:32 schreef markiemark het volgende:

[..]

hmmz die woorden zijn vrij makkelijk met de gd library op een plaatje te zetten, maar het punt is om klikken te verbieden. moet met een imagemap, dus ook html..

ben benieuwd waar je zoiets voor nodg hebt!
je vergeet dat ze ook checken of je wel op het dubble woord heb geklikt

maar niet zo zeer nodig maar was benieuwd hoe het gedaan werd..
hier wordt het gebruikt:
http://www.darkthrone.com(...)45M30311I30362N30226
ik was eigenlijk gewoon benieuwd hoe ze dat doen..
en ik denk niet dat ze me source code gaan geven
Roonaanzondag 15 mei 2005 @ 18:48
@markiemark

Het gebruiken van ini_set in je code is redelijk loos, aangezien de file al geupload moet zijn alvorens het script gaat runnen....
markiemarkzondag 15 mei 2005 @ 18:52
quote:
Op zondag 15 mei 2005 18:48 schreef Roönaän het volgende:
@markiemark

Het gebruiken van ini_set in je code is redelijk loos, aangezien de file al geupload moet zijn alvorens het script gaat runnen....
hmmz ok, niet aan gedacht... heb nu even een uitgekleede versie gemaakt, maar die werkt ook niet!!! zie ik iets over het hoofd?

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
<?php
// instellen dat een file 10 MB mag zijn en een uur mag uploaden voor timeout
/*ini_set('upload_max_filesize', '10M');
ini_set('default_socket_timeout', '3600');*/


if (isset($_POST['upload_send']))
   {
      // file name declareren
         $file_name = $_FILES['uploadFile']['name'];
      
      // doelmap
         $dest_map = "files/pdf/";
         
      // extensie bepalen
         $ext = substr($file_name, -3);
         $ext = strtolower($ext);
      
      // bestandsvariabelen declareren
         $file_type = $_FILES['uploadFile']['type']; 
         $file_size = $_FILES['uploadFile']['size']; 
         $file_temp = $_FILES['uploadFile']['tmp_name'];      
      
      
      // nieuwe filename aanmaken
         $i = 1;
         $datum = date("d-m-Y");
         $tmp_name = "nieuwsbrief_".$datum."_";
         while (file_exists($dest_map . $tmp_name . $i . ".pdf")) 
            { 
               $i = $i + 1; 
            }  
         $naam = $tmp_name.$i.".pdf";
      
      //$copy = move_uploaded_file($_FILES['uploadFile']['tmp_name'], $dest_map.$naam);
      $copy = move_uploaded_file($_FILES['uploadFile']['tmp_name'], $dest_map.$naam);
         if($copy)
            {
                $msg = "Het uploaden is succesvol verlopen. De gebruikers kunnen vanaf uw site de nieuwsbrief downloaden.";
            }
         else
            {
               $msg = "Kopieren mislukt";
            }

         echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"default\">";
         echo "<tr>";
         echo "<td class=\"header_td\">Nieuwsbrief uploaden</td>";
         echo "</tr>";
         echo "<tr>";
         echo "<td class=\"default_td\">".$msg."</td>";
         echo "</tr>";
         echo "<tr>";
         echo "</table>";
   }
else
   {
?>
<table cellpadding="0" cellspacing="0" border="0" class="default">
<tr><td class="header_td">Nieuwsbrief uploaden</td></tr>
<tr><td class="default_td">
<form name="form1" enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']."?pagina=nieuwsbrief_uploaden"; ?>"> 
<input name="uploadFile" type="file" id="uploadFile" class="input">
<input type="hidden" name="upload_send" value="1">
<br><br>
<input type="submit" name="submit" value="Uploaden" class="input">
</td></tr>
</table>
<?php   }
?>
mscholzondag 15 mei 2005 @ 19:20
weer eens bezig met mysql..
hoe kan ik deze query laten werken??
1SELECT * from referers WHERE Referer != '' AND Referer != '%forum.fok.nl/%' ORDER BY hits DESC LIMIT 0,10


dus ik wil de lege entry niet hebben en ook niks van forum.fok.nl
de rest wel
stats pagina enzo
Lightzondag 15 mei 2005 @ 19:57
% en != gaan niet echt samen, iig niet als je dat %-teken als wildcard wilt gebruiken. Probeer eens
1Referer NOT LIKE '%forum.fok.nl/%'

En een wildcard aan het begin van de searchstring is vervelend, qua index gebruik. Dat zou je dus eigenlijk moeten zien te vermijden.
mscholzondag 15 mei 2005 @ 20:10
quote:
Op zondag 15 mei 2005 19:57 schreef Light het volgende:
% en != gaan niet echt samen, iig niet als je dat %-teken als wildcard wilt gebruiken. Probeer eens
[ code verwijderd ]

En een wildcard aan het begin van de searchstring is vervelend, qua index gebruik. Dat zou je dus eigenlijk moeten zien te vermijden.
ahh.. thx, zo simpel

en die wildcard in het begin kan ik ook wel oplossen geen probleem...
hij werkt nu
markiemarkmaandag 16 mei 2005 @ 00:27
en wie helpt mij????
Swetseneggermaandag 16 mei 2005 @ 09:21
Ik wordt echt gek van die spammers welke m'n gastenboek hebben ontdekt.
Ik heb de volgende IP's al gebanned, maar dat is natuurlijk een beetje water naar de zee dragen

Iemand een beter idee?

207.248.240.118
219.235.236.101
208.39.161.71
211.250.76.162
62.171.194.9
82.134.82.20
148.244.150.58
148.244.150.52
200.39.103.224
219.37.138.189
216.37.138.189
24.97.174.130
207.248.240.1
jeroen-heeft-koffie-nodigmaandag 16 mei 2005 @ 09:27
tvp
jeroen-heeft-koffie-nodigmaandag 16 mei 2005 @ 09:27
quote:
Op maandag 16 mei 2005 09:21 schreef Swetsenegger het volgende:
Ik wordt echt gek van die spammers welke m'n gastenboek hebben ontdekt.
Ik heb de volgende IP's al gebanned, maar dat is natuurlijk een beetje water naar de zee dragen

Iemand een beter idee?

207.248.240.118
219.235.236.101
208.39.161.71
211.250.76.162
62.171.194.9
82.134.82.20
148.244.150.58
148.244.150.52
200.39.103.224
219.37.138.189
216.37.138.189
24.97.174.130
207.248.240.1
Niet leuk in een gastenboek maar je zou een registratie fucntie kunnen inbouwen?
jeroen-heeft-koffie-nodigmaandag 16 mei 2005 @ 09:28
quote:
Op zondag 15 mei 2005 13:02 schreef mschol het volgende:

[..]

die schijnen niet meer te werken...
hoe bedoel je dat
mscholmaandag 16 mei 2005 @ 09:38
quote:
Op maandag 16 mei 2005 09:28 schreef jeroen-heeft-koffie-nodig het volgende:

[..]

hoe bedoel je dat
kijk hier eens
Voor alle users die TVP's gebruik(t)en.

jeroen-heeft-koffie-nodigmaandag 16 mei 2005 @ 09:55
ok ikke snap dus gewoon volgende keer een reactie neerbrabbelen en hupsekee

8 mei zat ik trouwens in Florida
Lightmaandag 16 mei 2005 @ 09:56
quote:
Op maandag 16 mei 2005 00:27 schreef markiemark het volgende:
en wie helpt mij????
Wat zou die code van je moeten doen, en wat gebeurt er echt? Ook qua meldingen enzo
Lightmaandag 16 mei 2005 @ 09:57
quote:
Op maandag 16 mei 2005 09:27 schreef jeroen-heeft-koffie-nodig het volgende:

[..]

Niet leuk in een gastenboek maar je zou een registratie fucntie kunnen inbouwen?
Ik zou eerder voor een referer-check gaan eigenlijk.
Chandlermaandag 16 mei 2005 @ 10:13
Swets: waarom laat je niet een check in bouwen, dat een gebruiker niet 2x achter elkaar kan reageren... dus dat er eerst een andere gebruiker moet reageren voordat iemand met het zelfde IP adres weer kan reageren!?
Swetseneggermaandag 16 mei 2005 @ 10:28
quote:
Op maandag 16 mei 2005 10:13 schreef Chandler het volgende:
Swets: waarom laat je niet een check in bouwen, dat een gebruiker niet 2x achter elkaar kan reageren... dus dat er eerst een andere gebruiker moet reageren voordat iemand met het zelfde IP adres weer kan reageren!?
Mjah, ik heb nu avonden achter elkaar 2 of 3 spam berichten van telkens een ander ip.
Swetseneggermaandag 16 mei 2005 @ 10:29
quote:
Op maandag 16 mei 2005 09:57 schreef Light het volgende:

[..]

Ik zou eerder voor een referer-check gaan eigenlijk.
Ook dat schiet niet op wanneer er een ander ip gebruikt wordt natuurlijk.
Lightmaandag 16 mei 2005 @ 10:50
quote:
Op maandag 16 mei 2005 10:29 schreef Swetsenegger het volgende:

[..]

Ook dat schiet niet op wanneer er een ander ip gebruikt wordt natuurlijk.
Je kunt met die referer nagaan vanaf welke pagina iemand op de huidige pagina komt. Als je op de pagina zit waar een reactie in het gastenboek wordt toegevoegd dan kun je dus kijken of iemand komt vanaf de pagina waar die reactie kan worden ingetikt. Als dat niet zo is dan mag er niet gereageerd worden. De methode is niet waterdicht overigens.
SuperRembomaandag 16 mei 2005 @ 10:59
quote:
Op maandag 16 mei 2005 09:21 schreef Swetsenegger het volgende:
Iemand een beter idee?
Je kan een capcha inbouwen.

Zoek dan meteen even uit hoe je zo'n capcha als deze werkt. Dan is mschol ook blij
mscholmaandag 16 mei 2005 @ 11:10
quote:
Op maandag 16 mei 2005 10:59 schreef SuperRembo het volgende:

[..]

Je kan een capcha inbouwen.

Zoek dan meteen even uit hoe je zo'n capcha als deze werkt. Dan is mschol ook blij
whehehe inderdaad
Swetseneggermaandag 16 mei 2005 @ 11:28
quote:
Op maandag 16 mei 2005 10:59 schreef SuperRembo het volgende:

[..]

Je kan een capcha inbouwen.

Zoek dan meteen even uit hoe je zo'n capcha als deze werkt. Dan is mschol ook blij
capcha?
SuperRembomaandag 16 mei 2005 @ 11:34
quote:
Op maandag 16 mei 2005 11:28 schreef Swetsenegger het volgende:

[..]

capcha?
Completely Automated Public Turing Test to Tell Computers and Humans Apart

Een plaatje met tekst die je over moet typen om spambots tegen te houden.
markiemarkmaandag 16 mei 2005 @ 11:40
quote:
Op maandag 16 mei 2005 09:56 schreef Light het volgende:

[..]

Wat zou die code van je moeten doen, en wat gebeurt er echt? Ook qua meldingen enzo
hij kopieert het bestand niet, en geeft de error dat hij niet kan kopieren, de msg die onder $msg zaten..
Swetseneggermaandag 16 mei 2005 @ 11:40
quote:
Op maandag 16 mei 2005 10:50 schreef Light het volgende:

[..]

Je kunt met die referer nagaan vanaf welke pagina iemand op de huidige pagina komt. Als je op de pagina zit waar een reactie in het gastenboek wordt toegevoegd dan kun je dus kijken of iemand komt vanaf de pagina waar die reactie kan worden ingetikt. Als dat niet zo is dan mag er niet gereageerd worden. De methode is niet waterdicht overigens.
Ingebouwd
quote:
Op maandag 16 mei 2005 11:34 schreef SuperRembo het volgende:

[..]

Completely Automated Public Turing Test to Tell Computers and Humans Apart

Een plaatje met tekst die je over moet typen om spambots tegen te houden.
Ah, zo'n "plaatje met cijfertjes" ding

Ga ik eens over nadenken, dan moet ik mijn GD2 capaciteiten weer oppoetsen
Chandlermaandag 16 mei 2005 @ 11:54
http://www.phpfreakz.nl/library.php?sid=13438
Swetseneggermaandag 16 mei 2005 @ 11:56
quote:
Ik wil m'n scripts altijd zelf maken.
That's the whole fun
Lightmaandag 16 mei 2005 @ 11:57
quote:
Op maandag 16 mei 2005 11:40 schreef markiemark het volgende:

[..]

hij kopieert het bestand niet, en geeft de error dat hij niet kan kopieren, de msg die onder $msg zaten..
Moest ik het toch lokaal gaan proberen Anyway, door in $dest_map een volledig pad te zetten (dus beginnen met een / ) werkt het hier wel Uiteraard moet die map wel bestaan en moet de webuser (apache ofzo) er schrijfrechten hebben.
Chandlermaandag 16 mei 2005 @ 12:46
quote:
Op maandag 16 mei 2005 11:56 schreef Swetsenegger het volgende:

[..]

Ik wil m'n scripts altijd zelf maken.
That's the whole fun
Dat wil niet zeggen dat je van andere ideeen kan leren toch? oftewel kijk eens wat ik heb gedaan en maak dan je eigen script!
markiemarkmaandag 16 mei 2005 @ 18:19
mijn probleem is opgelost... was een instelling im php.ini die max_upload_size heet, stond nog op 2M

nu komt mijn projectje binnenkort op een betaalde hosting account en staat deze instelling waarschijnlijk op 2mb te staan, zodat het alsnog niet werkt...

ik weet dat je met de funtie ini_set() kan instellen dat ie groter mag zijn, maar volgens roonaan in het volgende bericht: [PHP/(My)SQL] voor dummies - Deel 9

doe ik iets verkeerd, hoe kan ik het wel goed instellen dan? op de index pagina? dat de instelling al geset is zodra het script begint met upload > runnen?
SuperRembomaandag 16 mei 2005 @ 18:38
Als je submit naar het script zelf dan gaat 't wel goed. Kan je ook makkelijk testen.
markiemarkmaandag 16 mei 2005 @ 18:41
ja maar dat doe ik toch zoals je in [PHP/(My)SQL] voor dummies - Deel 9 kan lezen? zou dat wel moeten werken? want het werkt niet!
SuperRembomaandag 16 mei 2005 @ 20:42
quote:
Op maandag 16 mei 2005 18:41 schreef markiemark het volgende:
ja maar dat doe ik toch zoals je in [PHP/(My)SQL] voor dummies - Deel 9 kan lezen? zou dat wel moeten werken? want het werkt niet!
"het werkt niet" is nogal vaag. Wat werkt er niet? Hoe ver kom je bij 't uploaden?
markiemarkmaandag 16 mei 2005 @ 21:14
hij zou de instelling die ik aangeef met ini_set moeten pakken, maar dat gebeurd niet..

wat ik bedoel te vragen is: als ik de instelling 'een pagina eerder' instel met ini_set, zou de instelling dan wel gepakt worden?
SuperRembomaandag 16 mei 2005 @ 22:05
quote:
Op maandag 16 mei 2005 18:19 schreef markiemark het volgende:
mijn probleem is opgelost... was een instelling im php.ini die max_upload_size heet, stond nog op 2M
Je gebruikt "upload_max_filesize" hoop ik, niet "max_upload_size".

ini_set('upload_max_filesize', '10M') moet staan in het script dat de upload afhandeld. In jouw geval staat het voor en na de upload, dus dat moet goed zijn. Het zou mss nog zo kunnen zijn dat je hosting provider niet toe staat dat je die instelling wijzigd.
markiemarkmaandag 16 mei 2005 @ 22:40
quote:
Op maandag 16 mei 2005 22:05 schreef SuperRembo het volgende:

[..]

Je gebruikt "upload_max_filesize" hoop ik, niet "max_upload_size".

ini_set('upload_max_filesize', '10M') moet staan in het script dat de upload afhandeld. In jouw geval staat het voor en na de upload, dus dat moet goed zijn. Het zou mss nog zo kunnen zijn dat je hosting provider niet toe staat dat je die instelling wijzigd.
in dit geval was het op mn eigen apache die ik draai op mn pc
SuperRembomaandag 16 mei 2005 @ 23:38
Volgens php.net kan je die instelling niet via ini_set wijzigen.
quote:
Entry can be set in php.ini, .htaccess or httpd.conf

Bij je hoster kan je het dus alleen met een .htaccess file instellen. Vergeet ook niet de post_max_size en max_execution_time aan te passen.

Kijk bij je upload ook naar wat er in $file_type = $_FILES['uploadFile']['error'] staat. Dan kan je eerder afvangen dat er iets fout is gegaan.
markiemarkmaandag 16 mei 2005 @ 23:51
dus he is een functie die wel bestaat, maar niet te gebruiken is?!

http://nl2.php.net/manual/en/ini.core.php#ini.upload-max-filesize
SuperRembomaandag 16 mei 2005 @ 23:56
Nee. De rechten om een instelling te wijzigen verschillen per instelling.
ikke_ookdinsdag 17 mei 2005 @ 16:17
Ik zit nog steeds met met mijn "500 Internal Server error".
Het gaat om een upload script voor een fotoalbum.
Ik heb de helpdesk gemaild en die zegt het volgende :
quote:
Er zijn zes manieren waarop een "500 Internal Server error" kan verschijnen bij een script :

1. U heeft de file permissies van het script niet op 755 staan.
2. Directory permissies van een directory boven het script staan niet op 755.
3. U uploadde het script niet in ASCII mode.
4. Het script was gewijzigd op een Mac of met een text editor die "returns" (line feeds) gebruikt, die ongebruikelijk zijn.
5. Het path naar Perl in het script staat niet op "/usr/bin/perl" ingesteld.
6. Het script is niet correct geïnstalleerd conform de instructies van de auteur
Maar ik snap niet wat er fout kan zijn. Want als ik 1 of 2 foto's upload gaat het wel goed, maar meer foto's geven direct een error, terwijl het script gebaseerd is op een loop door de geuploade foto's.

Dus als 1 of 2 foto's werken waarom 10 dan niet??? Ik krijg ook geen php error na 2 foto's ofzo, als ik meer dan 2 foto's invoer gebeurt er niks met het script, alleen een error........
Lord_Of_Darknessdinsdag 17 mei 2005 @ 16:52
vraagje,

ik heb het ooit gemaak; maar geen idee hoe het werkt
ik heb aantal posts 164 posts / aantal posts per pagina = 5.4 pagina;

hoe laat ik ook al weer in php het aantal paginas zien?

iets met $i + 1 ofzo? maar hoe weet hij dat hij tot maximaal 6 mag gaan?
ikke_ookdinsdag 17 mei 2005 @ 17:03
huh wat bedoel je?
Bedoel je ceil($i)?
naar boven afronden?
Lord_Of_Darknessdinsdag 17 mei 2005 @ 17:05
ook, en het aantal paginas weergeven zeg maar;
dus het script weet van; er zijn 6 paginas... dan moet ie ook nog neerzetten
1 2 3 4 5 6
ikke_ookdinsdag 17 mei 2005 @ 17:09
Even een beetje meer uitleg als het kan...
ik denk dat je iets wil als
1
2
3
for($i=1;$i <= 6; $i++){
   echo $i." ";
}
Lord_Of_Darknessdinsdag 17 mei 2005 @ 17:13
thx die moes ik hebbe ja
Lord_Of_Darknessdinsdag 17 mei 2005 @ 17:24
ok, nog 1 vraagje en dan issie compleet

1mysql_query("SELECT * FROM TOPICS WHERE forumid = '$id[1]' LIMIT 0,30");


Maar weet je een goede manier om aan te geven bv:

$minimum = waar de vorige stopte + 1
$maximum = minimum + 30

zodat hij weet waar ie verder moet gaan?
markiemarkdinsdag 17 mei 2005 @ 17:28
daar heb ik een keer zelf iets cools voor geschreven, post het vanavond (laat) wel ff voor je als je dat wilt... het is een script om veel gegevens uit een pagina te verwerken, met een reeks pagina's in te stellen hoe veel (jou pijltjes 1 2 3 4 5 66 ...) en ook nog te sorteren op wat er in de tabel staat, werkt heel goed, gebruik hem ook vaak...
ben je geinteresseerd?
Lord_Of_Darknessdinsdag 17 mei 2005 @ 17:30
mwa, het moet echt heel simpel zijn
die paginas tellen is al goed;
alleen moet ie echt heel simpel in de query zeggen limit = iets , iets
Lord_Of_Darknessdinsdag 17 mei 2005 @ 17:38
mja heb volgens mij al wat gevonden
nog ff klooien
thx iig
MouseInteractivedinsdag 17 mei 2005 @ 17:48
Ik heb ff een vraagje over regular expressions ( daar ben ik echt een noob in).

Ik heb ergens in me script een regeltje dat een opgevraagd php bestand automatisch includeert als dat bestand bestaat. Maar er mag geen slash (/) in de bestandsnaam voorkomen, anders bestaat
de kans dat iemand een of ander systeembestand gaat opvragen.

Wat is een goede reg ex. om de slash eruit te filteren?
Lord_Of_Darknessdinsdag 17 mei 2005 @ 18:00
*edit*

gevonden
verkeerd om

[ Bericht 96% gewijzigd door Lord_Of_Darkness op 17-05-2005 18:12:59 ]
ikke_ookdinsdag 17 mei 2005 @ 18:05
quote:
Op dinsdag 17 mei 2005 18:00 schreef Lord_Of_Darkness het volgende:

[ code verwijderd ]

het rare is alleen;...

Pagina 1 loopt van: 17-05-2005 16:28:05 tot 17-05-2005 16:32:35
Pagina 2 loopt van: 17-05-2005 16:32:37 tot 17-05-2005 16:33:11
Pagina 3 loopt van: 17-05-2005 16:33:03 tot 17-05-2005 16:33:27
Pagina 4 loopt van: 17-05-2005 16:33:12 tot 17-05-2005 17:42:20

rara hoe kan dat?
Ik heb werkelijk geen idee waar je het over hebt..... je moet misschien iets meer uitleg geven bij je vragen.....
DionysuZdinsdag 17 mei 2005 @ 18:12
ik ga nu een volledig dynamische pagina creeeren. Heb vandaag de opdracht binnengekregen . Nu rest voor mij alleen nog de vraag in welk type HTML ik het beste de output kan schrijven. Wat is beter/netter/wordt door de meeste browsers ondersteund etc.: html of xhtml? En wat is netter,best ondersteund: strict, transitional?

Ik wil de pagina zo net mogelijk schrijven, alsmede de php en sql delen. Heb tot nu toe altijd Html 4.01 transitional gebruikt, maar heb al vaker gehoord over xhtml en dat het zo goed aansluit met xml type documents, en dat strict het schoonste is qua markup. Maar wat wordt door welke browsers ondersteund enzo? Kan iemand me daarmee helpen
Lord_Of_Darknessdinsdag 17 mei 2005 @ 18:13
quote:
Op dinsdag 17 mei 2005 18:05 schreef ikke_ook het volgende:

[..]

Ik heb werkelijk geen idee waar je het over hebt..... je moet misschien iets meer uitleg geven bij je vragen.....
heb t al gevonden
SuperRembodinsdag 17 mei 2005 @ 18:16
quote:
Op dinsdag 17 mei 2005 17:48 schreef MouseInteractive het volgende:
Ik heb ff een vraagje over regular expressions ( daar ben ik echt een noob in).

Ik heb ergens in me script een regeltje dat een opgevraagd php bestand automatisch includeert als dat bestand bestaat. Maar er mag geen slash (/) in de bestandsnaam voorkomen, anders bestaat
de kans dat iemand een of ander systeembestand gaat opvragen.

Wat is een goede reg ex. om de slash eruit te filteren?
Daar heb je toch helemaal geen regexp voor nodig?
ikke_ookdinsdag 17 mei 2005 @ 18:23
Mijn vraag : vreemde error 500 sneeuwt een beetje onder Weet iemand daar iets van?
MouseInteractivedinsdag 17 mei 2005 @ 18:42
quote:
Op dinsdag 17 mei 2005 18:16 schreef SuperRembo het volgende:

[..]

Daar heb je toch helemaal geen regexp voor nodig?
Oh, wacht ik denk zeker weer veel te moeilijk
Kan zeker gewoon met str_replace.
SuperRembodinsdag 17 mei 2005 @ 19:08
quote:
Op dinsdag 17 mei 2005 16:17 schreef ikke_ook het volgende:
Dus als 1 of 2 foto's werken waarom 10 dan niet??? Ik krijg ook geen php error na 2 foto's ofzo, als ik meer dan 2 foto's invoer gebeurt er niks met het script, alleen een error........
Dat lijkt op een script timeout of een overschijding van geheugen/upload/post limiet.
Lightdinsdag 17 mei 2005 @ 19:52
quote:
Op dinsdag 17 mei 2005 18:42 schreef MouseInteractive het volgende:

[..]

Oh, wacht ik denk zeker weer veel te moeilijk
Kan zeker gewoon met str_replace.
Of met strstr. Ok, die vervangt niets, maar kan je wel vertellen of een teken voorkomt.
MouseInteractivedinsdag 17 mei 2005 @ 20:08
quote:
Op dinsdag 17 mei 2005 19:52 schreef Light het volgende:

[..]

Of met strstr. Ok, die vervangt niets, maar kan je wel vertellen of een teken voorkomt.
Heb het al met str_replace gedaan
Het teken mag toch niet, dus kan ik net zo goed direct eruit filteren.
ikke_ookdinsdag 17 mei 2005 @ 20:36
quote:
Op dinsdag 17 mei 2005 19:08 schreef SuperRembo het volgende:

[..]

Dat lijkt op een script timeout of een overschijding van geheugen/upload/post limiet.
Ja maar dan moet ik toch een php error krijgen en geen 500?
sabandinsdag 17 mei 2005 @ 20:51
Kan je met SELECT .. AS van meerdere kolommen 1 kolom maken.
Ik heb bijvoorbeeld
nieuws.last_time en evenementen.last_time
daar wil ik gewoon 1 kolom van maken.
SELECT nieuws.last_time, evenementen.last_time AS time FROM nieuws, evenementen
Zoiets ?

Of een goed pagina waar SELECT .. AS beter uitgelegt staat
SuperRembodinsdag 17 mei 2005 @ 20:51
quote:
Op dinsdag 17 mei 2005 20:36 schreef ikke_ook het volgende:

[..]

Ja maar dan moet ik toch een php error krijgen en geen 500?
Het zou best wel eens kunnen dat de server die error geeft voor dat het zaakje aan php gegeven wordt. Bij het overschrijden van max post size als ik 't goed heb.
ikke_ookdinsdag 17 mei 2005 @ 21:16
de error in het errorlog van de server is :
[error] [client 127.0.0.1] Premature end of script headers: /home/createalbum.php
en ik krijg een 500 naar mn hoofd geslingerd.

Ik zoek al op google maar daar vind ik vooral dingen over cgi, en hetzelfde probleem zonder oplossing...

[ Bericht 10% gewijzigd door ikke_ook op 17-05-2005 21:23:50 ]
SuperRembodinsdag 17 mei 2005 @ 21:25
Wat voor server is 't trouwens. En draait php mss in safemode?
ikke_ookdinsdag 17 mei 2005 @ 21:33
quote:
Operating system Linux
Service Status Click to View
Kernel version 2.6.10-HN-2.1-P4
Machine Type i686
Apache version 1.3.33 (Unix)
PERL version 5.8.6
Path to PERL /usr/bin/perl
Path to sendmail /usr/sbin/sendmail
Installed Perl Modules Click to View
PHP version 4.3.11
MySQL version 4.0.24-standard-log
cPanel Build 10.1.0-RELEASE 30
Theme cPanel X v2.5.0
Documentation Click to View
Genoeg info? Het is een server van Dreamhost, professionele host dus.
ikke_ookdinsdag 17 mei 2005 @ 21:37
mag/zal ik je de code van de betreffende file mailen dat je er naar kunt kijken SuperRembo?Heb je daar tijd/zin in?(tis mn eerste php projectje dus niet al te netjes geprogrammeerd, maar tis ook niet zo veel )
SuperRembodinsdag 17 mei 2005 @ 21:40
Je ziet vanzelf of je een reactie krijgt
ikke_ookdinsdag 17 mei 2005 @ 21:42
ik voeg je even toe op msn dan zie ik wel of ik reactie krijg
Chandlerdinsdag 17 mei 2005 @ 21:48
*lol*
JeRawoensdag 18 mei 2005 @ 15:58
Bweuh, even duf van het leren voor m'n examens. Tijd voor wat ontspanning

Als ik de volgende query heb:

1
2
3
4
5
6
7
8
9
10
SELECT
    id
FROM
    table
WHERE
    col1 = (waarde)
ORDER BY
    col2 ASC,
    col3 ASC,
    col4 ASC


Klopt het dan dat als ik één index maak op col1,col2,col3,col4 (in die volgorde dus) dat MySQL de bovenstaande query kan optimaliseren door gebruik te maken van de index?
SuperRembowoensdag 18 mei 2005 @ 16:15
Dat lijkt me van wel. Of MySQL het ook echt doet kan je met EXPLAIN zien.
markiemarkwoensdag 18 mei 2005 @ 16:50
ff een snel vraagje... wat is he tverschil tussen:
1if($_GET['actie'] == "kaart_titel" || $_GET['actie'] == "kaart_code")

en
1if($_GET['actie'] == "kaart_titel" OR $_GET['actie'] == "kaart_code")


dus het verschil tussen or en ||
JeRawoensdag 18 mei 2005 @ 17:00
Voor zover ik weet zijn ze exact hetzelfde, de PHP manual geeft nog aan dat er een verschil in precedence (voorrang) zit:

http://nl2.php.net/operators
markiemarkdonderdag 19 mei 2005 @ 08:08
ok, maakt niet uit dus, hmmzzz in welk geval zou het verschil merkbaar zijn?
Roonaandonderdag 19 mei 2005 @ 08:39
quote:
Op donderdag 19 mei 2005 08:08 schreef markiemark het volgende:
ok, maakt niet uit dus, hmmzzz in welk geval zou het verschil merkbaar zijn?
hmm: http://www.webhobbit.nl/reports/reports/fok701079/
SuperRembodonderdag 19 mei 2005 @ 08:43
1
2
$a = true && false or true;
$b = true and false || true;

$a is true, $b is false
cozdonderdag 19 mei 2005 @ 10:20
cool topic ... ik ben een beetje de oude delen doorgelopen maar kon het zo snel niet vinden

wat ik wel vond, [zeurmode]

[PHP/(My)SQL] voor dummies - Deel 6
quote:
Dat klopt. Alleen als een artiestnaam begint met 01 t/m 09 zou het in dat geval te filteren zijn. Er is geen bandnaam die met die tekens begint.
en de band !!! dan ?

[serieus]

is er al ergens een stukje geschreven over makkelijk een generieke en opmaakbare table zuigen uit een database ?

als ik bij de php site kijk dan kom ik niet verder als een onopgemaakte table
vind ik net dit stukje nog niet getest

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
<?php
$link = mysql_connect("localhost", "nobody");
mysql_select_db("mybd", $link);
$qry = mysql_query("SELECT * FROM agenda", $link);

?><table border="1" width="100%"><tr><?php

if (mysql_num_rows($qry) > 0) {
   for ($i = 0; $i<mysql_num_fields($qry); $i++) {
           echo "<td align=center><strong>" . mysql_field_name($qry, $i) . "</td>";
   }
}

?></tr><?php

if (mysql_num_rows($qry) > 0) {
   for ($j = 0; $j<mysql_num_rows($qry); $j++) {

       ?><tr><?php

       for ($k = 0; $k<mysql_num_fields($qry); $k++) {
           echo "<td align=center>" . mysql_result($qry,$j, $k) . "</td>";
       }

       ?></tr><?php

   }
}

?>


[ Bericht 2% gewijzigd door coz op 19-05-2005 20:10:49 ]
SuperRembodonderdag 19 mei 2005 @ 10:52
Ik heb een database class die een tabel (array van arrays) terug kan geven. Zo'n tabel kan je dan makkelijk omzetetn naar html. Een simpel voorbeeld:

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
function TableToHtml($rows) {
   $numRows = count($rows);
   if ($numRows == 0) {
      $html = 'Empty table';
   } else {
      $html = '<table>';
      $html .= '<tr>';
      foreach (array_keys($rows[0]) as $key) {
         $html .= '<th>'. htmlEntities($key) .'</th>';
      }
      $html .= '</tr>';
      for ($i = 0; $i < $numRows; $i++) {
         $html .= '<tr>';
         foreach ($rows[$i] as $item) {
            $html .= '<td>'. htmlEntities($item) .'</td>';
         }
         $html .= '</tr>';
      }
      $html .= '</table>';
   }
   return $html;
}

$db = new Database();
$sql = "SELECT ProductID, ProductName FROM Products";
$products = $db->execTable($sql);
echo TableToHtml($products);


De functie TableToHtml zou je nog wat kunnen uitbreiden zodat je bijvoorbeeld een array met headers op kan geven.
cozdonderdag 19 mei 2005 @ 10:54
ik ga vanavond wel hobbyen
Tnx
Roonaandonderdag 19 mei 2005 @ 10:56
quote:
Op donderdag 19 mei 2005 10:52 schreef SuperRembo het volgende:
Ik heb een database class die een tabel (array van arrays) terug kan geven. Zo'n tabel kan je dan makkelijk omzetetn naar html. Een simpel voorbeeld:
[ code verwijderd ]

De functie TableToHtml zou je nog wat kunnen uitbreiden zodat je bijvoorbeeld een array met headers op kan geven.
better to use while(list($key,$value) = each($array)) in deze situaties.
JeRadonderdag 19 mei 2005 @ 11:05
Roonaan, waarom dat? Het verbetert de leesbaarheid niet echt én je hebt een extra variabele en als het om optimalisatie gaat had je natuurlijk ook $i++ kunnen noemen, dat moet natuurlijk ++$i worden vanwege de temporary variable die er nu in zit
Roonaandonderdag 19 mei 2005 @ 11:11
quote:
Op donderdag 19 mei 2005 11:05 schreef JeRa het volgende:
Roonaan, waarom dat? Het verbetert de leesbaarheid niet echt én je hebt een extra variabele en als het om optimalisatie gaat had je natuurlijk ook $i++ kunnen noemen, dat moet natuurlijk ++$i worden vanwege de temporary variable die er nu in zit
Omdat foreach een kopie maakt van de array voordat deze gaat loopen, en dat een enorme aanslag op je geheugengebruik kan gaan worden als je met data-tabellen aan de gang gaat.
JeRadonderdag 19 mei 2005 @ 11:13
quote:
Op donderdag 19 mei 2005 11:11 schreef Roönaän het volgende:

[..]

Omdat foreach een kopie maakt van de array voordat deze gaat loopen, en dat een enorme aanslag op je geheugengebruik kan gaan worden als je met data-tabellen aan de gang gaat.
Is er eigenlijk een reden waarom foreach zoiets doet?

edit: aan de source van de Zend engine te zien wordt er áltijd een kopie gemaakt van de array of het object waar foreach op toegepast wordt, zonder te kijken of de array of het object daadwerkelijk binnen het block wordt benaderd. Er zal wel structureel iets verkeerd zitten waarom ze zoiets nog niet hebben aangepast.

[ Bericht 25% gewijzigd door JeRa op 19-05-2005 11:44:19 ]
SuperRembodonderdag 19 mei 2005 @ 11:54
Hmmm, dat wist ik niet. Het scheel al snel erg veel

Getest met een tabel van 500 rows, 100 coll, elke cell een string van 100 chars:
While time: 0.75952410697937 s
Foreach time: 13.919291973114 s
While time: 0.0003209114074707 s
Foreach time: 14.71986413002 s
Roonaandonderdag 19 mei 2005 @ 12:33
quote:
Op donderdag 19 mei 2005 11:13 schreef JeRa het volgende:

[..]

Is er eigenlijk een reden waarom foreach zoiets doet?

edit: aan de source van de Zend engine te zien wordt er áltijd een kopie gemaakt van de array of het object waar foreach op toegepast wordt, zonder te kijken of de array of het object daadwerkelijk binnen het block wordt benaderd. Er zal wel structureel iets verkeerd zitten waarom ze zoiets nog niet hebben aangepast.
Zover ik weet is het een ontwerp keuze.
ikke_ookdonderdag 19 mei 2005 @ 14:47
hmm ik vond die foreach altijd erg handig maar als ik dit zo zie....
DionysuZdonderdag 19 mei 2005 @ 15:11
quote:
Op donderdag 19 mei 2005 11:54 schreef SuperRembo het volgende:
Hmmm, dat wist ik niet. Het scheel al snel erg veel

Getest met een tabel van 500 rows, 100 coll, elke cell een string van 100 chars:
While time: 0.75952410697937 s
Foreach time: 13.919291973114 s
While time: 0.0003209114074707 s
Foreach time: 14.71986413002 s
ik vond foreach altijd handig en lekker beknopt. Maar als ik dit zo zie word ik alles behalve vrolijk.
Roonaandonderdag 19 mei 2005 @ 15:18
quote:
Op donderdag 19 mei 2005 14:47 schreef ikke_ook het volgende:
hmm ik vond die foreach altijd erg handig maar als ik dit zo zie....
ach. op kleine datasets heb je misschien een honderste milliseconde verschil. lekker boeien dan.
JeRadonderdag 19 mei 2005 @ 15:19
Bovenstaande foreach-optimalisatie werkt dus alleen zoals foreach als je in de loop geen aanpassingen doet aan de array (items verwijderen of toevoegen).
JeRadonderdag 19 mei 2005 @ 15:20
quote:
Op donderdag 19 mei 2005 15:18 schreef Roönaän het volgende:

[..]

ach. op kleine datasets heb je misschien een honderste milliseconde verschil. lekker boeien dan.
Die tweede benchmark geeft maar een verschil van een factor 50.000, daar doen we het niet voor he
Roonaandonderdag 19 mei 2005 @ 16:33
quote:
Op donderdag 19 mei 2005 15:20 schreef JeRa het volgende:

[..]

Die tweede benchmark geeft maar een verschil van een factor 50.000, daar doen we het niet voor he
Dat komt omdat ik vermoed dat superrembo vergeten is om de internal array pointer te resetten met reset($array);

-r-
JeRadonderdag 19 mei 2005 @ 20:19
Een tweede pitfall waar je dus rekening mee moet houden

Ff weer een vraagje over indices in MySQL. Stel, ik heb de volgende query:

SELECT * FROM table WHERE col1 = waarde AND col2 = waarde2 ORDER BY col3 ASC, col4 ASC

In deze query wil ik soms col3 en col4 kunnen omdraaien (om in mijn toepassing op verschillende kolommen te kunnen sorteren). Hoe kan ik dan het beste mijn indices samenstellen?
Roonaandonderdag 19 mei 2005 @ 20:33
Is het noodzakelijk om er indices op te zetten? Is het aantal selects zo hoog?
ikke_ookdonderdag 19 mei 2005 @ 20:40
waarom zou je er geen indices op willen zetten dan?Je kunt toch best op meerdere kolommen indices zetten?Ik dacht juist dat t goed was omdat te doen (als je er vaak op sorteerde oid)
(ik snap wel dat t een beetje meer ruimte kost maar toch niet zoveel?}
SuperRembodonderdag 19 mei 2005 @ 21:26
quote:
Op donderdag 19 mei 2005 16:33 schreef Roönaän het volgende:

[..]

Dat komt omdat ik vermoed dat superrembo vergeten is om de internal array pointer te resetten met reset($array);

-r-
Jij ook met je slimme opmerkingen
JeRadonderdag 19 mei 2005 @ 22:12
quote:
Op donderdag 19 mei 2005 20:33 schreef Roönaän het volgende:
Is het noodzakelijk om er indices op te zetten? Is het aantal selects zo hoog?
Nu niet, straks wel. Zelfs zonder indices zal het straks niet merkbaarder langzamer werken, maar in de load gaat het zeker wel schelen.

Bovendien wil ik mezelf bekend gaan maken op het gebied van samengestelde indices, want in dit geval is het volgens mij niet goed mogelijk om zomaar losse indices aan te maken op de kolommen
Chandlerdonderdag 19 mei 2005 @ 22:30
kunnen jullie die benchmark niet even online zetten? zodat ik het ook eens op mijn eigen systeem kan testen? zou handig zijn!
Roonaandonderdag 19 mei 2005 @ 22:39
quote:
Op donderdag 19 mei 2005 20:40 schreef ikke_ook het volgende:
waarom zou je er geen indices op willen zetten dan?Je kunt toch best op meerdere kolommen indices zetten?Ik dacht juist dat t goed was omdat te doen (als je er vaak op sorteerde oid)
(ik snap wel dat t een beetje meer ruimte kost maar toch niet zoveel?}
indices maken ook je inserts en updates trager. Dus de verhouding select moet noemenswaardig groter zijn in mijn opinie.
Lightdonderdag 19 mei 2005 @ 22:50
quote:
Op donderdag 19 mei 2005 22:30 schreef Chandler het volgende:
kunnen jullie die benchmark niet even online zetten? zodat ik het ook eens op mijn eigen systeem kan testen? zou handig zijn!
1
2
3
4
5
6
$start = array_sum(explode(' ',microtime()));
for($i = 0; $i < 10; $i++) {
    <code die je wilt testen>
}
$end = array_sum(explode(' ',microtime()));
print $end - $start;
In plaats van tot 10 kun je natuurlijk ook tot 1.000 of 10.000 gaan, maar ik zou dat niet de eerste keer doen. Als je 20 of 30 seconden moet wachten op een test dan is dat best lang
cozdonderdag 19 mei 2005 @ 22:55
quote:
Op donderdag 19 mei 2005 10:52 schreef SuperRembo het volgende:
ik zie dat ie wel zou werken maar
dummie mode Cannot instantiate non-existent class ?
$db = new Database();

[ Bericht 4% gewijzigd door coz op 19-05-2005 23:06:20 ]
JeRadonderdag 19 mei 2005 @ 22:57
quote:
Op donderdag 19 mei 2005 22:39 schreef Roönaän het volgende:

[..]

indices maken ook je inserts en updates trager. Dus de verhouding select moet noemenswaardig groter zijn in mijn opinie.
Bijna alle queries in mijn toepassing zijn SELECTs en deze worden dan ook in verhouding véél vaker gebruikt. INSERTs komen bijna niet voor en reguliere UPDATEs gebeuren alleen op niet-geïndexeerde kolommen.

Dat terzijde, want het doet er eigenlijk niet toe, ben ik toch benieuwd naar hoe ik dan indices zou moeten maken neem voor het gemak maar aan dat er vele duizenden rows zijn.
SuperRembodonderdag 19 mei 2005 @ 23:24
quote:
Op donderdag 19 mei 2005 22:55 schreef coz het volgende:

[..]

ik zie dat ie wel zou werken maar
dummie mode Cannot instantiate non-existent class ?
$db = new Database();
Ja die database class moet je zelf nog ff maken

Misschien post ik morgen wel ff een simpele versie
cozvrijdag 20 mei 2005 @ 00:03
nu bewerkte coz de donderdag 19 mei 2005 23:24 post van SuperRembo:
quote:
Ja die database class moet je zelf nog ff maken
[ , ik ben nog niet bij het hoofdstuk classes vind 't al stoer dat ik snap hoe het zou werken ]
quote:
Misschien post ik morgen wel ff een simpele versie
[ maken is idd een heel ander verhaal ]
SuperRembovrijdag 20 mei 2005 @ 10:35
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
class Database {
   
   var $connection;
   var $config;
      
   // Constructor
   function Database() {
      $this->config =& $GLOBALS['Config']['Database'];
   }
   
   // Connect to server
   function connect() {
      if (is_resource($this->connection)) return;// allready connected
      $this->connection = mssql_connect($this->config['Server'], $this->config['Username'], $this->config['Password']);
      if (!$this->connection) die("Error: could not connect to server '${this->config[Server]}'");
      if (!mssql_select_db($this->config['Database'])) die("Error: could not select database '".$this->config['Database']."'");
   }
   
   // Execute query
   function execSql($query) {
      $this->connect();
      $result = mssql_query($query);
      if (!$result) die("Error: error executing query '".$query."'");
      return $result;
   }

   // Execute query, return table (array of arrays)
   function execTable($query) {
      $result = $this->execSql($query);
      $rows = array();
      while (false !== $row = mssql_fetch_assoc($result)) {
         $rows[] = $row;
      }
      return $rows;
   }

   // Execute query, return 1 row, or false if no results found
   function execRow($query) {
      $result = $this->execSql($query);
      $row = mssql_fetch_assoc($result);
      return $row;
   }
}
cozvrijdag 20 mei 2005 @ 11:32
ik zat even te kijken of er nog een config class bij moet
maar (na een kop koffie) lijkt het op dit (vanavond ) tussen die vorige quote drukken
de dingen 'password' enz veranderen en heel vaak doen

iig alvast

[mss is dit wel iets voor de FAQ - Algemene kleine vragen. Part 2.
Innuendovrijdag 20 mei 2005 @ 15:23
Ik weet niet of dit misschien al eerder is behandeld, heb even snel gekeken maar kon het zo 123 niet vinden. Ik zit met een probleem(pje). Een vraagje van een amateur.

Ik heb een formulier op m'n site met daarin een aantal rijen met inputvelden. Dit aantal rijen is afhankelijk van de gegevens die in mijn database staan, en worden ook ingevuld met deze gegevens. Dus:

RIj 1: input titel / input bericht
Rij 2: input titel / input bericht

Nu wil ik het voorelkaar krijgen dat ik met 1 druk op de knop (dus een soort Alles opslaan knop), alle wijzigingen die ik heb gemaakt in de velden, kan opslaan. Op dit moment is het als volgt:

#1 [input] [naam] OPSLAAN
#2 [input] [naam] OPSLAAN

maar het moet dus worden:

[input] [naam]
[input] [naam]
ALLES OPSLAAN

Nu weet ik dat het form dan gepost zou moeten worden en in php zou moeten worden uitgelezen als een array. Ik heb de verschillende inputs genoemd als :

1<input type = "text" value = "blabla"  name="bericht[{id}]">


waarbij id wordt vervangen door de id uit de database. Dit werkt allemaal.
Met print_r($_POST) krijg ik de volgende array:

1
2
3
4
5
6
7
8
9
Array ( 

[id] => Array ( [7] => 7 [1] => 1 ) 

[titel] => Array ( [7] => titela [1] => titelb ) 

[bericht] => Array ( [7] => berichta [1] => berichtb ) 

)
(waarbij de 7 voor id 7 staat en de 1 voor id 1)

Ik weet niet of dit een array is waar ik iets mee kan als ik foreach() gebruik in de update pagina.

Als dit wel zo is, weet er iemand dan hoe ik deze data zo kan uitlezen dat ik ze stuk voor stuk kan updaten in de database? Of is de array om te beginnen al niet goed?
JeRavrijdag 20 mei 2005 @ 15:40
quote:
Op donderdag 19 mei 2005 20:19 schreef JeRa het volgende:
Een tweede pitfall waar je dus rekening mee moet houden

Ff weer een vraagje over indices in MySQL. Stel, ik heb de volgende query:

SELECT * FROM table WHERE col1 = waarde AND col2 = waarde2 ORDER BY col3 ASC, col4 ASC

In deze query wil ik soms col3 en col4 kunnen omdraaien (om in mijn toepassing op verschillende kolommen te kunnen sorteren). Hoe kan ik dan het beste mijn indices samenstellen?
Niemand?
SuperRembovrijdag 20 mei 2005 @ 15:45
Je krijgt de gegevens terug die je wil hebben, dus dat klopt wel. Alleen nog ff op de goede manier doorheen lopen

1
2
3
4
5
for ($_POST['id'] as $id) {
   $titel = $_POST['titel'][$id];
   $bericht = $_POST['bericht'][$id];
   BerichtOpslaan($id, $titel, $bericht);
}
Innuendovrijdag 20 mei 2005 @ 15:53
quote:
Op vrijdag 20 mei 2005 15:45 schreef SuperRembo het volgende:
Je krijgt de gegevens terug die je wil hebben, dus dat klopt wel. Alleen nog ff op de goede manier doorheen lopen
[ code verwijderd ]
Thanks! Dat werkt perfect ja
Swetseneggervrijdag 20 mei 2005 @ 23:39
Het is laat, dus weet het ff zo snel niet meer.
Hoe kan ik ook alweer in een string zoeken OF een bepaalde waarde/woord voorkomt?
MouseInteractivevrijdag 20 mei 2005 @ 23:47
quote:
Op vrijdag 20 mei 2005 23:39 schreef Swetsenegger het volgende:
Het is laat, dus weet het ff zo snel niet meer.
Hoe kan ik ook alweer in een string zoeken OF een bepaalde waarde/woord voorkomt?
Bedoel je Strstr ?
Swetseneggervrijdag 20 mei 2005 @ 23:49
quote:
Op vrijdag 20 mei 2005 23:47 schreef MouseInteractive het volgende:

[..]

Bedoel je Strstr ?
Aardig in de richting, of het moet een preg match worden.

Thanks.
Lightzaterdag 21 mei 2005 @ 00:27
quote:
Op vrijdag 20 mei 2005 23:49 schreef Swetsenegger het volgende:

[..]

Aardig in de richting, of het moet een preg match worden.

Thanks.
Een preg_match is niet nuttig als je naar een vaste string zoekt.
qu63zaterdag 21 mei 2005 @ 01:28
Allo

Ik ben op zoek naar een scriptje wat van go.php?http://website een pagina maakt met 2 frames. boven komt mijn pagina te staan, en onder komt dat http://website te staan

Alvast bedankt
qu63zaterdag 21 mei 2005 @ 01:51
1
2
3
4
5
6
7
8
9
<html>
<head>
<title>Je titel</title>
</head>
<frameset rows="20,*">
<frame src="jouwheader.htm"></frame>
<frame src="<?=$_GET['url'];?>"></frame>
</frameset>
</html>

Is dit wat ik zoek??
the_disheaverzaterdag 21 mei 2005 @ 02:22
Ja,

wel er go.php?url=http://~~
qu63zaterdag 21 mei 2005 @ 03:42
quote:
Op zaterdag 21 mei 2005 02:22 schreef the_disheaver het volgende:
Ja,

wel er go.php?url=http://~~
was ik ook al achter gekomen
http://www.qu63.nl/index/links/index.php?url=http://www.qu63.nl
Swetseneggerzaterdag 21 mei 2005 @ 10:18
quote:
Op zaterdag 21 mei 2005 00:27 schreef Light het volgende:

[..]

Een preg_match is niet nuttig als je naar een vaste string zoekt.
Het gaat nog steeds om de spammers.

Zijn online casino's, en ondertussen heb ik 30 IP's in m'n banlist staan, een controlle of er inderdaad lokaal gepost wordt (en niet met een extern script), maar ik blijf er last van houden

Maar in elke spampost staat dus 'texas holdem' en 'online poker'

Ik wil nu dus gewoon op deze (en eventueel meer woorden) de post string door zoeken en indien niet false, de post niet plaatsen.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
//originele script
$verboden= array('texas holdem','online poker');

     foreach (
$verboden as $search) {
          if(
stristr($text,$search)!=FALSE){;
          
header("HTTP/1.0 403 Forbidden");
          die();
          }
     }
//rest van het script
?>

Dit zou 'm moeten zijn toch?
SuperRembozaterdag 21 mei 2005 @ 11:33
Die gaat een syntax error geven
Swetseneggerzaterdag 21 mei 2005 @ 11:35
quote:
Op zaterdag 21 mei 2005 11:33 schreef SuperRembo het volgende:
Die gaat een syntax error geven
Die haal ik er wel uit, de vraag is of (in de correcte syntaxt) dit doet wat ik wil?

Life testen is een beetje klote
SuperRembozaterdag 21 mei 2005 @ 11:55
Ja hoor. Lijkt me wel kloppen.
Swetseneggerzaterdag 21 mei 2005 @ 12:03
quote:
Op zaterdag 21 mei 2005 11:55 schreef SuperRembo het volgende:
Ja hoor. Lijkt me wel kloppen.
Klopt, ik heb maar even een life scriptje gemaakt
Swetseneggerzaterdag 21 mei 2005 @ 12:19
welke lolbroek begint er over online poker in m'n gastenboek?



Even met vrouw en kind weg, straks bouw ik de woordencheck er wel in....
Chandlerzaterdag 21 mei 2005 @ 13:41
Graag zou ik de orginele benchmark willen zien zodat ik um hier gewoon op mijn systeem kan draaien (die FOReach enzo!!)

Alvast tnx.
SuperRembozaterdag 21 mei 2005 @ 21:35
quote:
Op zaterdag 21 mei 2005 13:41 schreef Chandler het volgende:
Graag zou ik de orginele benchmark willen zien zodat ik um hier gewoon op mijn systeem kan draaien (die FOReach enzo!!)

Alvast tnx.
Die had ik op m'n werk in elkaar geknoeid. Misschein dat ik er maandag (hopelijk m'n laatste werkdag daar) nog aan denk om 'm te posten.
SuperRembozaterdag 21 mei 2005 @ 21:36
quote:
Op zaterdag 21 mei 2005 12:19 schreef Swetsenegger het volgende:
welke lolbroek begint er over online poker in m'n gastenboek?

Xalopalypszondag 22 mei 2005 @ 13:12
Mijn PHP projectje tussendoor:
http://avafok.5gigs.com/index.php

Kan je een eigen avatar kiessysteem aanmaken
Xalopalypszondag 22 mei 2005 @ 13:13
Ohja mijn avatar werkt nu dus ook zo
Xalopalypszondag 22 mei 2005 @ 13:24
über he?

Nouhou niemand zegt iets

[ Bericht 42% gewijzigd door Xalopalyps op 22-05-2005 13:30:44 ]
Swetseneggerzondag 22 mei 2005 @ 14:08
quote:
Op zondag 22 mei 2005 13:24 schreef Xalopalyps het volgende:


Nouhou niemand zegt iets[afbeelding]
Het is geen slowchat
mscholzondag 22 mei 2005 @ 17:55
quote:
Op zondag 22 mei 2005 13:24 schreef Xalopalyps het volgende:
über he?

Nouhou niemand zegt iets[afbeelding]
* mschol krijg een heel mooi kruisje
Pronkmaandag 23 mei 2005 @ 13:51
Ik gebruik de volgende fuctie in een formulier om het telefoonnummer
te controleren (voor zover mogelijk).

Nu is het telefoonnummer GEEN verplicht veld. Is deze functie aan te
passen zodat de functie "TRUE" geeft als er helemaal niks is ingevult?

1
2
3
4
5
6
7
8
<?php
function TelefoonnummerChecken($telefoonnummercheck)
{
if (
ereg("^[- 0-9]+$", $telefoonnummercheck)) {
if (
strlen($telefoonnummercheck) &gt;= 10) {return true;}
else {return
false;}} else {return false;}
}
?>
Swetseneggermaandag 23 mei 2005 @ 14:09
quote:
Op maandag 23 mei 2005 13:51 schreef Pronk het volgende:
Ik gebruik de volgende fuctie in een formulier om het telefoonnummer
te controleren (voor zover mogelijk).

Nu is het telefoonnummer GEEN verplicht veld. Is deze functie aan te
passen zodat de functie "TRUE" geeft als er helemaal niks is ingevult?
[ code verwijderd ]
De functie gewoon niet aanroepen als de $_POST['telefoonnummer'] leeg is
Forau_Diavolinamaandag 23 mei 2005 @ 14:13
Een stukje access SQL waar ik niet uit kom. Ik heb dit:

1
2
3
4
5
6
SELECT TOP 1 Bezorgschema.BezorgschemaID, Bezorgschema.ChauffeurID, Bezorgschema.Datum, Klant.KlantID, Klant.Naam, Klant.Adres, Klant.Postcode, Klant.Woonplaats
FROM (Klant INNER JOIN Pakket ON Klant.KlantID = Pakket.KlantID) INNER JOIN (Bezorgschema INNER JOIN Pakbon ON Bezorgschema.BezorgschemaID = Pakbon.BezorgschemaID) ON Pakket.PakketID = Pakbon.PakketID
WHERE
Klant.KlantID, Klant.Naam
FROM klant
ON (((klant.KlantID) Like [Kies een klantID]));


Vanaf WHERE heb ik er bij geplakt. Alleen geeft hij een syntaxisfout (komma) in querie expressie.
Alleen ik zie de fout niet, iemand anders wel?
ikke_ookmaandag 23 mei 2005 @ 14:20
1
2
WHERE
Klant.KlantID, Klant.Naam

Ik heb geen verstand van Access en ook niet van queries in queries, maar moet je niet iets doen met een = ipv die komma?Dat where statement kan toch nooit true zijn of ligt dat aan mij??
Wat wil je trouwens dat hij doet?

-edit1-
En een like bij een klantid?een klantid lijkt me numeriek toch?dus dan staat er iets van, id like 18. Ik zou daar gewoon een where id = 18 van maken...

-edit2-
Hoe langer ik er naar kijk hoe meer ik me begin af te vragen wat je wil dat deze querie terug gaat geven (wat een vreemde where constructie....en wat doe t die 'on' van een join daar bij die from??)

[ Bericht 11% gewijzigd door ikke_ook op 23-05-2005 14:26:31 ]
Forau_Diavolinamaandag 23 mei 2005 @ 14:23
Hey, daar kan je weleens gelijk in hebben, ik gebruik twee dingen door elkaar meen ik.
Bedankt voor de tip.

EDIT; Je hebt dus helemaal gelijk, mijn dank grenst aan hondsdolheid.
TimberWolfmaandag 23 mei 2005 @ 15:29
Grom. Okee, ik kan wat hulp gebruiken...

Ik heb het volgende in een .htaccess staan voor mijn development-site:

php_flag error_reporting 2047
php_flag display_errors 1
php_flag display_startup_errors 1
php_flag log_errors 0
php_flag error_log 0

Een aanroep van phpinfo toott aan dat de instellingen wel verwerkt worden, maar errors laten zien? Nee dus. Wat mis ik hier?
Roonaanmaandag 23 mei 2005 @ 16:50
Heb je gecontroleerd op error_reporting() statements?

sowieso, waarom niet gewoon error_reporting(E_ALL) gebruiken?
TimberWolfmaandag 23 mei 2005 @ 17:15
quote:
Op maandag 23 mei 2005 16:50 schreef Roönaän het volgende:
Heb je gecontroleerd op error_reporting() statements?
Sorry? Ik heb geen idee wat je bedoeld/zegt, dus ik vermoed dat het antwoord 'nee' is
quote:
sowieso, waarom niet gewoon error_reporting(E_ALL) gebruiken?
Omdat dat net zo hard niet werkt. Net zoals ini_set(), die geeft een undefined terug.

Normalitair, voor al mijn sites, komen meldingen gewoon in het server-error log terecht. Dat is voor alle sites prima, behalve voor mijn devsite. Dan moet ik namelijk een extra venstertje met een tail -f naar het error-log open houden en dat stoort me. Dus dacht ik, eerst via ini_set en toen via .htaccess, te zorgen dat de errors lief op scherm komen. Dat doet het dus niet...

Serverlogs en systeemlogs geven geen foutmeldingen qua settings, noch foutmeldingen van php aan. Dus ergens gaat er wel iets goed. phpinfo() ziet ook dat ik de waarden voor local anders heb staan dan de waarden voor global. Ook geen punt. Maar nog steeds geen errors op scherm...
JeRamaandag 23 mei 2005 @ 19:05
quote:
Op maandag 23 mei 2005 15:29 schreef TimberWolf het volgende:
Een aanroep van phpinfo toott aan dat de instellingen wel verwerkt worden
Het kan zijn dat er globale instellingen voor error_reporting zijn die jouw instellingen overriden, kun je daar achter komen? En krijg je wel errors als je bovenaan je script de volgende regel zet?

error_reporting(E_ALL & E_STRICT);
TimberWolfmaandag 23 mei 2005 @ 19:45
quote:
Op maandag 23 mei 2005 19:05 schreef JeRa het volgende:
Het kan zijn dat er globale instellingen voor error_reporting zijn die jouw instellingen overriden, kun je daar achter komen? En krijg je wel errors als je bovenaan je script de volgende regel zet?
error_reporting(E_ALL & E_STRICT);
Het volgende script:

1
2
3
4
5
6
7
8
<?php
php

error_reporting
(E_ALL & E_STRICT);
echo
"pipo";

phpinfo();
?>


Geeft als waarde voor error_reporting: 0 2047

Als ik er (E_ALL) van maak is dat: error reporting 2047 2047

Waarden zijn achtereenvolgens local en global. Oftewel: E_ALL en E_STRICT komen op 0 uit, E_ALL komt zoals verwacht op 2047 uit. De globale setting is 2047(E_ALL). Bij mij gaat het licht op een gigantische manier uit...
TimberWolfmaandag 23 mei 2005 @ 20:03
Grom. Net even woest zitten klootviolen met php.ini en het .htaccess bestand. Blijkbaar vind 'iets' het niet leuk als je het error_reporting vlaggetje instelt in de .htaccess. Met mijn huidige htaccess doet ie precies wat ie moet (errors braaf laten zien).

Ter info, onderstaande htaccess is voldoende:
1
2
php_flag display_errors on
php_flag display_startup_errors on


Waarbij de 2e waarschijnlijk niet eens nodig is. Het wordt nu netjes naar het error-log gedumpt, en op het scherm gezet. Zonder of met error_reporting() in het script.
markiemarkmaandag 23 mei 2005 @ 23:27
even een heel ander vraagje.. is dit:
1$var = $_POST['bezoeker'.$i];


en dit

1$var = $_POST['bezoeker'][$i];


hetzelfde? zo ja, wat kan ik beter gebruiken, zo nee..... ok..
SuperRembomaandag 23 mei 2005 @ 23:38
Nee, is niet hetzelfde. Wat je beter kan gebruiken hangt natuurlijk af van wat er in je form staat.
MouseInteractivemaandag 23 mei 2005 @ 23:38
quote:
Op maandag 23 mei 2005 23:27 schreef markiemark het volgende:
even een heel ander vraagje.. is dit:
[ code verwijderd ]

en dit
[ code verwijderd ]

hetzelfde? zo ja, wat kan ik beter gebruiken, zo nee..... ok..
Nee is niet hetzelfde
DionysuZmaandag 23 mei 2005 @ 23:52
quote:
Op maandag 23 mei 2005 23:27 schreef markiemark het volgende:
even een heel ander vraagje.. is dit:
[ code verwijderd ]

en dit
[ code verwijderd ]

hetzelfde? zo ja, wat kan ik beter gebruiken, zo nee..... ok..
bij de eerste concateneer je de twee. Als $i bijvoorbeeld een getal is (bijv. 99) dan zoek je $_POST['bezoeker99'] op.
markiemarkdinsdag 24 mei 2005 @ 07:55
quote:
Op maandag 23 mei 2005 23:52 schreef DionysuZ het volgende:

[..]

bij de eerste concateneer je de twee. Als $i bijvoorbeeld een getal is (bijv. 99) dan zoek je $_POST['bezoeker99'] op.
ja zo gebruik ik het ook, maar wat doet $_POST['bezoeker'][$i] dan?
TimberWolfdinsdag 24 mei 2005 @ 07:58
quote:
Op dinsdag 24 mei 2005 07:55 schreef markiemark het volgende:

[..]

ja zo gebruik ik het ook, maar wat doet $_POST['bezoeker'][$i] dan?
Dat geeft lid $i terug uit de $_POST['bezoeker'] array.
markiemarkdinsdag 24 mei 2005 @ 13:20
quote:
Op dinsdag 24 mei 2005 07:58 schreef TimberWolf het volgende:

[..]

Dat geeft lid $i terug uit de $_POST['bezoeker'] array.
oohw ok tuurlijk, ik snap hem!
dujourdinsdag 24 mei 2005 @ 15:49
ik ben bezig voor een site van school maar ik snap iets niet
ik heb al zoveer rond gezocht maar kan het nergens vinden.
ik wil bijvoorbeeld een formulier maken (heb ik al) maar daar moet ook een optie voor uploaden inkomen.
gewoon 1 bestand heel simpel en dan moet de url in een database komen
overal zie je van die upload scripts met beveiligingen dat hoeft van mij niet ik ben toch de enige die het gebruikt kan iemand mij helpen ?
markiemarkdinsdag 24 mei 2005 @ 16:00
dan kan je dus gewoon een textveld gebruiken als je alleen de url op wilt slaan...

of moet er ook daadwerkelijk een bestand van je harde schijf naar de server worden gekopieerd? dan is het anders... check ff de php functie move_uploaded_file, die doet dat! je weet hoe je een file upload formulier moet maken?
dujourdinsdag 24 mei 2005 @ 16:11
ik zal even kijken naar die functie en dat weet ik zo 123 niet ik kijk wel even
Neverminddinsdag 24 mei 2005 @ 16:14
quote:
Op donderdag 19 mei 2005 10:20 schreef coz het volgende:

wat ik wel vond, [zeurmode]

[PHP/(My)SQL] voor dummies - Deel 6
[..]

en de band !!! dan ?
Hehe, grappig. Dat verhaal ging over mijn projectje (ook al was het onder een andere username gepost). Ik heb bandnamen met uitroeptekens en andere interpunctie wel toegestaan. Bandnamen die beginnen met [, (, |, of dergelijke tekens worden aangepast tot een goede bandnaam. Werkt op dit moment best lekker, check mn homepage-icoontje maar
dujourdinsdag 24 mei 2005 @ 16:16
quote:
Op dinsdag 24 mei 2005 16:00 schreef markiemark het volgende:
dan kan je dus gewoon een textveld gebruiken als je alleen de url op wilt slaan...

of moet er ook daadwerkelijk een bestand van je harde schijf naar de server worden gekopieerd? dan is het anders... check ff de php functie move_uploaded_file, die doet dat! je weet hoe je een file upload formulier moet maken?
maar die moved hem toch alleen maar of ben ik nu gek
kan ik hem niet direct naar een directory uploaden
Roonaandinsdag 24 mei 2005 @ 16:23
quote:
Op dinsdag 24 mei 2005 16:16 schreef dujour het volgende:

[..]

maar die moved hem toch alleen maar of ben ik nu gek
kan ik hem niet direct naar een directory uploaden
Onderaan de manual van move_uploaded_file boven de user comments vind je een link naar de tutorial over file uploads met php.

-r-
timbastiaansendinsdag 24 mei 2005 @ 18:22
fputs($file, "$naam");

-edit weet denk al
Het komt volgens mij denk omdat hij $naam in de file zet en niet wat $naam is in het huidige script. En dat moet juist hoe moet dat dan???

ik krijg deze melding:

Parse error: syntax error, unexpected T_VARIABLE in C:\xampplite\htdocs\gastenboek2\plaats.php on line 13

En hoe moet het dan:?

[ Bericht 25% gewijzigd door timbastiaansen op 24-05-2005 18:30:31 ]
SuperRembodinsdag 24 mei 2005 @ 23:04
Kijks eens in de manual hoe je fputs(), wat een alias is van fwrite(),moet gebruiken.
http://nl3.php.net/manual/en/function.fwrite.php
markiemarkwoensdag 25 mei 2005 @ 00:39
quote:
Op dinsdag 24 mei 2005 23:04 schreef SuperRembo het volgende:
Kijks eens in de manual hoe je fputs(), wat een alias is van fwrite(),moet gebruiken.
http://nl3.php.net/manual/en/function.fwrite.php
fwrite is toch alleen om een textfile te schrijven?
JeRawoensdag 25 mei 2005 @ 07:14
quote:
Op woensdag 25 mei 2005 00:39 schreef markiemark het volgende:

[..]

fwrite is toch alleen om een textfile te schrijven?
Nee, fwrite() kun je gebruiken om zowel textfiles als binary files weg te schrijven. Simpel voorbeeldje:

1
2
3
4
5
6
7
8
9
<?php
$fp
= @fopen('bestand.dat', 'w');
if (
$fp) {
    
fwrite($fp, "Test\n");
    
fwrite($fp, $variabele . "\n");
    
fwrite($fp, 101 . "\n");
    
fclose($fp);
}
?>
#ANONIEMwoensdag 25 mei 2005 @ 15:45
even een klein vraagje; hoe kan ik het volgende dikgedrukte gedeelte uit een adres halen?

http://www.domein.nl/nieuws/nieuwsberichten

Ik heb met explode en string wat zitten proberen, alleen krijg ik dan een array in een array, en das niet de bedoeling...

[ Bericht 25% gewijzigd door #ANONIEM op 25-05-2005 15:46:22 ]
JeRawoensdag 25 mei 2005 @ 15:50
Scorpie, hoe komt die URL binnen? In Apache kun je mod_rewrite gebruiken om ze te rewriten naar variabelen in een nieuwe URL, maar kennelijk krijg je ze nu binnen via een of andere Server-variabele.

Wat gaat er fout met explode?

1
2
3
4
<?php
$parts
= explode('/', $url);
print_r($parts);
?>
#ANONIEMwoensdag 25 mei 2005 @ 15:54
ik krijg hem nu binnen als hele url zoals ik hierboven schreef, maar het probleem zit hem in het feit dat ik alleen maar de 2 subitems(om zo maar even te noemen) wil hebben die na het domein volgen, dus in dit geval nieuws en daarna nieuwsberichten. De string kan uit meer lagen bestaan, maar ik heb alleen de 1e 2 nodig.
Roonaanwoensdag 25 mei 2005 @ 17:35
parse_url al bekeken?
DionysuZwoensdag 25 mei 2005 @ 17:45
quote:
Op woensdag 25 mei 2005 15:54 schreef Scorpie het volgende:
ik krijg hem nu binnen als hele url zoals ik hierboven schreef, maar het probleem zit hem in het feit dat ik alleen maar de 2 subitems(om zo maar even te noemen) wil hebben die na het domein volgen, dus in dit geval nieuws en daarna nieuwsberichten. De string kan uit meer lagen bestaan, maar ik heb alleen de 1e 2 nodig.
String:
$string = http://www.domein.nl/nieuws/nieuwsberichten/bla/bla

als je die hebt, en je hoeft alleen nieuws/nieuwsberichten dan zou ik:
$exp = explode("/",$string);
doen en dan
$exp[3] en $exp[4] gebruiken

$exp[3] == "nieuws";
$exp[4] == "nieuwsberichten";
DjDevwoensdag 25 mei 2005 @ 18:34
Ik wil degene bedankt die me heeft verteld dat mn avatar nog van buitenaf kon gekozen worden
het is nu gefixt
overigens moet je dat niet meer doen...je zal er spijt van krijgen
GlowMousewoensdag 25 mei 2005 @ 18:43
quote:
Op woensdag 25 mei 2005 18:34 schreef DjDev het volgende:
Ik wil degene bedankt die me heeft verteld dat mn avatar nog van buitenaf kon gekozen worden
het is nu gefixt
overigens moet je dat niet meer doen...je zal er spijt van krijgen
Fix het dan goed Check of de gekozen avatar bestaat. Checks op referer werken gewoon niet
DjDevwoensdag 25 mei 2005 @ 18:49
quote:
Op woensdag 25 mei 2005 18:43 schreef GlowMouse het volgende:

[..]

Fix het dan goed Check of de gekozen avatar bestaat. Checks op referer werken gewoon niet
omg...
JeRawoensdag 25 mei 2005 @ 18:54
Ik mis iets geloof ik wat heb je nou aan een te kiezen avatar als niemand 'm mag kiezen?
JeRawoensdag 25 mei 2005 @ 18:56
quote:
Op donderdag 19 mei 2005 20:19 schreef JeRa het volgende:
Ff weer een vraagje over indices in MySQL. Stel, ik heb de volgende query:

SELECT * FROM table WHERE col1 = waarde AND col2 = waarde2 ORDER BY col3 ASC, col4 ASC

In deze query wil ik soms col3 en col4 kunnen omdraaien (om in mijn toepassing op verschillende kolommen te kunnen sorteren). Hoe kan ik dan het beste mijn indices samenstellen?
Mijn vraag staat nog steeds btw
GlowMousewoensdag 25 mei 2005 @ 19:03
quote:
Ff weer een vraagje over indices in MySQL. Stel, ik heb de volgende query:

SELECT * FROM table WHERE col1 = waarde AND col2 = waarde2 ORDER BY col3 ASC, col4 ASC

In deze query wil ik soms col3 en col4 kunnen omdraaien (om in mijn toepassing op verschillende kolommen te kunnen sorteren). Hoe kan ik dan het beste mijn indices samenstellen?
Op col 1 t/m 4. Col1 en col2 zitten in je where-clause, dus die wil je er sowieso in hebben. En op de andere twee sorteer je, dus die ook. Als je erg veel inputs doet, en maar weinig mensen gaan kijken, kun je col4 wel weglaten, omdat mensen die toch relatief weinig zullen gebruiken..
JeRawoensdag 25 mei 2005 @ 19:05
quote:
Op woensdag 25 mei 2005 19:03 schreef GlowMouse het volgende:

[..]

Op col 1 t/m 4. Col1 en col2 zitten in je where-clause, dus die wil je er sowieso in hebben. En op de andere twee sorteer je, dus die ook.
Dat snap ik, maar zodra ik op col4,col3 ga sorteren staat de index toch verkeerd als ik een index heb op col1,col2,col3,col4? (geen aparte indices dus, maar één met deze kolommen)
quote:
Als je erg veel inputs doet, en maar weinig mensen gaan kijken, kun je col4 wel weglaten, omdat mensen die toch relatief weinig zullen gebruiken..
Inputs? die snap ik niet. Het gaat hier om een filelisting waarbij gebruikers bijvoorbeeld kunnen sorteren op naam of bestandsgrootte.
DjDevwoensdag 25 mei 2005 @ 19:24
quote:
Op woensdag 25 mei 2005 18:54 schreef JeRa het volgende:
Ik mis iets geloof ik wat heb je nou aan een te kiezen avatar als niemand 'm mag kiezen?
Je kan van buitenaf kiezen
dus de value op bijv 99999 zetten zodat mn avatar het niet doet
En nu heeft meneertje GlowMouse een manier gevonden om mn referer check te omzeilen

-edit-

ook gefixt
qu63woensdag 25 mei 2005 @ 22:01
Help!

Ik krijg:

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/httpd/vhosts/qu63.nl/httpdocs/index/modules/mod_affliates.php on line 17

dit is de code:

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
<?php
php
/**
* @version $Id: mod_affliates.php,v 0.1 2005/05/25 21:57:59 stingrey Exp $
* @package Mambo_4.5
* @copyright (C)  2005 Qu63.nl/Qu63.com
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/

/** ensure this file is being included by a parent file */
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

global
$mosConfig_live_site, $mosConfig_absolute_path, $cur_template;

$text             = $params-&gt;get( 'text' );
$moduleclass_sfx     = $params-&gt;get( 'moduleclass_sfx', '' );
$firefox              = $params-&gt;get( 'firefox', 1 );
$firefox_image        = $params-&gt;get( firefox.gif', '' );

$t_path             = $mosConfig_live_site .'
/templates/'. $cur_template .'/images/';
$d_path            = $mosConfig_live_site .'
/images/M_images/';


<div class="syndicatephp echo $moduleclass_sfx;">
php
// firefox link
if ( $text ) {
    
    <div align="center" class="syndicate_textphp echo $moduleclass_sfx;">
    php echo $text;
    </div>
    php
}


php
// firefox link
if ( $firefox ) {
    $img = mosAdminMenus::ImageCheck( firefox.gif'
, '/images/M_images/', $firefox_image, '/images/M_images/', 'Get Firefox' );
    
    &
lt;div align="center"&gt;
    &
lt;a href="http://www.spreadfirefox.com/?q=affiliates&id=103171&t=67" target="_blank"&gt;
    
php echo $img
    
&lt;/a&gt;
    &
lt;/div&gt;
    
php
}
?>


Wat klopt er niet in regel 17?????
JeRawoensdag 25 mei 2005 @ 22:12
1
2
3
<?php
$firefox_image        
= $params-&gt;get( firefox.gif', '' );
?>

Tja, die klopt niet, he
qu63woensdag 25 mei 2005 @ 22:15
quote:
Op woensdag 25 mei 2005 22:12 schreef JeRa het volgende:

[ code verwijderd ]

Tja, die klopt niet, he
wat moet t wel zijn dan

1
2
3
<?php
firefox
.gif', '1' );
?>

ofzo?
JeRawoensdag 25 mei 2005 @ 22:17
Let vooral op de single quotes:
1
2
3
<?php
$firefox_image        
= $params-&gt;get( firefox.gif', '' );
?>

wordt:
1
2
3
<?php
$firefox_image        
= $params-&gt;get( 'firefox.gif', '' );
?>

Overigens zegt de foutmelding exact waar je naar moet zoeken. T_CONSTANT_ENCAPSED_STRING verwijst naar een stuk string dat niet goed ingesloten (encapsed) is door quotes
qu63woensdag 25 mei 2005 @ 22:18
quote:
Op woensdag 25 mei 2005 22:17 schreef JeRa het volgende:
Let vooral op de single quotes:
[ code verwijderd ]

wordt:
[ code verwijderd ]

Overigens zegt de foutmelding exact waar je naar moet zoeken. T_CONSTANT_ENCAPSED_STRING verwijst naar een stuk string dat niet goed ingesloten (encapsed) is door quotes
a fuck!
nu zie ik het

dank je wel!

zelfde fout ook nog in 39, maar alles is opgelost!
#ANONIEMdonderdag 26 mei 2005 @ 13:55
Nog een vraagje met betrekking tot arrays;

ik heb nu het volgende: http://www.imperium-studios.nl/intercommit/test.php
Ik zet een XML-bestand om naar arrays, en dit krijg ik eruit. Nu wil ik van elke array Attributes, het onderdeeltje link hebben. Ik kan de array attributes zo uitschrijven:

1
2
3
echo "<pre>";
print_r($ArrayXML[0][attributes]);
echo "</pre>";


Maar hoe kan ik die waarde van link of van name eruit krijgen?

[ Bericht 6% gewijzigd door #ANONIEM op 26-05-2005 13:56:14 ]
DionysuZdonderdag 26 mei 2005 @ 14:35
waarde van name is dan $ArrayXML[0]["attributes"]["NAME"]
#ANONIEMdonderdag 26 mei 2005 @ 15:02
ja je hebt gelijk, ik had alleen niet gelet op case sensitive :$
mscholdonderdag 26 mei 2005 @ 18:25
eff , misschien wel hele domme vraag, maar kan iemand mij duidelijk het verschil uitleggen tussen:
= , == & ===
want de eerste zegt dit IS dit
de 2de zegt dit IS GELIJK AAN
maar de derde???
JeRadonderdag 26 mei 2005 @ 18:37
1
2
3
4
5
<?php
$a
= 1;   //nu is $a gelijk aan 1
if ($a == "1")   //deze conditie is true, $a is gelijk aan "1"
if ($a === "1")  //deze conditie niet, === controleert ook op type ($a is een getal, "1" een string)
?>
mscholdonderdag 26 mei 2005 @ 18:40
quote:
Op donderdag 26 mei 2005 18:37 schreef JeRa het volgende:

[ code verwijderd ]
hmmm oke thanks
JeRadonderdag 26 mei 2005 @ 18:41
quote:
Op donderdag 26 mei 2005 18:40 schreef mschol het volgende:

[..]

hmmm oke thanks
Overigens nog een voorbeeld waarbij het nodig is dat je een type check doet
SuperRembodonderdag 26 mei 2005 @ 18:51
Dat staat natuurlijk ook gewoon in de manual: Comparison Operators.
ikke_ookdonderdag 26 mei 2005 @ 18:54
Ik ben op zoek naar een manier om mijn menu te maken vanuit de database. Het gaat om een js dropdown menu (een soort boom dus)
In de database heb ik alle menu items staan met de bijbehorende ouder. Volgens mij moet het op die manier te realiseren zijn. Ik kom alleen niet echt van de grond, kan iemand me op weg helpen?
dnzlvrijdag 27 mei 2005 @ 12:00
Hallo!

Zeg ik zet even met het volgende.
Via PHP voer ik verschillende waarden in een tabel. Deze zou ik graag bij elkaar op tellen, normaal zou dit geen groot probleem zijn alleen gaat het hier om tijd (in stappen van 15 minuten).

Hoe kan ik nou bijvoorbeeld de volgende som bereiken.

U.Mi
----
4:15
2:30
5:45+
----- totaal
12:30
ReVeLvrijdag 27 mei 2005 @ 12:25
quote:
Op vrijdag 27 mei 2005 12:00 schreef dnzl het volgende:
...
----
4:15
2:30
5:45+
----- totaal
12:30
Eerst even alles rekenen naar minuten (of seconden) opetellen en daarna weer terug rekenen
. Eventueel kan je misschien iets met strtotime doen.
ReVeLvrijdag 27 mei 2005 @ 12:33
Als je ze in een tabel hebt staan dan kan mysql ze misschien gewoon optellen als je "TIME" velden hebt.
TimberWolfvrijdag 27 mei 2005 @ 14:05
Voor de regex-guru's onder ons, een klein vraagje. Ik heb een string, met de volgende inhoud:

1
2
3
<a href="http://www.example.comview.php?x=11111" id="ID">
<img src="http://image.examplke.com/example.jpg" border="0">
</a>Dit is maar een voorbeeldje.


Nu dacht ik dus met de volgende preg_replace() de eventuele puin aan stylesettings en andere troep uit de A HREF te slopen, en meteen een target=_blank toe te voegen.

1
2
3
4
5
<?php
// Links ontdoen van nare bijverschijnselen
$Out_Content = preg_replace("/<a.+?href=(\"|')(.+?)(\"|').+/i",
"<a href=\"$2\" target=\"_blank\">", $Out_Content);
?>


Helaas doet dan niet wat ik verwacht. Hij matched namelijk tot aan de laatste dubbele aanhalingstekens van de img src, waardoor die geheel verdwijnt... Het komt ongetwijfeld door de (\"|'), maar ik heb geen idee hoe ik die non-greedy maak. Tips?

[ Bericht 3% gewijzigd door TimberWolf op 27-05-2005 14:06:23 (Grom) ]
JeRavrijdag 27 mei 2005 @ 18:17
Ik heb het als volgt gedaan:

1
2
3
4
5
<?php
$test
= '<a href="http://www.example.comview.php?x=11111" id="ID"><img src="http://image.examplke.com/example.jpg" border="0"></a>Dit is maar een voorbeeldje.';

echo
preg_replace('/<a(\s+?)href=("|\')(.+?)("|\')(.+?)>/i', '<a href="$3" target="_blank">', $test);
?>

Als je vragen hebt hoor ik het wel
Chandlervrijdag 27 mei 2005 @ 18:59
stomme vraag.

moet ik addslashes / stripslashes gebruiken voor

INSERT INTO DB ($_POST)
LEES UIT DB (mysql_fetch_object)

of kent iemand hier een goede tutor voor?
TimberWolfvrijdag 27 mei 2005 @ 19:24
quote:
Op vrijdag 27 mei 2005 18:17 schreef JeRa het volgende:
Ik heb het als volgt gedaan:
[ code verwijderd ]

Als je vragen hebt hoor ik het wel
Kee, eerste vraag: Waarom werkt dat bij mij ook niet?
JeRavrijdag 27 mei 2005 @ 19:31
Als je ff naar dit kijkt:
1<a.+?href=(\"|')(.+?)(\"|').+

Persoonlijk vind ik het beter leesbaar als dingen als .+? tussen haakjes worden gezet, daarom heb ik dat bij mij ook gedaan. Maar die punt hoort daar niet, dan zou <ablaathref> ook gematched worden namelijk (punt = elk willekeurig karakter; \s = whitespace).

Dat (\"|') klopt gewoon. Maar waarom je ophoudt met '.+' is mij een raadsel, je zult toch moeten aangeven dat je alleen die tag en niet al het opvolgende wilt matchen. Je zult dus van '<a>' moeten uitgaan, en dus ook die sluitende haak '>' moeten meenemen in je regex. Dat ik er (.+?) van heb gemaakt is omdat ie dan greedy werkt (anders zou hij de IMG-tag misschien ook in z'n geheel meenemen).
Nevermindvrijdag 27 mei 2005 @ 19:33
quote:
Op vrijdag 27 mei 2005 18:59 schreef Chandler het volgende:
stomme vraag.

moet ik addslashes / stripslashes gebruiken voor

INSERT INTO DB ($_POST)
LEES UIT DB (mysql_fetch_object)

of kent iemand hier een goede tutor voor?
Ik gebruik altijd addslashes bij het invoeren, stripslashes bij het uitlezen. Voor tekst dan, uiteraard. Of het altijd nodig is weet ik niet, maar het maakt de communicatie tussen PHP en MySQL makkelijker doordat de string ge-escaped zijn.

offtopic: waar is bruggema.nl gebleven?
JeRavrijdag 27 mei 2005 @ 19:40
Even voor de duidelijkheid:

1) Variabelen die je binnenhaalt met $_GET of $_POST moet je stripslashen als magic_quotes_gpc aanstaat. Zo niet, dan hoeft dat ook niet. Om de overzichtelijkheid te behouden kun je $_GET en $_POST variables eerst in een lokale variabele plaatsen.

2) Variabelen die je naar een MySQL server stuurt kun je het beste escapen met mysql_real_escape_string() (of de mysqli-variant: mysqli_real_escape_string()). addslashes() zal ook werken, maar de eerdergenoemde functie garandeert compatibiliteit bij verschillende versies van PHP.

3) Teksten die je uitleest uit een MySQL database hoef je niet te stripslashen, dat kan alleen voor problemen gaan zorgen als bezoekers slashes in hun tekst zetten (die worden dan gestript, namelijk).
TimberWolfvrijdag 27 mei 2005 @ 19:54
quote:
Op vrijdag 27 mei 2005 19:31 schreef JeRa het volgende:
Persoonlijk vind ik het beter leesbaar als dingen als .+? tussen haakjes worden gezet, daarom heb ik dat bij mij ook gedaan. Maar die punt hoort daar niet, dan zou <ablaathref> ook gematched worden namelijk (punt = elk willekeurig karakter; \s = whitespace).
1<a border="0" href="http://example.com">link</a>


Helaas is het valide HTML. Die moet dus ook gematched worden.
quote:
Dat (\"|') klopt gewoon. Maar waarom je ophoudt met '.+' is mij een raadsel, je zult toch moeten aangeven dat je alleen die tag en niet al het opvolgende wilt matchen.
1<a border="0" href="http://example.com" id="pipo" color=red>link</a>


Opnieuw valide HTML. Overigens eindigd mijn regex wel in een >, voor zover ik weet. [edit]Ah, copy/paste foutje. De > stond er wel degelijk ik begon aan mezelf te twijfelen...[/edit]

Dat is ook een beetje mijn probleem. Regexen zijn niet woest geschikt voor dit soort mishandeling
Op een of andere manier is er een stukje wat TE greedy is.
JeRavrijdag 27 mei 2005 @ 20:07
Regexen zijn prima geschikt. Het vereist gewoon wat werk

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$test
= array(
    
'<a href="http://www.example.comview.php?x=11111" id="ID"><img src="http://image.examplke.com/example.jpg" border="0"></a>Dit is maar een voorbeeldje.',
    
'<a border="0" href="http://blaat.com">link</a>',
    
'<a border="0" href="http://example.com" id="pipo" color=red>link</a>',
    
'<a href="test">blaat</a>'
);

foreach (
$test as $item) {
    echo
htmlentities(preg_replace('/<a(\s+?)(.+?)(\s+?)href=("|\')(.+?)("|\')(.*?)>/i', '<a href="$3" target="_blank">', $item)) . '<br />';
}
?>

Werkt deze beter?
TimberWolfvrijdag 27 mei 2005 @ 23:14
quote:
Op vrijdag 27 mei 2005 20:07 schreef JeRa het volgende:
Regexen zijn prima geschikt. Het vereist gewoon wat werk
1
2
3
<?php
htmlentities
(preg_replace('/<a(\s+?)(.+?)(\s+?)href=("|\')(.+?)("|\')(.*?)>/i', '<a href="$3" target="_blank">', $item)) . '<br />';
?>


Werkt deze beter?
Niet helemaal, omdat de (\s+?)(.+?)(\s+?) constructie niet matched op bijvoorbeeld:

1<a border="0" id="pipo" href="http://example.com" color=red>


En ja, de dwaas die zijn HTML zo schrijft moet neergeschoten worden, maar dat is beside the point Hoedanook, kleine aanpassing:

1
2
3
<?php
$Out_Content
= preg_replace('/<a(.+?)href=("|\')(.+?)("|\')(.*?)>/i', '<a href="$3" target="_blank">', $Out_Content);
?>


Dat werkt wel, door de (.+?) wordt alles tussen de a en de href gematched, non-greedy. Dus voorlopig is dit de oplossing, al heb ik de indruk dat ik het al eens geprobeerd had Maargoed, het werkt! Dank voor de hulp!
JeRavrijdag 27 mei 2005 @ 23:18
quote:
Op vrijdag 27 mei 2005 23:14 schreef TimberWolf het volgende:

[..]

Niet helemaal, omdat de (\s+?)(.+?)(\s+?) constructie niet matched op bijvoorbeeld:
[ code verwijderd ]
Als je mijn script letterlijk overneemt en jouw testcase in de array zet, parset ie 'm gewoon hoor. Bovendien zal jouw nieuwe regex ook constructies als '<abhref...' matchen, en die van mij niet (vandaar de \s'en)

edit: in jouw testcase staat de (.+?) dus gelijk aan 'border="0" id="pipo"', en de twee whitespaces eromheen zullen matchen op de spatie tussen de 'a' en 'border', en de '"pipo"' en 'href'.

[ Bericht 11% gewijzigd door JeRa op 27-05-2005 23:24:23 ]
Chandlerzondag 29 mei 2005 @ 01:28
@Nevermind: is even offline door 500GB bandwidth door een mongool
Nevermindzondag 29 mei 2005 @ 16:40
Matige grap .

Ik heb een probleempje met imagefilltoborder. Ik heb deze afbeelding:


Ik wil het bovenste vlak inkleuren met een kleur. De lijnen zijn zwart (0, 0, 0). Waarom wordt de hele afbeelding rood als ik deze code gebruik?

1
2
3
$brd = imagecolorallocate($im, 0,0,0);
$clr = imagecolorallocate($im, 255,0,0);
imagefilltoborder($im, 200, 10, $brd, $clr);
Nevermindzondag 29 mei 2005 @ 17:48
Ik geloof dat ik de imagefill functie verkeerd begreep. Die werkt wel prima. Waarom imagefilltoborder niet werkt snap ik niet.
LeeHarveyOswaldzondag 29 mei 2005 @ 20:34
Ik heb een vraagje, meer SQL als PHP. Wel de meest grote noob vraag tot nu toe geloof ik


Ik wilde met onderstaande code gegevens wijzigen, maar dat werkt niet. Dat snap ik. Hoe doe ik dat wel goed?
1
2
3
4
5
6
7
<?php
$sql_query
= "UPDATE users SET (naam, wachtwoord, profiel1, profiel2, profiel3, profiel4, afbeelding1, afbeelding2, afbeelding3) ";
$sql_query .="VALUES ('".$naam."', '".$wachtwoord."', '".$profiel1."', '".$profiel2."', '".$profiel3."', '".$profiel4."', '".$afbeelding1."', '".$afbeelding2."', '".$afbeelding3."');";
$result = mysql_query($sql_query) or die(mysql_error());
$text="Gegevens zijn gewijzigd!  <A HREF=\"login.php\">Inloggen.</A>";
die(
$text);
?>
DionysuZzondag 29 mei 2005 @ 20:37
1UPDATE users SET naam='".$naam."', wachtwoord='".$wachtwoord."'

etc... dus niet (naam, wachtwoord,...) VALUES maar gewoon toekenningen met een komma ertussen
LeeHarveyOswaldzondag 29 mei 2005 @ 20:37
Kleine toevoeging: Ik had eerst INSERT gebruikt, kreeg dus de melding " veld bestaat al " (maar dan niet in nld ) en heb dat dus maar heel vrij aangepast naar bovenstaande...
DionysuZzondag 29 mei 2005 @ 20:38
ik neem btw aan dat je wel nog n WHERE clause eraan wilt hangen, aangezien je anders alle users aanpast?
LeeHarveyOswaldzondag 29 mei 2005 @ 20:38
quote:
Op zondag 29 mei 2005 20:37 schreef DionysuZ het volgende:

[ code verwijderd ]

etc... dus niet (naam, wachtwoord,...) VALUES maar gewoon toekenningen met een komma ertussen
Danku, ik ga het proberen
DionysuZzondag 29 mei 2005 @ 20:41
als je bijv. een user met id=1 een nieuwe naam en wachtwoord wilt geven kun je dat zo doen:
1UPDATE users SET naam='{$naam}', wachtwoord='{$wachtwoord}' WHERE id=1
LeeHarveyOswaldzondag 29 mei 2005 @ 20:48
quote:
Op zondag 29 mei 2005 20:38 schreef DionysuZ het volgende:
ik neem btw aan dat je wel nog n WHERE clause eraan wilt hangen, aangezien je anders alle users aanpast?
das wel handig

Die code die ik net dus overnam zonder where werkte, muv het feit dat er geen gegevens in de database kwamen

nu heb ik:
1
2
3
<?php
$sql_query
= "UPDATE users SET naam='".$naam."', wachtwoord='".$wachtwoord."' , profiel1='".$profiel1."', profiel2='".$profiel2."', profiel3='".$profiel3."', profiel4='".$profiel4."', afbeelding1='".$afbeelding1."', afbeelding2='".$afbeelding2."', afbeelding3='".$afbeelding3."' WHERE naam='" . $_SESSION["naam"]";
?>


Maar nu krijg ik dus gewoon een foutmelding....
JeRazondag 29 mei 2005 @ 20:48
quote:
Op zondag 29 mei 2005 17:48 schreef Nevermind het volgende:
Die werkt wel prima. Waarom imagefilltoborder niet werkt snap ik niet.
Je gebruikte imagecolorallocate() om een kleur te specificeren, terwijl je eigenlijk imagecolorresolve() moet gebruiken. De eerste functie maakt een nieuwe kleur in de kleurenindex van de afbeelding, in jouw geval dus een nieuwe kleur met RGB=0,0,0 en de tweede functie zal een kleur opzoeken met RGB=0,0,0, wat dus zwart is in jouw afbeelding.

Je hele afbeelding werd dus rood, niet doordat de kleuren verschilden (ze waren immers allebei zwart), maar doordat de identifiers voor de kleuren verschilden (de waardes waren anders, maar ze verwezen allebei naar zwart). De functie imagefill() gebruikt als startwaarde de kleur op coördinaten x,y en stopt zodra hij een andere willekeurige kleur tegenkomt.
JeRazondag 29 mei 2005 @ 20:50
quote:
Op zondag 29 mei 2005 20:48 schreef LeeHarveyOswald het volgende:

[..]

Maar nu krijg ik dus gewoon een foutmelding....
Je hebt nog een quote op het einde van je regel staan.

Kijk je trouwens ook nog even naar deze post van mij?
LeeHarveyOswaldzondag 29 mei 2005 @ 20:54
quote:
Op zondag 29 mei 2005 20:50 schreef JeRa het volgende:

[..]

Je hebt nog een quote op het einde van je regel staan.

Kijk je trouwens ook nog even naar deze post van mij?
Van die post vat ik niet heel veel

Ik heb die " weggehaald, nu krijg ik niet direct een foutmelding te zien, maar wel na het " doorvoeren " :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1

Gegevens worden ook niet gewijzigd..
DionysuZzondag 29 mei 2005 @ 20:57
1naam='" . $_SESSION["naam"]";

moet zijn
1naam='" . $_SESSION["naam"]."'";
LeeHarveyOswaldzondag 29 mei 2005 @ 21:00
quote:
Op zondag 29 mei 2005 20:57 schreef DionysuZ het volgende:

[ code verwijderd ]

moet zijn
[ code verwijderd ]
Danku! geen foutmelding maar mn database blijft erg leeg? (alle velden muv wachtwoord en naam waren nog leeg)
LeeHarveyOswaldzondag 29 mei 2005 @ 21:06
Ik heb trws in mn inlog pagina staan:
$user = $_POST["naam"];
$_SESSION['user'] = $user;

En boven die query heb ik staan:
$naam = $_SESSION["user"];

Dat moet dan toch werken?
JeRazondag 29 mei 2005 @ 21:07
quote:
Op zondag 29 mei 2005 21:00 schreef LeeHarveyOswald het volgende:

[..]

Danku! geen foutmelding maar mn database blijft erg leeg? (alle velden muv wachtwoord en naam waren nog leeg)
Als je na het maken van de query
1
2
3
<?php
echo $sql_query;
?>

doet kun je zien welke query er wordt uitgevoerd dat helpt misschien met het debuggen.
JeRazondag 29 mei 2005 @ 21:08
quote:
Op zondag 29 mei 2005 21:06 schreef LeeHarveyOswald het volgende:
Dat moet dan toch werken?
Dat weet je pas zodra je weet welke query er wordt uitgevoerd
LeeHarveyOswaldzondag 29 mei 2005 @ 21:14
quote:
Op zondag 29 mei 2005 21:08 schreef JeRa het volgende:

[..]

Dat weet je pas zodra je weet welke query er wordt uitgevoerd
Daar gaat dus idd iets "goed" mis:

1$sql_query = "UPDATE users SET naam='".$naam."', wachtwoord='".$wachtwoord."' , profiel1='".$profiel1."', profiel2='".$profiel2."', profiel3='".$profiel3."', profiel4='".$profiel4."', afbeelding1='".$afbeelding1."', afbeelding2='".$afbeelding2."', afbeelding3='".$afbeelding3."' WHERE naam='" . $_SESSION["naam"]."'";


geeft
quote:
Welkom, u bent aangemeld als testuser
Uw wachtwoord is: test

UPDATE users SET naam='testuser', wachtwoord='098f6bcd4621d373cade4e832627b4f6' , profiel1='', profiel2='', profiel3='', profiel4='', afbeelding1='', afbeelding2='', afbeelding3='' WHERE naam=''Gegevens zijn gewijzigd! Inloggen.
edit: naam en wachtwoord kloppen, de rest blijft dus leeg
JeRazondag 29 mei 2005 @ 21:16
Nu is het dus zaak aan jou om uit te zoeken hoe het komt dat die variabelen leeg zijn
DionysuZzondag 29 mei 2005 @ 21:18
tuurlijk werkt die niet. Check je WHERE clause. Where naam = ''. Staat er iemand in de DB met een lege naam? Anders past hij natuurlijk helemaal niets aan
LeeHarveyOswaldzondag 29 mei 2005 @ 21:22
quote:
Op zondag 29 mei 2005 21:16 schreef JeRa het volgende:
Nu is het dus zaak aan jou om uit te zoeken hoe het komt dat die variabelen leeg zijn
Het woord variabele gaf al genoeg hints, want die ontbraken dus gewoon

Probleem 2: alle velden zijn ingevuld, naam ook, behalve achter de WHERE

Dus naam = ingelogde naam werkt wel, maar where naam = ingelogde naam weer niet
LeeHarveyOswaldzondag 29 mei 2005 @ 21:23
Lama het werkt, kleine typo

edit: en heel erg bedankt
DionysuZzondag 29 mei 2005 @ 21:24
nee bij de eerste gebruik je $naam, bij de tweede $_SESSION["naam"], dus ergens gaat iets fout met je sessie-naam toekenning
LeeHarveyOswaldzondag 29 mei 2005 @ 21:59
Nog een vraagje Alles uitlezen uit de database lijkt me niet moeilijk:

SELECT * FROM users WHERE naam = [ingevoerde naam]

Maar hoe krijg ik dan de resultaten, én hoe krijg ik deze mooi in een tekst?

En hoe kan ik dan die ingevoerde naam uit een URL vissen?
JeRazondag 29 mei 2005 @ 22:17
quote:
Op zondag 29 mei 2005 21:59 schreef LeeHarveyOswald het volgende:
Nog een vraagje Alles uitlezen uit de database lijkt me niet moeilijk:

SELECT * FROM users WHERE naam = [ingevoerde naam]

Maar hoe krijg ik dan de resultaten, én hoe krijg ik deze mooi in een tekst?
1
2
3
4
5
6
7
8
9
<?php
//Query uitvoeren
$result = mysql_query($query);

//Data binnenhalen
$data = mysql_fetch_assoc($result);  //dit haalt één rij op

echo $data['naam'];  //bijvoorbeeld
?>
quote:
En hoe kan ik dan die ingevoerde naam uit een URL vissen?
Hoe bedoel je? Met $_GET kun je variabelen aanspreken die d.m.v. de URL zijn ingesteld
MouseInteractivezondag 29 mei 2005 @ 22:23
quote:
Op zondag 29 mei 2005 21:59 schreef LeeHarveyOswald het volgende:
Nog een vraagje Alles uitlezen uit de database lijkt me niet moeilijk:

SELECT * FROM users WHERE naam = [ingevoerde naam]

Maar hoe krijg ik dan de resultaten, én hoe krijg ik deze mooi in een tekst?

En hoe kan ik dan die ingevoerde naam uit een URL vissen?
Dat doe je bijvoorbeeld met mysql_fetch_array.
En de naam vis je uit de url met $_GET.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$ingevoerdenaam
= $_GET['naam'];
$sql = "SELECT * FROM users WHERE naam = '".$ingevoerde naam."'";
$query = mysql_query($sql) or die(mysql_error());
while (
$result = mysql_fetch_array($query)) {
$naam = $result['naam'];
$profiel1 = $result['profiel1'];
// etc.
echo"".$naam."";
echo
"".$profiel1."";
}
?>
LeeHarveyOswaldzondag 29 mei 2005 @ 22:26
Onderstaande code geeft bij www.pestforum.nl/profile/profiel.php?naam=Jeroen alleen "Jeroen" ...

Hoe krijg ik dan alle info die ik wil weergeven? (alles MUV wachtwoord)
1
2
3
4
5
6
7
8
9
10
11
<?php
include("connection.php");
//Query uitvoeren
$query = "SELECT * FROM users WHERE naam='" . $_GET["naam"]  ."';";
$result = mysql_query($query);

//Data binnenhalen
$data = mysql_fetch_assoc($result);  //dit haalt één rij op

echo $data['naam'];  //bijvoorbeeld
?>
JeRazondag 29 mei 2005 @ 22:34
Nou ja, je hebt natuurlijk wel een beetje HTML kennis nodig als je er iets van wilt maken, he. Maar dit is ff simpel gedaan:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
include("connection.php");
//Query uitvoeren
$naam = isset($_GET['naam']) ? $_GET['naam'] : '';
$query = "SELECT * FROM users WHERE naam='" . mysql_real_escape_string($naam)  ."';";
$result = mysql_query($query);

//Data binnenhalen
$data = mysql_fetch_assoc($result);  //dit haalt één rij op

print_r($data);  //toont variabelinformatie
?>
LeeHarveyOswaldmaandag 30 mei 2005 @ 00:10
Ik heb nu alles hier helemaal werkend, alleen voor de pagina waarop je dus je profiel aanpast, leek het mij wel handig dat daar de velden zijn ingevuld met de huidige waarde. (zodat je niet alles helemaal overnieuw hoeft te doen)

Ik had dit alsvolgt geprobeerd (bovenste deel code, onderste deel werkt, hoewel mss niet zo netjes opgebouwd)

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
<?php session_start();
include("connection.php");
$naam = $_GET['naam'];
$sql = "SELECT * FROM users WHERE naam = '".$naam."'";
$query = mysql_query($sql) or die(mysql_error());
while ($result = mysql_fetch_array($query)) {
$profiel1 = $result['profiel1'];
$profiel2 = $result['profiel2'];
$profiel3 = $result['profiel3'];
$profiel4 = $result['profiel4'];
$afbeelding1 = $result['afbeelding1'];
$afbeelding2 = $result['afbeelding2'];
$afbeelding3 = $result['afbeelding3'];
$afbeelding5 = $result['afbeelding4'];
$afbeelding4 = $result['afbeelding5'];
profiel1 = $profiel1;
profiel1 = $profiel2;
profiel1 = $profiel3;
profiel1 = $profiel4;
afbeelding1 = $afbeelding1
afbeelding2 = $afbeelding2
afbeelding3 = $afbeelding3
afbeelding4 = $afbeelding4
afbeelding5 = $afbeelding5
?>
<HTML>
<HEAD><TITLE>Pas je profiel aan.</TITLE>
</HEAD>
<BODY>
<?php
if(!isset($_SESSION["user"])){
$text = "U bent niet goed ingelogd, ga terug naar <A HREF='login.php'>de login pagina</A> of naar <A HREF='registreer.php'>de registreer pagina</A>";
echo($text);
}
else{?>
<LINK HREF="http://www.pestforum.nl/white.css" TYPE="text/css" REL="stylesheet">
Welkom <?php echo($_SESSION["user"]);?><BR>
Pas hier je profiel aan. De indeling van je profiel wordt alsvolgt:
<ul>
<li>Welkom op het profel van <?php echo($_SESSION["user"]);?>
<li>[afbeelding 1]
<li> Tekst 1
<li>[afbeelding 2]
<li> Tekst 2
<li>[afbeelding 3]
<li> Tekst 3
<li>[afbeelding 4]
<li> Tekst 4
<li>[afbeelding 5]

<P>
<?php
include("connection.php");
if(!empty($_POST)){
$naam = $_SESSION["user"];
$wachtwoord = md5($_SESSION['wachtwoord']);
$profiel1 = $_POST['profiel1'];
$profiel2 = $_POST['profiel2'];
$profiel3 = $_POST['profiel3'];
$profiel4 = $_POST['profiel4'];
$afbeelding1 = $_POST['afbeelding1'];
$afbeelding2 = $_POST['afbeelding2'];
$afbeelding3 = $_POST['afbeelding3'];
$afbeelding4 = $_POST['afbeelding4'];
$afbeelding5 = $_POST['afbeelding5'];
$sql_query = "UPDATE users SET naam='".$naam."', wachtwoord='".$wachtwoord."' , profiel1='".$profiel1."', profiel2='".$profiel2."', profiel3='".$profiel3."', profiel4='".$profiel4."', afbeelding1='".$afbeelding1."', afbeelding2='".$afbeelding2."', afbeelding3='".$afbeelding3."', afbeelding4='".$afbeelding4."', afbeelding5='".$afbeelding5."' WHERE naam='".$naam."'";
$result = mysql_query($sql_query) or die(mysql_error());
$text="Gegevens zijn gewijzigd! <A HREF=\"profiel.php?naam=\"$naam>Bekijk je profiel.</A>";
die($text);

}
?>


<FORM NAME="form2" METHOD="post" ACTION="<?php echo($_SERVER["PHP_SELF"]);?>">
<p>profiel teksten:</p>
Tekst1: <INPUT TYPE="text" NAME="profiel1" MAXLENGTH="300"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel2" MAXLENGTH="300"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel3" MAXLENGTH="300"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel4" MAXLENGTH="300"><BR>
<p>Afbeeldingen voor op je profiel (URL, maximaal 70 tekens lang) </p>
Afbeelding1: <INPUT TYPE="text" NAME="afbeelding1" MAXLENGTH="70"><BR>
Afbeelding2: <INPUT TYPE="text" NAME="afbeelding2" MAXLENGTH="70"><BR>
Afbeelding3: <INPUT TYPE="text" NAME="afbeelding3" MAXLENGTH="70"><BR>
Afbeelding4: <INPUT TYPE="text" NAME="afbeelding4" MAXLENGTH="70"><BR>
Afbeelding5: <INPUT TYPE="text" NAME="afbeelding5" MAXLENGTH="70"><BR>

<INPUT TYPE="submit" VALUE="Wijzig">
</FORM>
>


<A HREF="loguit.php">Log hier uit!</A>
<?php
}
?>
</BODY>
</HTML>


Iemand een idee?
MouseInteractivemaandag 30 mei 2005 @ 00:27
quote:
Op maandag 30 mei 2005 00:10 schreef LeeHarveyOswald het volgende:
Ik heb nu alles hier helemaal werkend, alleen voor de pagina waarop je dus je profiel aanpast, leek het mij wel handig dat daar de velden zijn ingevuld met de huidige waarde. (zodat je niet alles helemaal overnieuw hoeft te doen)

Ik had dit alsvolgt geprobeerd (bovenste deel code, onderste deel werkt, hoewel mss niet zo netjes opgebouwd)
[ code verwijderd ]

Iemand een idee?
De while loop kan weg, omdat je de naam van het profiel in principe uniek is (geen twee keer Jeroen b.v.), dus als je de gegevens opvraagt met een WHERE clause, dan gaat dat wel goed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$naam
= $_GET['naam'];
$sql = "SELECT * FROM users WHERE naam = '".$naam."'";
$query = mysql_query($sql) or die(mysql_error());
$result = mysql_fetch_array($query);
$profiel1 = $result['profiel1'];
$profiel2 = $result['profiel2'];
$profiel3 = $result['profiel3'];
$profiel4 = $result['profiel4'];
$afbeelding1 = $result['afbeelding1'];
$afbeelding2 = $result['afbeelding2'];
$afbeelding3 = $result['afbeelding3'];
$afbeelding5 = $result['afbeelding4'];
$afbeelding4 = $result['afbeelding5'];
?>



Nou, nadat je de gegevens uit de tabel hebt gehaald, zorg je dat ze in het formulier worden ingevuld.
Dat gaat zo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<FORM NAME="form2" METHOD="post" ACTION="<?php echo($_SERVER["PHP_SELF"]);?>">
<p>profiel teksten:</p>
Tekst1: <INPUT TYPE="text" NAME="profiel1" MAXLENGTH="300" value="<? echo"".$profiel1."";?>"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel2" MAXLENGTH="300" value="<? echo"".$profiel2."";?>"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel3" MAXLENGTH="300" value="<? echo"".$profiel3."";?>"><BR>
Tekst1: <INPUT TYPE="text" NAME="profiel4" MAXLENGTH="300" value="<? echo"".$profiel4."";?>"><BR>
<p>Afbeeldingen voor op je profiel (URL, maximaal 70 tekens lang) </p>
Afbeelding1: <INPUT TYPE="text" NAME="afbeelding1" MAXLENGTH="70"><BR>
Afbeelding2: <INPUT TYPE="text" NAME="afbeelding2" MAXLENGTH="70"><BR>
Afbeelding3: <INPUT TYPE="text" NAME="afbeelding3" MAXLENGTH="70"><BR>
Afbeelding4: <INPUT TYPE="text" NAME="afbeelding4" MAXLENGTH="70"><BR>
Afbeelding5: <INPUT TYPE="text" NAME="afbeelding5" MAXLENGTH="70"><BR>

<INPUT TYPE="submit" VALUE="Wijzig">
</FORM>

En bij de afbeeldingen kun je zelf wel invullen volgens hetzelfde principe
LeeHarveyOswaldmaandag 30 mei 2005 @ 00:34
Thank you!

Afbeeldingen kan ik zo zeker ook doen, want dat zijn tekst velden (url) ..

Ik ga het proberen!
LeeHarveyOswaldmaandag 30 mei 2005 @ 00:39
hmm geen foutmelding, maar mn velden blijven leeg?
MouseInteractivemaandag 30 mei 2005 @ 00:43
quote:
Op maandag 30 mei 2005 00:39 schreef LeeHarveyOswald het volgende:
hmm geen foutmelding, maar mn velden blijven leeg?
hmm..... wordt alles wel uit de database gehaald?
Doe anders eens ff
1
2
3
<?php
print_r
($result);
?>

om te kijken wat uit de tabel geselecteerd wordt.
MouseInteractivemaandag 30 mei 2005 @ 00:45
Ow en volgens mij moet je onderaan ergens nog de sluitingsaccolade (}) van de while loop weghalen.
LeeHarveyOswaldmaandag 30 mei 2005 @ 01:07
Probleem gevonden! er stond boven in een verwijzing naar GET terwijl naam hier uit session(user) oid. moest komen. opgelost thnq!
LeeHarveyOswaldmaandag 30 mei 2005 @ 11:28
Ik blijf nog even lastig

Ik wil mn google banner naast een profiel hebben, dus ik met echo"<Td>"; etc etc mooi tabelletje gemaakt, alles lukt, behalve de code voor de banner:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
echo"<td> <script type="text/javascript"><!--";
echo
"google_ad_client = "pub-9895364501562730"; ";
echo
"google_ad_width = 120; ";
echo
"google_ad_height = 600; ";
echo
"google_ad_format = "120x600_as"; ";
echo
"google_ad_type = "text"; ";
echo
"google_ad_channel ="9150908446"; ";
echo
"google_page_url = document.location; ";
echo
"google_color_border = "336699"; ";
echo
"google_color_bg = "BCD0ED"; ";
echo
"google_color_link = "0000FF"; ";
echo
"google_color_url = "008000"; ";
echo
"google_color_text = "3A4F6C"; ";
echo
"//--></script> ";
echo
"<script type="text/javascript" ";
echo
"  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> ";
echo"</script> ";
?>


Wat doe ik verkeerd?
#ANONIEMmaandag 30 mei 2005 @ 11:31
waarom doe je eigenlijk 2x text/javascript?
MouseInteractivemaandag 30 mei 2005 @ 11:33
quote:
Op maandag 30 mei 2005 11:28 schreef LeeHarveyOswald het volgende:
Ik blijf nog even lastig

Ik wil mn google banner naast een profiel hebben, dus ik met echo"<Td>"; etc etc mooi tabelletje gemaakt, alles lukt, behalve de code voor de banner:
[ code verwijderd ]

Wat doe ik verkeerd?
Omdat de dubbele quotes (") bedoeld zijn voor het openen en sluiten van een echo tag, moet je die escapen met slashes als je die binnen de echo wilt gebruiken.

1
2
3
4
5
6
<?php
php
echo"<td> <script type=\"text/javascript\"><!--";
echo
"google_ad_client = \"pub-9895364501562730\"; ";
//etc.
?>


Maar ik denk niet dat het nodig is dat de Google code tussen php tags staat, dus dat kun je gewoon neerzetten in html.

En je kunt trouwens een echo gebruiken voor meerdere regels, dus je hoeft niet elke nieuwe
regel met echo te starten:

1
2
3
4
5
6
7
<?php
echo" hier een
heleboel
tekst over
meerdere
regels"
;
?>
LeeHarveyOswaldmaandag 30 mei 2005 @ 11:41
quote:
Op maandag 30 mei 2005 11:31 schreef Scorpie het volgende:
waarom doe je eigenlijk 2x text/javascript?
'couse google wants it?
LeeHarveyOswaldmaandag 30 mei 2005 @ 11:42
quote:
Op maandag 30 mei 2005 11:33 schreef MouseInteractive het volgende:

[..]

Omdat de dubbele quotes (") bedoeld zijn voor het openen en sluiten van een echo tag, moet je die escapen met slashes als je die binnen de echo wilt gebruiken.
[ code verwijderd ]

Maar ik denk niet dat het nodig is dat de Google code tussen php tags staat, dus dat kun je gewoon neerzetten in html.

En je kunt trouwens een echo gebruiken voor meerdere regels, dus je hoeft niet elke nieuwe
regel met echo te starten:
[ code verwijderd ]
Hoe krijg ik dan mn google code buiten de PHP maar binnen de tabel?
LeeHarveyOswaldmaandag 30 mei 2005 @ 11:43
Dat laatste was een stomme vraag en het is dus op een veel simpelere manier dan dat ik dacht dat nodig was gelukt danku allen
MouseInteractivemaandag 30 mei 2005 @ 11:46
quote:
Op maandag 30 mei 2005 11:42 schreef LeeHarveyOswald het volgende:

[..]

Hoe krijg ik dan mn google code buiten de PHP maar binnen de tabel?
Sluit de php tag even, en ga dan gewoon verder met HTML en je google code.

dus:
1
2
3
4
5
6
7
?> <!-- Sluit php tag -->
<td>
<script type="text/javascript" language="JavaScript">
<!-- HIer wat google dingen -->
</td> <!-- Tabelcel sluiten -->
<?php //Php weer openen
//Hier verder met de rest van je code
MouseInteractivemaandag 30 mei 2005 @ 11:47
quote:
Op maandag 30 mei 2005 11:43 schreef LeeHarveyOswald het volgende:
Dat laatste was een stomme vraag en het is dus op een veel simpelere manier dan dat ik dacht dat nodig was gelukt danku allen
Ok
LeeHarveyOswaldmaandag 30 mei 2005 @ 11:53
quote:
Op maandag 30 mei 2005 11:46 schreef MouseInteractive het volgende:

[..]

Sluit de php tag even, en ga dan gewoon verder met HTML en je google code.

dus:
[ code verwijderd ]
Zo simpel had ik er dus nog niet over na gedacht

Hoe kan ik eigenlijk alle namen in beeld krijgen? ik weet nu dus wel hoe ik van 1 persoon alle info in beeld krijg, maar ik wil een overzichtje maken met namen in de database..

how to?
MouseInteractivemaandag 30 mei 2005 @ 12:04
quote:
Op maandag 30 mei 2005 11:53 schreef LeeHarveyOswald het volgende:

[..]
Hoe kan ik eigenlijk alle namen in beeld krijgen? ik weet nu dus wel hoe ik van 1 persoon alle info in beeld krijg, maar ik wil een overzichtje maken met namen in de database..
Dat doe je dus met een "while" lus.
De functie mysql_fetch_array haalt maar één rij tegelijk op. Wil je dus alle aanwezige namen in de tabel zien, dan moet je ervoor zorgen dat er net zolang rijen opgehaald blijven worden totdat alles op het scherm staat.

1
2
3
4
5
6
7
8
9
10
$sql = "SELECT naam FROM users; /* Je kunt naam ook vervangen door "*" om ook de profielteksten e.d. mee te nemen */
$query = mysql_query($sql) or die(mysql_error());

echo"<table>"; //Tabel maken
while ($result = mysql_fetch_array($query)) { /* Net zolang rijen ophalen en met <td>
aan de tabel toevoegen totdat er niks meer is */
$naam = $result['naam'];
echo"<tr><td>".$naam."</td></tr>";
}
echo"</table>"; //Tabel afsluiten

LeeHarveyOswaldmaandag 30 mei 2005 @ 12:11
kleine dingen aangepast en het werkt geweldig thnx
MouseInteractivemaandag 30 mei 2005 @ 12:16
Joh als je PHP en MySQL eenmaal door begint te krijgen, wordt het steeds leuker
LeeHarveyOswaldmaandag 30 mei 2005 @ 12:21
quote:
Op maandag 30 mei 2005 12:16 schreef MouseInteractive het volgende:
Joh als je PHP en MySQL eenmaal door begint te krijgen, wordt het steeds leuker
Ik vind het nu al helemaal geweldig
Nevermindmaandag 30 mei 2005 @ 14:46
quote:
Op zondag 29 mei 2005 20:48 schreef JeRa het volgende:

[..]

Je gebruikte imagecolorallocate() om een kleur te specificeren, terwijl je eigenlijk imagecolorresolve() moet gebruiken. De eerste functie maakt een nieuwe kleur in de kleurenindex van de afbeelding, in jouw geval dus een nieuwe kleur met RGB=0,0,0 en de tweede functie zal een kleur opzoeken met RGB=0,0,0, wat dus zwart is in jouw afbeelding.

Je hele afbeelding werd dus rood, niet doordat de kleuren verschilden (ze waren immers allebei zwart), maar doordat de identifiers voor de kleuren verschilden (de waardes waren anders, maar ze verwezen allebei naar zwart). De functie imagefill() gebruikt als startwaarde de kleur op coördinaten x,y en stopt zodra hij een andere willekeurige kleur tegenkomt.
Helder! Bedankt voor de uitleg!
dnzlmaandag 30 mei 2005 @ 15:16
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
$message = '

<html>
<head>
<title>Hoi</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="http://www.networksystemintegration.nl/employees/style.css"/>
</head>

<body>
<table width="547" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="547"><div align="right"><img src="file:///L|/NSI%20v3.0/employees/images/nieuwdag.jpg" width="250" height="100"></div></td>
  </tr>
  <tr> 
    <td height="90">
<p>Beste,<br>
        <br>
       '.$user['firstname'].' heeft zijn dagstaat afgerond. Hieronder volgt een korte 
        samenvatting van zijn/haar werkzaamheden. </p></td>
  </tr>
</table>
<br>
<table width="500" border="0" cellspacing="1" cellpadding="2" class="tablehead">
  <tr> 
    <td width="70" class="rowA"><strong>Van </strong></td>
    <td width="70" class="rowA"><strong>Tot</strong></td>
    <td width="70" class="rowA"><strong>Totaal</strong></td>
    <td width="70" class="rowA"><strong>Code</strong></td>
    <td width="220" class="rowA"><strong>Klant</strong></td>
  </tr>
'. 
$sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
$result = mysql_query($sql); .'

  '.  if (!$result) {
       echo "Kon de query ($sql) niet uitvoeren: " . mysql_error();
       exit;
   }

   while ($row = mysql_fetch_assoc($result)) { .'
  <tr> 
    <td class="rowB">'. $row['van'] .'</td>
    <td class="rowB">'. $row['tot'] .'</td>
    <td class="rowB">'. $row['totaal'] .'</td>
    <td class="rowB">'. $row['code1'] .' '. $row['code2'] .'</td>
    <td class="rowB">'. $row['klant'].'</td>
  </tr>
  <? } ?>
</table>
<br>
<table width="547" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td height="126"> 
      <p>Het volledige dagstaatrapport is te zien door op deze 
        link te klikken. <br>
        <br>
        <br>
        Met vriendelijke groet,<br>
        <br>
        <br>
        Lees</p></td>
  </tr>
</table>
<p> </p>
<p> </p>
<p> </p>
</body>
</html>

';

/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";


/* and now mail it */
mail($to, $subject, $message, $headers); 


Ik probeer met deze code een mailtje te sturen met de inhoud van
1
2
3
4
5
'. 
$sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
$result = mysql_query($sql); 

   while ($row = mysql_fetch_assoc($result)) { .'


Alleen werkt dit dus niet, wie weet hoe ik dit moet doen (ik denk dat het aan de quotes ligt, daar doe ik iets niet goed).
Nevermindmaandag 30 mei 2005 @ 15:46
quote:
1
2
3
4
5
6
 </tr>
'. 
$sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
$result = mysql_query($sql); .'

  '.  if (!$result) {
Als je allerlei commando's gaat uitvoeren kun je voor zover ik weet niet 'in' de string blijven. Die moet je dus eerst afsluiten.

1
2
3
4
5
6
 </tr>
';
$sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
$result = mysql_query($sql);'

if (!$result) {


Al die .' en '. -dingen zijn bijna fout. Zoiets als dit slaat ook nergens op:
1
2
3
$result = mysql_query($sql); .'

  '.  
TimberWolfmaandag 30 mei 2005 @ 18:55
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
<?php
$message
= '
<html>
<head>
<title>Hoi</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="http://www.networksystemintegration.nl/employees/style.css"/>
</head>

<body>
<table width="547" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="547"><div align="right"><img src="file:///L|/NSI%20v3.0/employees/images/nieuwdag.jpg" width="250" height="100"></div></td>
  </tr>
  <tr>
    <td height="90">
<p>Beste,<br>
        <br>
       '
.$user['firstname'].' heeft zijn dagstaat afgerond. Hieronder volgt een korte
        samenvatting van zijn/haar werkzaamheden. </p></td>
  </tr>
</table>
<br>
<table width="500" border="0" cellspacing="1" cellpadding="2" class="tablehead">
  <tr>
    <td width="70" class="rowA"><strong>Van </strong></td>
    <td width="70" class="rowA"><strong>Tot</strong></td>
    <td width="70" class="rowA"><strong>Totaal</strong></td>
    <td width="70" class="rowA"><strong>Code</strong></td>
    <td width="220" class="rowA"><strong>Klant</strong></td>
  </tr>'
;

$sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
$result = mysql_query($sql);

if (!
$result) {
       echo
"Kon de query ($sql) niet uitvoeren: " . mysql_error();
       exit;
}

while (
$row = mysql_fetch_assoc($result)) {
$message .=' <tr>
    <td class="rowB">'
. $row['van'] .'</td>
    <td class="rowB">'
. $row['tot'] .'</td>
    <td class="rowB">'
. $row['totaal'] .'</td>
    <td class="rowB">'
. $row['code1'] .' '. $row['code2'] .'</td>
    <td class="rowB">'
. $row['klant'].'</td>
  </tr>'
;
}

$message .='</table>
<br>
<table width="547" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="126">
      <p>Het volledige dagstaatrapport is te zien door op deze
        link te klikken. <br>
        <br>
        <br>
        Met vriendelijke groet,<br>
        <br>
        <br>
        Lees</p></td>
  </tr>
</table>
<p> </p>
<p> </p>
<p> </p>
</body>
</html>'
;

/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";


/* and now mail it */
mail($to, $subject, $message, $headers);
?>


Even snel aangepast. Je kunt er niet zomaar vanuit gaan dat als jij .' doet, PHP weet welke string je verder mee aan het gaan bent Gebruik voor het toevoegen aan een string (als je iets uit een commando haalt bijvoorbeeld) liever $string .= "iets";

Good form is om eerst de informatie te verzamelen (query's en whatnot) en daarna het geheel in een string te ploppen, eventueel met een heredoc.

Disclaimer: de bovenstaande code zal nog wel een foutje inzitten...
Roonaanmaandag 30 mei 2005 @ 20:24
Beter not is denk ik het gebruik van output buffering. Op deze manier zou je zelfs de volledige html in een include kunnen zetten.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
php
if(!function_exists('ob_get_clean'))
{
  function
ob_get_clean()
  {
    
$c = ob_get_contents();
    
ob_end_clean();
    return
$c;
  }
}

ob_start();
include
'message.php';
$message = ob_get_clean();
/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* and now mail it */
mail($to, $subject, $message, $headers);
?>


Message.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<html>
  <head>
    <title>Hoi</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="http://www.networksystemintegration.nl/employees/style.css"/>
  </head>
  <body>
    <table width="547" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="547">
          <div align="right">
            <img src="file:///L|/NSI%20v3.0/employees/images/nieuwdag.jpg" width="250" height="100">
          </div>
        </td>
      </tr>
      <tr>
        <td height="90">
          <p>Beste,</p>
          
          <p><?=$user['firstname'];?> heeft zijn dagstaat afgerond.
          Hieronder volgt een korte
          samenvatting van zijn/haar werkzaamheden. </p>
        </td>
      </tr>
    </table>
    <br />
    <table width="500" border="0" cellspacing="1" cellpadding="2" class="tablehead">
      <thead>
        <tr>
          <td width="70" class="rowA"><strong>Van </strong></td>
          <td width="70" class="rowA"><strong>Tot</strong></td>
          <td width="70" class="rowA"><strong>Totaal</strong></td>
          <td width="70" class="rowA"><strong>Code</strong></td>
          <td width="220" class="rowA"><strong>Klant</strong></td>
        </tr>
      </thead>
      <tbody>
        <?php
          $sql = "SELECT van, tot, totaal, code1, code2, klant FROM dagstaten WHERE auteur = '$user[username]' AND closed = '0' ORDER by id desc";
          $result = mysql_query($sql);
          if (!$result) {
             echo "Kon de query ($sql) niet uitvoeren: " . mysql_error();
             exit;
          }
          while ($row = mysql_fetch_assoc($result)) {
          ?>
          <tr>
            <td class="rowB"><?=htmlspecialchars($row['van']);?></td>
            <td class="rowB"><?=htmlspecialchars($row['tot']);?></td>
            <td class="rowB"><?=htmlspecialchars($row['totaal']);?></td>
            <td class="rowB"><?=htmlspecialchars($row['code1'].' '. $row['code2']);?></td>
            <td class="rowB"><?=htmlspecialchars($row['klant']);?></td>
          </tr>
          <?php
          }
        ?>
      </tbody>
    </table>
    <br />
    <table width="547" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="126">
          <p>Het volledige dagstaatrapport is te zien door
          op deze <a href="link">link</a> te klikken.</p>
          <p>Met vriendelijke groet,</p>
          <p>Lees</p>
        </td>
      </tr>
    </table>
    <p> </p>
    <p> </p>
    <p> </p>
  </body>
</html>


Overigens is het gebruik van stylesheets via <link> niet aan te raden bij gebruik in html email.
TimberWolfmaandag 30 mei 2005 @ 21:52
Ik moet me duidelijk nog even inlezen op output buffering Is er kort samen te vatten wat de voordelen zijn?

Als terzijde: Als je HTML mail stuurt is het netjes om ook een text-only variant mee te sturen. Een aantal spamfilters zal triggeren op HTML exclusive mail, en niet iedere mail-reader ondersteunt HTML mail.
Roonaandinsdag 31 mei 2005 @ 06:07
quote:
Op maandag 30 mei 2005 21:52 schreef TimberWolf het volgende:
Ik moet me duidelijk nog even inlezen op output buffering Is er kort samen te vatten wat de voordelen zijn?

Als terzijde: Als je HTML mail stuurt is het netjes om ook een text-only variant mee te sturen. Een aantal spamfilters zal triggeren op HTML exclusive mail, en niet iedere mail-reader ondersteunt HTML mail.
gewoon de pear:htmlMime class gebruiken.

-r-
Chandlerdinsdag 31 mei 2005 @ 11:33
Hoe het volgende, ik heb een tabel met maat1, maat2, maat3 en wil alleen de maten iitlezen als ik de namen heb gevonden.

$list = mysql_fetch_object($query);

$maat = $list->maat$key (dit werkt niet, hoe kan ik dit oplossen?) zodat ik niet alles vast hoef te coden?
GSMboydinsdag 31 mei 2005 @ 11:37
Voor een forum wat ik ga bouwen ga ik statussen maken: Sticky, Pinned, Open, Closed
maar hoe kan ik met MySQL de volgorde bepalen van die topicsoorten in de querie?
SuperRembodinsdag 31 mei 2005 @ 11:41
@Chandler:
Gewoon mysql_fetch_assoc() en dan $list["maat$key"].

Of je tabellen aanpassen, want zoals je 't nu doet hoort natuurlijk niet
Chandlerdinsdag 31 mei 2005 @ 12:21
Haha SuperRembo, je hebt gelijk maar raar dat dat dan niet wil met object ofzo...
SuperRembodinsdag 31 mei 2005 @ 12:44
1echo $obj->{"prop$i"};


of

1
2
$p = "prop$i";
echo $obj->$p;
#ANONIEMdinsdag 31 mei 2005 @ 16:04
even een vraag, ik probeer in Midgard CMS een attachment bij een artikel te laten zien en gebruik hiervoor deze code:

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
<?php
php
$debug
=1;
    
    
$topic_arr = explode("/", $url);
    
$topic_max = count($topic_arr);
    
$topic_arr = array_reverse($topic_arr);

$gallery_folder = 'hoofdplaatjes_nieuwe_layout';
$sitegroup = $root_topic-&gt;getsitegroup();

$guid = $sitegroup-&gt;guid();
$gallery=mgd_get_snippetdir_by_path("/GLOBALS/".$guid."/GALLERY/".$gallery_folder);
$my_list = $gallery-&gt;listattachments();

if (
$my_list)
{

    if(
$debug)
    {
          echo
"Number of images: ".$my_list-&gt;N."<BR>";
          echo
"Number of keys in array: ".$topic_max."<BR><BR>";
    }
    
    for(
$i=0;$i&lt;=$topic_max;$i++){

    
$topicname = "strtolower($topic_arr[$i])";
    
    if(
$debug){
        echo
"Topic: ".$topicname."<BR>";
    }
        
    while(
$my_list-&gt;fetch())
        {
        if(
strtolower($my_list-&gt;name) == strtolower($topicname) || substr(strtolower($my_list-&gt;name),0,-4) == strtolower($topicname))
        {
           if(
$debug)
           {
              echo
"Imagename: ".$my_list-&gt;name."<BR>";
              echo
"Imageid: ".$my_list-&gt;id."<BR>";
           }
           else
           {
              
$gallery-&gt;serveattachment($my_list-&gt;name);
              exit();
           }
        }
     }
    }
    
$gallery-&gt;serveattachment('space');
}
?>


Het is een hele lap, maar het gaat om de if onderaan, deze voert hij niet uit, terwijl ik alle mogelijke variabelen al heb uitgeschreven zonder dat ik daarin een fout of verschil zie. Iemand die nog iets weet? ik ben een beetje ten einde raad :S

[ Bericht 57% gewijzigd door #ANONIEM op 31-05-2005 16:05:44 ]
JeRadinsdag 31 mei 2005 @ 18:30
@Scorpie

Voer deze code eens uit, vlak vóór je if:

Zodat je kunt zien welke variabelen er op dat moment gedeclareerd zijn. Controleer of dat allemaal klopt.

Verder is je code nogal triviaal, hoe kunnen wij nu weten of die conditie voldoet als we niet weten wat listattachments() retourneert of wat $topicname inhoudt?

edit: klopt deze regel?
1
2
3
<?php
$topicname
= "strtolower($topic_arr[$i])";
?>

Het lijkt mij dat die quotes weg moeten. Dan hoef je strtolower($topicname) ook niet meer uit te voeren in die if-conditie. Het is nu dus fout omdat functies in een string niet worden uitgevoerd, en omdat arrays in een string ($topic_arr[$i]) niet goed worden geparsed.
LeeHarveyOswalddinsdag 31 mei 2005 @ 21:06
ff een klein html vraagje tussen door met <div> zonder hoogte wordt het kader even hoog als nodig is, maar kwa breedte doettie dat niet... hoe kan ik dat toch voor elkaar krijgen?
JeRadinsdag 31 mei 2005 @ 21:13
Met de display property kun je dat soort zaken veranderen:
1<div style="display: inline">blaat</div>
SuperRembodinsdag 31 mei 2005 @ 21:14
quote:
Op dinsdag 31 mei 2005 21:06 schreef LeeHarveyOswald het volgende:
ff een klein html vraagje tussen door met <div> zonder hoogte wordt het kader even hoog als nodig is, maar kwa breedte doettie dat niet... hoe kan ik dat toch voor elkaar krijgen?
Dat is meer een vraag voor [CSS] voor dummietjes {deel2} Een oplossing weet is zou gauw niet. Misschien kan je daar wat uitgebreider uitleggen wat je wil bereiken.
LeeHarveyOswalddinsdag 31 mei 2005 @ 21:18
quote:
Op dinsdag 31 mei 2005 21:14 schreef SuperRembo het volgende:

[..]

Dat is meer een vraag voor [CSS] voor dummietjes {deel2} Een oplossing weet is zou gauw niet. Misschien kan je daar wat uitgebreider uitleggen wat je wil bereiken.
Een mooi kader om een afbeelding dat valt toch niet onder CSS?

[ Bericht 10% gewijzigd door LeeHarveyOswald op 31-05-2005 22:03:58 ]
LeeHarveyOswalddinsdag 31 mei 2005 @ 22:04
Hoe krijg ik eigenlijk de laatste 3 items uit de database? Deze velden hebben een ID veld met autonummering..
LeeHarveyOswalddinsdag 31 mei 2005 @ 22:16
edit: hier ben ik al uit, ik krijg het alleen niet voor elkaar de laatste paar items er uit te pikken..

[ Bericht 93% gewijzigd door LeeHarveyOswald op 31-05-2005 22:47:14 ]
Roonaandinsdag 31 mei 2005 @ 22:46
quote:
Op dinsdag 31 mei 2005 22:16 schreef LeeHarveyOswald het volgende:
En hoe kan ik het resultaat van een count laten zien?
[ code verwijderd ]

werkt niet ..
SELECT COUNT(DISTINCT message) as messagecount FROM .....

$row['messagecount'];

-r-
SuperRembodinsdag 31 mei 2005 @ 22:46
quote:
Op dinsdag 31 mei 2005 22:46 schreef Roönaän het volgende:

[..]

SELECT COUNT(DISTINCT message) as messagecount FROM .....

$row['messagecount'];

-r-
Er ontbreekt ook nog iets als mysql_fetch_assoc().
LeeHarveyOswalddinsdag 31 mei 2005 @ 22:47
1
2
3
4
5
<?php
$result
= mysql_query ("SELECT COUNT(message) FROM message");
$aantal = mysql_result($result,0);
echo
"<p>Aantal Pestforum Profiel berichten:  ".$aantal."</p>";
?>
LeeHarveyOswalddinsdag 31 mei 2005 @ 23:15
hmm met SELECT message, user, placeuser FROM message WHERE ID = (SELECT COUNT(message) FROM message)

kwam ik een heel end, was het niet dat de laatste ID niet gelijk staat aan het aantal berichten (verwijderde berichten, en ID telt door), en het "uitlezen" in php wilde nog niet lukken
TimberWolfdinsdag 31 mei 2005 @ 23:33
quote:
Op dinsdag 31 mei 2005 22:04 schreef LeeHarveyOswald het volgende:
Hoe krijg ik eigenlijk de laatste 3 items uit de database? Deze velden hebben een ID veld met autonummering..
SELECT velden FROM database ORDER BY autonummerveld DESC LIMIT 3

Bijvoorbeeld?
LeeHarveyOswaldwoensdag 1 juni 2005 @ 00:39
quote:
Op dinsdag 31 mei 2005 23:33 schreef TimberWolf het volgende:

[..]

SELECT velden FROM database ORDER BY autonummerveld DESC LIMIT 3

Bijvoorbeeld?
Dat lijkt idd heel erg op de manier zoals ik het nu (met een beetje hulp ) werkend heb gekregen

thnx
Roonaanwoensdag 1 juni 2005 @ 06:20
quote:
Op dinsdag 31 mei 2005 22:46 schreef SuperRembo het volgende:

[..]

Er ontbreekt ook nog iets als mysql_fetch_assoc().
oplepelen doen ze in de creche.
JeRawoensdag 1 juni 2005 @ 10:25
quote:
Op woensdag 1 juni 2005 06:20 schreef Roönaän het volgende:

[..]

oplepelen doen ze in de creche.
En goede voorbeelden geven doen we hier.
TheSeeker_NLwoensdag 1 juni 2005 @ 13:16
Hoi!

Ik wil voor een website een Login maken met daar achter een intern gedeelte.
In het boek wat ik gebruik staat er alleen niks over in, en das natuurlijk klote. Ik heb geprobeerd wat te zoeken op het internet maar daar kom ik niet verder mee. Aangezien ik denk dat het vrij makkelijk is vraag ik het hier even!

wat heb ik tot nu toe?

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
<body>
<h1>Inloggen</h1>
<?php
if(isset($verzenden)==0){
?>
<form name="login" action="login.php" method="get">
  <br>
  <table width="53%" border="0" cellspacing="0">
    <tr>
      <td width="42%"><p>Voer uw gebruikersnaam in:</p> </td>
      <td width="58%"><input type=text name=gebruikersnaam></td>
    </tr>
    <tr>
      <td><p>Voer uw password in:</p> </td>
      <td><input type=password name=password></td>
    </tr>
  </table>
  <input type=submit value=Login name=verzenden>
 
  
</form>
<?php
} else {
echo "   <br><b><p>   Hartelijk welkom, $gebruikersnaam.               </p></b></br>
       <br><p>      U wordt nu doorgestuurd naar het interne gedeelte.   </p></br>";
}
?>
 
</body>
</html>


wat moet er nog komen? stukje php dat de inlog gegevens checked met de gegevens in de database, en als het klopt verder gaat naar intern.htm, als het fout is gewoon een melding geeft dat het onjuist is!

please help me even met deze situatie
tnx

Seekertje
DionysuZwoensdag 1 juni 2005 @ 13:18
ten eerste zou ik het formulier versturen met de POST methode, niet met de GET methode aangezien dan ook je paswoord in het Adres veld komt te staan.

voor de rest heb ik nu ff geen tijd
TheSeeker_NLwoensdag 1 juni 2005 @ 13:31
hehe het is een begin
mscholwoensdag 1 juni 2005 @ 13:54
login.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
<?php
if(isset($verzenden))
{
$conn = mysql_conn()
$DB = mysql_select_db()

$SQL = mysql_query("SELECT * from `users` WHERE gebruikersnaam = '".$_POST['gebruikersnaam']."' AND wachtwoord = '".$_POST['password']."'")

$rows = mysql_num_rows($SQL);
if(
$rows == 1)
{
echo(
"<META HTTP-EQUIV=Refresh CONTENT='2; URL=intern.htm'>"
echo("ingelogd, een moment");
}
else
{
echo(
"gebruikersnaam/wachtwoord combinatie bestaat niet");
}
}
else
{
echo(
"hacked");
}
?>


niet af en niet echt netjes maar een ideetje ????
Darkomenwoensdag 1 juni 2005 @ 14:18
lees deze tout eens http://phpfreakz.nl/artikelen.php?aid=98
LeeHarveyOswaldwoensdag 1 juni 2005 @ 14:42
http://www.phphulp.nl/php/tutorials/8/155/

Die heb ik als basis gebruikt voor www.pestforum.nl/profiel
H4zedonderdag 2 juni 2005 @ 03:08
Oke, ik zit nogsteeds diep in de php leerfase. Omdat ik wat wil oefenen met de kennis die ik heb, bedenk ik voor mezelf wat opdrachtjes. Ben nu bezig om een "raad het getal" spelletje te maken ( ) alleen is er iets waar ik niet helemaal uit kom:

Ik heb twee pagina's:
- een html pagina waar de gebruiker een getal kan invoeren
- een php pagina waar de boel wordt verwerkt

In de php pagina wordt een random getal aangemaakt tussen de 0 en 30. Deze wordt vervolgens vergeleken met het door de gebruiker ingevoerde getal. Dan zijn er 3 mogelijkheden.

1
2
3
4
5
6
7
8
9
10
11
if($usergetal<$randomgetal) {
  header("refresh:3;url=".$site."");
  echo "Het door jou ingevoerde getal is te klein..probeer het opnieuw!";
}
if($usergetal>$randomgetal) {
  header("refresh:3;url=".$site."");
  echo "Het door jou ingevoerde getal is te groot..probeer het opnieuw!";
}
if($usergetal==$randomgetal) {
  echo "Gefeliciteerd! Je wint!";
}

Dit werkt opzich allemaal wel gewoon. Die redirections terug naar de html pagina ook . Alleen ontstaat er dan een probleem. Als de gebruiker een volgende poging waagt, dan wordt de gehele php pagina weer opnieuw uitgevoerd en wordt er ook weer een nieuw random getal gegenereerd...en dat is natuurlijk niet de bedoeling.

Nu heb ik al wat zitten spelen met sessies, maar dat gaf natuurlijk gewoon hetzelfde probleem. Ik heb er wel een oplossing voor, maar dan moet ik nog wat pagina's erbij gaan maken. En ik wil het gewoon graag bij deze twee pagina's houden. Is er geen manier om de code die het random getal genereert maar 1 keer uit te laten voeren oid? Ik heb 't idee dat de oplossing aardig simpel is, maar het is natuurlijk ook al laat (zie tijd waarop dit bericht is gepost ).

Dus....wat hints gevraagd! Thnx alvast!
SuperRembodonderdag 2 juni 2005 @ 07:30
Waarom doe je dit met een html en een php file? Ik zou het gewoon allemaal in 1 php file afhandelen, dan heb je geen gedoe met redirects.

Het getal dat geraden moet worden kan je inderdaad het beste in een sessie opslaan. Een simpel voorbeeldje hoe je met een sessie werkt:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

session_start();

if (isset($_SESSION['count'])) {
   $_SESSION['count']++;
} else {
   $_SESSION['count'] = 1;
}

echo 'Counter: '. $_SESSION['count'];

?>
H4zedonderdag 2 juni 2005 @ 16:11
dankje! Het werkt nu.

Checken of een sessie al bestaat met "isset" had ik nog niet aan gedacht. Eerlijk gezegd had ik "isset" nog nooit gebruikt.

Als eerste stuk code heb ik nu gewoon dit:
1
2
3
4
5
6
7
session_start();
if (isset($_SESSION['randomgetal'])) {
  $_SESSION['randomgetal']=$_SESSION['randomgetal'];
}
else {
  $_SESSION['randomgetal']=rand(0,30);
}

Dit werkt dus prima. Nu ga ik nog ff een tellertje erbij maken wat checkt hoevaak je erover gedaan hebt om het getal te raden, en idd fftjes alles op 1 php pagina....
LeeHarveyOswalddonderdag 2 juni 2005 @ 16:18
Hmm er gaat iets niet helemaal goed...

Ik wil een quote optie maken, als iemand dan naar Quote.php?id=[nummer] verwijst, dan moet je een nieuw venster krijgen mét daarin het te quote bericht...

Nu heb ik onderstaande code gebruikt (wel meerdere keren al dingen aan veranderd om wat te proberen, maar lukte niet echt).

Die title heb ik gedaan om te kijken of "get" wel werkt, en dat werkt ook... Maar voor de rest gebeurt er niet veel..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
include("connection.php");
$ID = $_GET['ID'];
echo"<head><title>'".$ID."'</title></head>";
$sql = "SELECT * FROM message WHERE ID = '".$_GET['ID']."';";
$query = mysql_query($sql) or die(mysql_error());
$result = mysql_fetch_array($query);
$QID = $result['ID'];
$QUser = $result['user'];
$QPlaceuser = $result['placeuser'];
$QDatum = $result['postdate'];
$QTijd = $result['posttime'];
$QMessage = $result['message'];

?>
ikke_ookdonderdag 2 juni 2005 @ 16:29
quote:
Op donderdag 2 juni 2005 16:11 schreef H4ze het volgende:
dankje! Het werkt nu.

Checken of een sessie al bestaat met "isset" had ik nog niet aan gedacht. Eerlijk gezegd had ik "isset" nog nooit gebruikt.

Als eerste stuk code heb ik nu gewoon dit:
[ code verwijderd ]

Dit werkt dus prima. Nu ga ik nog ff een tellertje erbij maken wat checkt hoevaak je erover gedaan hebt om het getal te raden, en idd fftjes alles op 1 php pagina....
1
2
3
4
5
6
7
8
session_start();
if (isset($_SESSION['randomgetal'])) {
  $_SESSION['aantalkeergeraden']++;
}
else {
  $_SESSION['randomgetal']=rand(0,30);
  $_SESSION['aantalkeergeraden'] = 1;
}


Zo, met tellertje in hoeveel keer iemand het heeft geraden
ikke_ookdonderdag 2 juni 2005 @ 16:32
quote:
Op donderdag 2 juni 2005 16:18 schreef LeeHarveyOswald het volgende:
Hmm er gaat iets niet helemaal goed...

Ik wil een quote optie maken, als iemand dan naar Quote.php?id=[nummer] verwijst, dan moet je een nieuw venster krijgen mét daarin het te quote bericht...

Nu heb ik onderstaande code gebruikt (wel meerdere keren al dingen aan veranderd om wat te proberen, maar lukte niet echt).

Die title heb ik gedaan om te kijken of "get" wel werkt, en dat werkt ook... Maar voor de rest gebeurt er niet veel..
[ code verwijderd ]
Wat doet die puntkomma achterin je query? Die hoeft er niet te staan hoor. En een numeriek ID hoor je eigenlijk niet tussen quotes te zetten, dus dan wordt t :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
include("connection.php");
$ID = $_GET['ID'];
echo"<head><title>'".$ID."'</title></head>";
$sql = "SELECT * FROM message WHERE ID = ".$_GET['ID'];
$query = mysql_query($sql) or die(mysql_error());
$result = mysql_fetch_array($query);
$QID = $result['ID'];
$QUser = $result['user'];
$QPlaceuser = $result['placeuser'];
$QDatum = $result['postdate'];
$QTijd = $result['posttime'];
$QMessage = $result['message'];

?>
LeeHarveyOswalddonderdag 2 juni 2005 @ 16:36
Krijg nog steeds niks in mn variabele...
ikke_ookdonderdag 2 juni 2005 @ 16:38
voeg s een echo $sql toe om te kijken of je query eruit ziet zoals je wil. Bestaat het ID wel waar je op zoekt? Krijg je een error of helemaal niks te zien?
LeeHarveyOswalddonderdag 2 juni 2005 @ 16:41
quote:
Op donderdag 2 juni 2005 16:38 schreef ikke_ook het volgende:
voeg s een echo $sql toe om te kijken of je query eruit ziet zoals je wil. Bestaat het ID wel waar je op zoekt? Krijg je een error of helemaal niks te zien?
Jup het id nummer bestaat..

Ik had die title een stuk omlaag geplaatst, en dan ID verandert in Quser.. maar titel balk bleef op de overtollige ' 'na leeg..
LeeHarveyOswalddonderdag 2 juni 2005 @ 16:43
echo sql geeft: SELECT * FROM message WHERE ID = 66

en als ik dat in mn PHP My Admin intik krijg ik netjes één veld...
LeeHarveyOswalddonderdag 2 juni 2005 @ 16:45
echo result geeft alleen het woord Array terug, dus geen gegevens...
LeeHarveyOswalddonderdag 2 juni 2005 @ 16:46
Voorbeeld: http://www.pestforum.nl/profiel/quote.php?ID=66

http://forum.fok.nl/topic/709374

[ Bericht 29% gewijzigd door LeeHarveyOswald op 02-06-2005 16:53:40 ]