abonnement Unibet Coolblue Bitvavo
pi_74607048
Ach er zijn zoveel dingen die ik niet begrijp van php ongeacht of ik uren besteed aan het lezen over dit soort zaken. Een nederlands boek leest gewoon veel makkelijker.

We beginnen gewoon keer op keer opnieuw! Ooit zal ik het leren, i'm not giving up!!!!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_74671753
Meeste leer je toch door maar gewoon te beginnen, en de boel lekker te verneuken.
En vervolgens uit te zoeken wat er mis ging.
pi_74673095
Goedenavond heren PHP'ers,

ik zoek voor mijn website een simpel (PHP?)-script. Ik wil graag een nieuwspagina toevoegen. Deze behoort heel simpel te zijn, ik heb zulkiets in gedachten:



Waar vind ik zulkiets ? De categorie hoeft er in principe niet eens in.
  vrijdag 13 november 2009 @ 18:25:47 #155
37634 wobbel
Da WoBBeL King
pi_74673128


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

    if ( 
$veelstukaanauto == "ja" )
    {
    
        return 
"rekening is 700 euro";
        
    }
    else
    {
    
        return 
"Rekening is niet duur";
        
// die smilie kwam door de BB parser van Fok <img class="rde_img_smiley" src="http://i.fok.nl/s/puh2.gif" width="15" height="15" alt="" />
        
    
}

}

echo 
kostenapk "ja" );
?>


@hierboven

http://www.phphulp.nl/php/scripts/3/328/

[ Bericht 7% gewijzigd door wobbel op 13-11-2009 20:01:36 ]
  vrijdag 13 november 2009 @ 18:32:07 #156
75592 GlowMouse
l'état, c'est moi
pi_74673303
quote:
Op vrijdag 13 november 2009 18:25 schreef wobbel het volgende:

[ code verwijderd ]

@hierboven

http://www.phphulp.nl/php/scripts/3/328/
regel 15: hoe weet php dat de string niet afgelopen is bij ss="
en die smileys mag je volgens mij niet zomaar gebruiken, auteursrecht enzo
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  vrijdag 13 november 2009 @ 18:44:11 #157
152303 hamkaastosti
ook bekend als hamkaastosti
pi_74673665
quote:
Op vrijdag 13 november 2009 18:25 schreef wobbel het volgende:

[ code verwijderd ]

@hierboven

http://www.phphulp.nl/php/scripts/3/328/


doe jezelf een lol en download voordat je ook maar iets aan php schrijft een beetje goede IDE.

netbeans is bijvoorbeeld gratis en werkt prima met php
bovendien wil je denk ik checken of $veelstukaanauto ja of iets anders is en dan moet je niet toewijzen (=) maar vergelijken (==)

http://nl2.php.net/manual/en/language.operators.comparison.php

[ Bericht 16% gewijzigd door hamkaastosti op 13-11-2009 19:17:36 ]
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_74673840
Bedankt voor de link wobbel, maar ik vind het eerlijk gezegd een beetje een wirwar van stukken php. Is er niet een wat simpelere oplossing die ik meteen kan uploaden naar mijn server? De HTML aanpassen moet geen probleem zijn.
pi_74689986
quote:
Op vrijdag 13 november 2009 18:44 schreef hamkaastosti het volgende:

[..]

[ afbeelding ]

doe jezelf een lol en download voordat je ook maar iets aan php schrijft een beetje goede IDE.

netbeans is bijvoorbeeld gratis en werkt prima met php
bovendien wil je denk ik checken of $veelstukaanauto ja of iets anders is en dan moet je niet toewijzen (=) maar vergelijken (==)

http://nl2.php.net/manual/en/language.operators.comparison.php
Dat dus. Ik gebruik sinds een tijd Eclipse voor PHP, en ga binnenkort eens de PHP IDE voor Visual Studio testen (ik werk ook veel met .NET en Visual Studio, dus zou ideaal voor mij zijn). Ik heb jarenlang stug bij Notepad ( ++ ) afgezworen, maar een PHP die je al netjes aangeeft waar je syntaxfouten hebt; ik kan niet meer zonder.

Tevens TVP.
  zaterdag 14 november 2009 @ 11:29:39 #160
152303 hamkaastosti
ook bekend als hamkaastosti
pi_74690088
wat is hierbij de beste aanpak? ik ben bezig met een mvc systeem en als eerste test schrijf ik een nieuwsmodule.
ik heb al een eerste opzet van een controller en een model geschreven maar ik vraag me af wat de netste manier is om met elk nieuwsitem en elke reactie daarop om te gaan.
maak ik een nieuwsitem.class.php en een newsreaction.class.php en doe ik voor elk item bijvoorbeeld:

1
2
3
4
5
6
7
<?php
while ($iknogitemsheb)
{
           
$currentitem = new newsitem('id''author''undsoweiter');
           
array_push($newsitems$currentitem);
}
?>

zodat ik in mijn view simpelweg:
1
2
3
4
5
6
<?php
<h2>Laatste 5 nieuwsitems</h2>
 foreach(
$newsitems as $item): 
 echo 
$item->author
 endforeach; 
?>


of dump ik in mijn model gewoon alles in een array en stuur ik die array via mijn controller door naar de view om daar dan gewoon
1
2
3
<?php
$item
['author']
?>


halp?
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_74691017
dat laatste.
  zaterdag 14 november 2009 @ 12:12:33 #162
107951 JortK
Immer kwaliteitsposts
pi_74691087
Ik heb inmiddels PHPNS geinstalleerd. Een prima programma, waarbij de template makkelijk aan te passen is.

http://phpns.alecwh.com/
  zaterdag 14 november 2009 @ 12:36:49 #164
107951 JortK
Immer kwaliteitsposts
pi_74691775
Kleine vraag:

Stel ik heb een link:http://www.domain.com/ref/113 welke doorverwijst naar http://www.google.com/.

Kan ik er met PHP achterkomen dat de betreffende URL naar http://www.google.com gaat?
  zaterdag 14 november 2009 @ 12:41:15 #165
75592 GlowMouse
l'état, c'est moi
pi_74691905
quote:
Op zaterdag 14 november 2009 12:36 schreef JortK het volgende:
Kleine vraag:

Stel ik heb een link:http://www.domain.com/ref/113 welke doorverwijst naar http://www.google.com/.

Kan ik er met PHP achterkomen dat de betreffende URL naar http://www.google.com gaat?
Ja, dan moet je de http headers uitlezen. Zie example 1 op http://php.net/manual/en/function.fsockopen.php
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zaterdag 14 november 2009 @ 12:54:32 #166
107951 JortK
Immer kwaliteitsposts
pi_74718027
even een SQL vraag je die ik binnen kort kreeg, namelijk hoe kan je in één query het volgende uitvoeren:

In de tabel boeken
alle boeken die in de catogorie nederlands vallen
de prijs verhogen met 19%
en alle boeken die niet in de catogorie nederlands vallen
de prijs verhogen met 6%
pi_74821644
Op deze pagina staat een registratieformulier:

http://www.bonnydoggy.ru/component/user/register

Maar als je op "Registreer" (зарегистрируйтесь) drukt, gebeurt er helemaal niets, en daar snap ik nix van! Ik heb zelfs een onclick erin gezet, die niet reageert op het moment dat ik op de knop druk. Zelfs geen foutmeldingen in de Foutconsole van Firefox... Wat kan hier aan de hand zijn?
Trotse poster van het 37000000ste bericht ^O^
pi_74821801
quote:
Op woensdag 18 november 2009 16:52 schreef daReaper het volgende:
Op deze pagina staat een registratieformulier:

http://www.bonnydoggy.ru/component/user/register

Maar als je op "Registreer" (зарегистрируйтесь) drukt, gebeurt er helemaal niets, en daar snap ik nix van! Ik heb zelfs een onclick erin gezet, die niet reageert op het moment dat ik op de knop druk. Zelfs geen foutmeldingen in de Foutconsole van Firefox... Wat kan hier aan de hand zijn?
de vraag is eigenlijk wat doet hij hier?

<form action="/component/user/" method="post" name="login" id="form-login" >

wat voor PHP zit erachter ?
Redacted
  woensdag 18 november 2009 @ 19:07:16 #171
75592 GlowMouse
l'état, c'est moi
pi_74826347
quote:
Op zondag 15 november 2009 16:28 schreef DirkZz het volgende:
even een SQL vraag je die ik binnen kort kreeg, namelijk hoe kan je in één query het volgende uitvoeren:

In de tabel boeken
alle boeken die in de catogorie nederlands vallen
de prijs verhogen met 19%
en alle boeken die niet in de catogorie nederlands vallen
de prijs verhogen met 6%
Een update met IF erin.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_74830162
Was blijkbaar dus een fout in de overhoring..
  woensdag 18 november 2009 @ 20:42:03 #173
75592 GlowMouse
l'état, c'est moi
pi_74830212
quote:
Op woensdag 18 november 2009 20:41 schreef DirkZz het volgende:
Was blijkbaar dus een fout in de overhoring..
waarom?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_74830633
Hebben we niet te horen gekregen
De vraag was gewoon vervallen.

Niet te doen in Oracle ofzo?
Ik wist hem tijdens de overhoring ook niet, dus dacht maar effe checken hier, was wel benieuwd.
  vrijdag 20 november 2009 @ 12:43:30 #175
152303 hamkaastosti
ook bekend als hamkaastosti
pi_74882253
ik ben nog steeds bezig met m'n MVC systeempje en nu vroeg ik me af of ik sommige dingen compleet verkeerd aanpak dus hieronder wat code van een controller en een model.

mijn newscontroller: http://pastebin.com/d7cfa2981

mijn newsmodel: http://pastebin.com/m47be5495

Welke ervaren php'er kan me wat goede tips geven?
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_74883148
quote:
Op vrijdag 20 november 2009 12:43 schreef hamkaastosti het volgende:
ik ben nog steeds bezig met m'n MVC systeempje en nu vroeg ik me af of ik sommige dingen compleet verkeerd aanpak dus hieronder wat code van een controller en een model.

mijn newscontroller: http://pastebin.com/d7cfa2981

mijn newsmodel: http://pastebin.com/m47be5495

Welke ervaren php'er kan me wat goede tips geven?
Waarom de volgende dingen?
1
2
3
4
5
6
7
8
<?php
$this
->view->addContent($this->controller__FUNCTION__);

final class 
newscontroller extends basecontroller
{
    private 
$controller 'news';
}
?>


Waarom kun je dit niet opslaan in een frontcontroller. Ik neem aan dat hij dynamisch wordt aangeroepen dus deze info is allemaal al bekend.

Als je het helemaal goed wilt doen mag een functie maar 1 type terug geven. Of een boolean of een nieuwsitem. Dus dan moet je eerst checken of het nieuws bericht bestaat en dan ophalen. Voor de zekerheid kun je dan als nog een exceptie laten gooien wanneer nieuwsitem om een of andere reden toch niet bestaat.
  vrijdag 20 november 2009 @ 13:15:12 #177
152303 hamkaastosti
ook bekend als hamkaastosti
pi_74883339
$this->view->addContent haalt de view op uit modules/controllernaam/methodnaam.tpl.php en voegt dit toe op de juiste locatie in layout.tpl.php. zo voegt $this->view->addUserError('newsitem_not_found'); bijvoorbeeld de geselecteerde foutmelding toe aan de layout.

Ik wil geen exceptions gaan gebruiken voor bijvoorbeeld niet gevonden newsitems. Het niet vinden van een item in de database is in mijn ogen geen uitzondering maar iets dat te verwachten is.

de return van model kan inderdaad misschien wat netter maar hoe los ik dat netjes op.
1
2
3
4
<?php
$this
->newsitems = array();
$this->singleitem = array();
?>

en dan met getSingleItem alleen true of false returnen daarop checken en dan $model->singleitem assignen aan de view?
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_74883428
quote:
Op vrijdag 20 november 2009 13:15 schreef hamkaastosti het volgende:
$this->view->addContent haalt de view op uit modules/controllernaam/methodnaam.tpl.php en voegt dit toe op de juiste locatie in layout.tpl.php. zo voegt $this->view->addUserError('newsitem_not_found'); bijvoorbeeld de geselecteerde foutmelding toe aan de layout.
dus die addContent methode kan 1 niveau hoger worden geplaatst, eigenlijk na de call van de controller functie
pi_74885491
Los van je vraag vind ik 'AddContent' een wat verwarrende naam voor iets wat content ophaalt
  vrijdag 20 november 2009 @ 17:21:17 #180
152303 hamkaastosti
ook bekend als hamkaastosti
pi_74890848
quote:
Op vrijdag 20 november 2009 14:23 schreef Xcalibur het volgende:
Los van je vraag vind ik 'AddContent' een wat verwarrende naam voor iets wat content ophaalt
hij haalt het op en voegt het vervolgens toe aan de algehele layout
ik ben niet zo goed met naamgevingen
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_74896355
quote:
Op vrijdag 20 november 2009 17:21 schreef hamkaastosti het volgende:

[..]

hij haalt het op en voegt het vervolgens toe aan de algehele layout
ik ben niet zo goed met naamgevingen
wat dacht je van getContent? doet precies wat hij zegt haalt content op
Redacted
  vrijdag 20 november 2009 @ 20:29:14 #182
136730 PiRANiA
All thinking men are atheists.
  vrijdag 20 november 2009 @ 20:32:50 #183
136730 PiRANiA
All thinking men are atheists.
pi_74896600
Er is geen regex-topic, maar ik denk dat de PHP bazen hier mij wel kunnen helpen:

Ik wil een stuk tekst matchen tót een bepaald punt:
quote:
bla<br>bla<div></td>blabla
Ik wil dis het deel tot de EERSTE </td> hebben. Ik heb dit al geprobeerd maar dat werkt uiteraard niet:
1(.*)</td>

dan zoekt hij namelijk niet de eerste </td>, maar de laatste </td>

Anyone? :D
  vrijdag 20 november 2009 @ 20:34:07 #184
152303 hamkaastosti
ook bekend als hamkaastosti
pi_74896652
dat kan ook nog ja :P

ik ben trouwens weer verder aan het klussen met het reageren op een item maar ik schrijf op dit moment 3x de code om te checken of het item bestaat of niet

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
<?php
public function react()
    {
        
//form is submitted
        
if(strtoupper($_SERVER['REQUEST_METHOD']) == "POST" && !empty($_POST['submit']))
        {
            
$validator = new validator();
            
$validator->validateField('name'345'/^[aA-zZ0-9]+$/'true);
            
$validator->validateMail('email'true);
            
//form is valid
            
if($validator->isValid())
            {
                echo 
'valide';
                
// hier moet ik dan ook nog een keer checken of nieuwsitem wel bestaat.
                // kan ik ook in het model doen maar wat is beter?
            
}
            
//form not valid. display it again with errors
            
else
            {
                
//not existing item
                
$newsitem $this->model->getSingleItem($this->path->getPiece(3));
                if(
$newsitem == false)
                {
                    
$this->view->addUserError('newsitem_not_found');
                }
                
//it exists.
                
else
                {
                    
$this->view->newsitem $newsitem;
                    
$this->view->errors $validator->getErrors();
                    
$this->view->postvars $validator->getPostVars();
                    
$this->view->addContent($this->controller__FUNCTION__);
                }
            }
        }
        
//show the reactionform
        
else
        {
            
$newsitem $this->model->getSingleItem($this->path->getPiece(3));
            
//not existing item
            
if($newsitem == false)
            {
                
$this->view->addUserError('newsitem_not_found');
            }
            
//it exists.
            
else
            {
                
$this->view->newsitem $newsitem;
                
$this->view->addContent($this->controller__FUNCTION__);
            }
        }
    }
?>


de eerste keer tijdens het aanroepen van /news/react/1
de tweede keer na een submit om de form opnieuw weer te geven als een veld niet compleet is
de derde keer na een succesvolle submit om zeker te weten dat het een bestaand item is.

Die laatste keer zou ook in het model kunnen door het aanroepen van $this->getSingleItem($id) in function addReaction() maar dat moet toch simpeler kunnen.
Ik zou ook in het model bij de getSingleItem() functie de view kunnen aanroepen en een error weergeven maar in het MVC model zou alleen de controller dat moeten doen toch?


vragen, vragen, vragen :P
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
  vrijdag 20 november 2009 @ 20:38:24 #185
109485 Sirolf
001100110100011001001101
pi_74896814
quote:
Op vrijdag 20 november 2009 20:32 schreef PiRANiA het volgende:
Er is geen regex-topic, maar ik denk dat de PHP bazen hier mij wel kunnen helpen:

Ik wil een stuk tekst matchen tót een bepaald punt:
[..]

Ik wil dis het deel tot de EERSTE </td> hebben. Ik heb dit al geprobeerd maar dat werkt uiteraard niet:
[ code verwijderd ]

dan zoekt hij namelijk niet de eerste </td>, maar de laatste </td>

Anyone?
Als je een ? achter het sterretje plaatst zou het moeten werken. Da's het verschil tussen greedy en lazy binnen regular expressions.
  vrijdag 20 november 2009 @ 20:41:25 #186
136730 PiRANiA
All thinking men are atheists.
pi_74896924
quote:
Op vrijdag 20 november 2009 20:38 schreef Sirolf het volgende:

[..]

Als je een ? achter het sterretje plaatst zou het moeten werken. Da's het verschil tussen greedy en lazy binnen regular expressions.
Werkt
pi_74897667
quote:
Op vrijdag 20 november 2009 20:38 schreef Sirolf het volgende:

[..]

Als je een ? achter het sterretje plaatst zou het moeten werken. Da's het verschil tussen greedy en lazy binnen regular expressions.
True, standaard zijn dingen als * en + in regular expressions allemaal greedy. Met de /U modifier maak je ze allemaal ungreedy. En met een ? erachter draai je greedy en ungreedy om op die plek.
  zaterdag 21 november 2009 @ 00:10:45 #188
136730 PiRANiA
All thinking men are atheists.
pi_74902782
quote:
Op vrijdag 20 november 2009 21:43 schreef Light het volgende:

[..]

True, standaard zijn dingen als * en + in regular expressions allemaal greedy. Met de /U modifier maak je ze allemaal ungreedy. En met een ? erachter draai je greedy en ungreedy om op die plek.
Ik moet er eens een fatsoenlijk boek over lezen
Ik gebruik het best veel, maar moet steeds door forums achter dit soort dingetjes komen
pi_74903459
quote:
Op zaterdag 21 november 2009 00:10 schreef PiRANiA het volgende:

[..]

Ik moet er eens een fatsoenlijk boek over lezen
Ik gebruik het best veel, maar moet steeds door forums achter dit soort dingetjes komen
Een boek lezen hoeft nog niet eens vind ik. Gewoon dit downloaden en naast je leggen, en een programma als Regex Coach gebruiken om te oefenen. Binnen een paar uurtjes heb je het al onder de knie als je er even voor gaat zitten.
pi_74910507
Ik zit met een vraag mbt getInstance() eerst zal ik even een stukje code plakken

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
<?php
class db
{
    private static 
$instance;
    private static 
$db;
    
    public function 
getInstance()
    {
        if (
is_null(self::$instance))
        {
            
self::$instance = new db;
        }
        
        return 
self::$instance;
    }
    
    public function 
__construct()
    {
       
mysql_connect('host'etc);
    }

    public function 
query($sql)
    {
    }
}

class 
user
{
    private static 
$db;
   
    public function 
__construct()
    {
        
$db db::getInstance();
    }

    public function 
login($u$p$t)
    {
        
$query self::$db->query("JE QUERY HIER");
    }
}

$u = new user;

print_r($u->login('username','password',true));
?>


nu krijg ik de volgende fout melding in mijn schets

1
2
3
Notice: Undefined variable: db in *\system\classes\class.user.php on line 29

Fatal error: Call to a member function query() on a non-object in *\system\classes\class.user.php on line 29


Waar ga ik de fout in? ik heb al een x aantal tutors gelezen over getInstance en dit lijkt de manier...

}

[ Bericht 0% gewijzigd door Chandler op 22-11-2009 16:05:36 (typo) ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_74911106
Je moet in de constructor van de class user wel $this->db gebruiken. En bij het inloggen weer. Met self:: verwijs je naar een statische variabele, en dat is $db niet.

Overigens gaat de database class zo ook niet werken, maar da's een (ander) probleem.
pi_74911436
Gatverdamme, kun je dan eens een voorbeeld schetsen die wel zou moeten werken? ik sla blijkbaar gewoon continu de plank mis
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 22 november 2009 @ 17:23:26 #193
37634 wobbel
Da WoBBeL King
pi_74911506
Is er al een gratis PHP File Manager voor CKeditor? Die van CKeditor is tegenwoordig betaald
pi_74911620
quote:
Op zondag 22 november 2009 17:21 schreef Chandler het volgende:
Gatverdamme, kun je dan eens een voorbeeld schetsen die wel zou moeten werken? ik sla blijkbaar gewoon continu de plank mis :'( :P
Je moet gewoon eerst eens een goed boek kopen. En wat meer lezen over OO.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
class user
{
    private 
$db;
   
    public function 
__construct()
    {
        
$this->db db::getInstance();
    }

    public function 
login($u$p$t)
    {
        
$query $this->db->query("JE QUERY HIER");
    }
}

$u = new user();
?>

Zo zou ik het doen. De verschillen met jouw code mag je zelf uitzoeken.
pi_74911819
Haal die $db variabel uit de class, dat is echt geheugen versmering eerste klas

Wanneer je de DB nodig hebt doe je even DB::functienaam(); en dan query uitvoeren en waarde returnen. Garbage cleaner zorgt er dan zelf weer voor dat DB uit geheugen gaat en niet in de klasse blijft zwerven/.
pi_74912007
quote:
Op zondag 22 november 2009 17:29 schreef Pakspul het volgende:
Haal die $db variabel uit de class, dat is echt geheugen versmering eerste klas

Wanneer je de DB nodig hebt doe je even DB::functienaam(); en dan query uitvoeren en waarde returnen. Garbage cleaner zorgt er dan zelf weer voor dat DB uit geheugen gaat en niet in de klasse blijft zwerven/.
Da's ook een optie. Hoeveel verschil er is in geheugengebruik, weet ik niet.
Ik zou class names ook met een hoofdletter laten beginnen, voor een stukje extra duidelijkheid.
  zondag 22 november 2009 @ 17:49:45 #197
37634 wobbel
Da WoBBeL King
pi_74912685
Ik gebruik inmiddels al 4 jaar een template parser en die is behoorlijk gedateerd heeft er hier iemand een goede template parser? En welke kan ik het beste gebruiken?
  zondag 22 november 2009 @ 18:53:15 #198
152303 hamkaastosti
ook bekend als hamkaastosti
pi_74914024
smarty is geloof ik de meest uitgebreide geloof ik. Zelf maak ik enkel nog gebruik van de beste template engine: php zelf
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
  zondag 22 november 2009 @ 19:07:22 #199
37634 wobbel
Da WoBBeL King
pi_74914468
quote:
Op zondag 22 november 2009 18:53 schreef hamkaastosti het volgende:
smarty is geloof ik de meest uitgebreide geloof ik. Zelf maak ik enkel nog gebruik van de beste template engine: php zelf
Smarty ben ik nu even mee aan het klooien en ziet er goed uit! Vele malen uitgebreider dan m'n huidige template parser
  zondag 22 november 2009 @ 19:10:00 #200
37634 wobbel
Da WoBBeL King
pi_74914557
Is er btw een soort tutorial die mij verteld hoe ik met meerdere categorieen kan werken?
Heb nu een tabel "category" en "subcategory" maar dan houdt het al snel op... (Categorienaam => Subcategorienaam)

Ik wil ook tot wel 7 niveaus verder gaan indien dat mogelijk is...(Kleding => Heren => T-shirts => Merk X => Lijn Y => etc)

Moet ik dan met "nested id's" ofzo iets doen? zoals ik dat ooit een keer gehoord heb ofzo
pi_74915606
quote:
Op zondag 22 november 2009 19:10 schreef wobbel het volgende:
Is er btw een soort tutorial die mij verteld hoe ik met meerdere categorieen kan werken?
Heb nu een tabel "category" en "subcategory" maar dan houdt het al snel op... (Categorienaam => Subcategorienaam)

Ik wil ook tot wel 7 niveaus verder gaan indien dat mogelijk is...(Kleding => Heren => T-shirts => Merk X => Lijn Y => etc)

Moet ik dan met "nested id's" ofzo iets doen? zoals ik dat ooit een keer gehoord heb ofzo
Je kunt eens zoeken naar btree of b-tree. Kun je ook nog dieper dan 7 niveau's
pi_74916199
quote:
Op zondag 22 november 2009 17:25 schreef Light het volgende:

[..]

Je moet gewoon eerst eens een goed boek kopen. En wat meer lezen over OO.
[ code verwijderd ]

Zo zou ik het doen. De verschillen met jouw code mag je zelf uitzoeken.
Noem me eens een goed boek! dan zal ik deze aanschaffen!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_74916271
oh en wat kun je tegen dit soort fouten doen?

imagecolorsforindex() [<a href='function.imagecolorsforindex'>function.imagecolorsforindex</a>]: Color index 251 out of range

heeft te maken dat een transparante kleur niet aanwezig is
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_74916857
quote:
Op zondag 22 november 2009 17:34 schreef Light het volgende:

[..]

Da's ook een optie. Hoeveel verschil er is in geheugengebruik, weet ik niet.
Ik ook niet, maar op deze manier is het niet goed in ieder geval.
quote:
Ik zou class names ook met een hoofdletter laten beginnen, voor een stukje extra duidelijkheid.
Upper camelcase, lower camelcase. Gewoon een kiezen en daar bij blijven
  zondag 22 november 2009 @ 20:15:30 #205
75592 GlowMouse
l'état, c'est moi
pi_74916911
quote:
Op zondag 22 november 2009 19:58 schreef Chandler het volgende:
oh en wat kun je tegen dit soort fouten doen?

imagecolorsforindex() [<a href='function.imagecolorsforindex'>function.imagecolorsforindex</a>]: Color index 251 out of range

heeft te maken dat een transparante kleur niet aanwezig is
waar komt 251 vandaan?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_74916912
quote:
Op zondag 22 november 2009 20:14 schreef Pakspul het volgende:

[..]

Ik ook niet, maar op deze manier is het niet goed in ieder geval.
[..]

Upper camelcase, lower camelcase. Gewoon een kiezen en daar bij blijven
Kun je dan eens een voorbeeld schetsen waarbij het geheugen niet veel overbodige data ontvangt?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_74916984
quote:
Op zondag 22 november 2009 20:15 schreef GlowMouse het volgende:

[..]

waar komt 251 vandaan?
1
2
3
$trnprt_indx = imagecolortransparent($im); // hier vandaan dus ;)

$trnprt_color    = @imagecolorsforindex($im,$trnprt_indx); // error lijn
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 22 november 2009 @ 20:20:25 #208
75592 GlowMouse
l'état, c'est moi
pi_74917132
grappig, het enig verschil met de voorbeelden op http://nl2.php.net/imagecolortransparent is dat jij de kleur door php laat bepalen
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_74917190
quote:
Op zondag 22 november 2009 20:15 schreef Chandler het volgende:

[..]

Kun je dan eens een voorbeeld schetsen waarbij het geheugen niet veel overbodige data ontvangt?
singleton is een goed begin, maar pleur deze dan niet in een variable van een klasse, gewoon in de functie gebruiken en daarna ruimte de garbage collector hem wel weer op. Mocht je een obsessie hebben kun je altijd nog volgende doen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
functie gewoonEenFunctie
()
{
    
$db Database::GetInstance();

    
$query "SELECT * FROM table WHERE x = y";

    
$result $db->ExecuteQuery($query);

    
// verder verwerking van gegevens hier
    
$db null;

    return 
"wat je ook maar hebt om terug te geven";
}
?>


Maar de garbage collector zal de ruimte die $db in nam zelf uit vrij maken na het eindigen van de functie.
  zondag 22 november 2009 @ 20:32:21 #210
37634 wobbel
Da WoBBeL King
pi_74917701
Misschien is er al een kant en klare oplossing ofzo te vinden op internet, dus vraag ik het hier ff...

Ik wil een CMS maken met google vriendelijke url. Het is me al gelukt om domein.tld/informatie en domein.tld/nieuws/1/rofl-pan-toffel.html enzo te fixen.

Alleen nu wil ik met nested pagina's gaan werken.

Dus dit:

http://domein.tld/informatie/
http://domein.tld/informatie/over-ons/
http://domein.tld/informatie/over-ons/kantoor/
http://domein.tld/informatie/over-ons/medewerkers/

http://domein.tld/producten/
http://domein.tld/producten/product-x/
http://domein.tld/producten/product-y/
http://domein.tld/producten/produxt-x/specificiaties/
http://domein.tld/producten/product-y/specificaties/


Alle script die ik tot nu toe heb gevonden moet je met de hand gaan doorverwijzen met .htacces. J moet dus voor informatie een regel aanmaken maar voor producten moet je ook weer een extra regel aanmaken.
Ik wil 1 php script die de hele boel afvangt en in een SQL tabel kijkt naar /informatie/over-ons/kantoor/ welke daar nested is opgeslagen.
pi_74917763
quote:
Op zondag 22 november 2009 20:20 schreef GlowMouse het volgende:
grappig, het enig verschil met de voorbeelden op http://nl2.php.net/imagecolortransparent is dat jij de kleur door php laat bepalen
Klopt toch?
quote:
The identifier of the new (or current, if none is specified) transparent color is returned.
waarmee aangegeven wordt als er een transparante kleur is ingesteld is, deze gereturned wordt, wat ik bij de 'nieuwe afbeelding' weer als transparante kleur aangeeft.
?
quote:
Op zondag 22 november 2009 20:21 schreef Pakspul het volgende:
singleton is een goed begin, maar pleur deze dan niet in een variable van een klasse, gewoon in de functie gebruiken en daarna ruimte de garbage collector hem wel weer op. Mocht je een obsessie hebben kun je altijd nog volgende doen
[ code verwijderd ]

Maar de garbage collector zal de ruimte die $db in nam zelf uit vrij maken na het eindigen van de functie.
Ik denk dat ik singleton wel aardig begrijp, zoals beschreven hier: http://nl.wikipedia.org/wiki/Singleton_(informatica) kan het toch ook zo worden geschreven?

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
class db {
    // object instance
    private static $instance;
 
    private function __construct() {}
    private function __clone() {}
 
    public static function getInstance() {
        if (!self::$instance instanceof self) {
            self::$instance = new self();
        }
        return self::$instance;
    }

    public static function query($sql)
    {
        // doe query
    }
}

class user
{
    public function login($u, $p, $t)
    {
        $db = db::getInstance();

        $db->query("Doe je query");
    }
}

$u = new user;
$u->login('username','password',true);


kan het niet testen maar lijkt me correct qua opzet.

Oh, al zou het netter zijn idd als ik $db ook op null zet, maar ik vertrouw gewoon op de garbage collector van PHP!

[ Bericht 1% gewijzigd door Chandler op 22-11-2009 20:34:48 (update) ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 22 november 2009 @ 20:35:35 #212
75592 GlowMouse
l'état, c'est moi
pi_74917873
Ja, ga een bugreport doen dan.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_74925142
quote:
Op zondag 22 november 2009 20:21 schreef Pakspul het volgende:

[..]

singleton is een goed begin, maar pleur deze dan niet in een variable van een klasse, gewoon in de functie gebruiken en daarna ruimte de garbage collector hem wel weer op. Mocht je een obsessie hebben kun je altijd nog volgende doen
[ code verwijderd ]

Maar de garbage collector zal de ruimte die $db in nam zelf uit vrij maken na het eindigen van de functie.
Een singleton blijft bestaan, zolang er een verwijzing naar is. En die is er, als class variabele in de singletonclass. De garbage collector zal dus niet al te veel doen.

En een script draait sowieso niet langer dan nodig om een pagina te bouwen, daarna is het script afgelopen en mag de garbage collector alle zooi opruimen.
  maandag 23 november 2009 @ 01:09:32 #214
37634 wobbel
Da WoBBeL King
pi_74929120
Heb dit hele artikel doorgelezen op MySQL website ==> http://dev.mysql.com/tech(...)erarchical-data.html

Alleen nu heb je volgensmij een probleem als in die hierarchie 2keer dezelfde "name" wordt gebruikt ofniet??
pi_74931262
Hoezo zou dat een probleem zijn? Hij zit toch op een andere plek...?
  maandag 23 november 2009 @ 08:54:15 #216
37634 wobbel
Da WoBBeL King
pi_74931404
quote:
Op maandag 23 november 2009 08:40 schreef Xcalibur het volgende:
Hoezo zou dat een probleem zijn? Hij zit toch op een andere plek...?
Omdat deze query in het voorbeeld gebruikt wordt....

1
2
3
4
5
6
7
8
<?php
SELECT parent
.nameparent.content 
                                    FROM nested_category 
AS node,
                                    
nested_category AS parent
                                    WHERE node
.lft BETWEEN parent.lft AND parent.rgt
                                    
AND node.name 'NAAAAM' 
                                    
ORDER BY parent.lft;
?>
pi_74932553
ja, dan krijg je dus 2 resultaten
Die allebei geldig zijn....

Je zult dus in je PHP aan de slag moeten om uit te zoeken welke van de twee de gevraagde is
pi_74934822
quote:
Op zondag 22 november 2009 20:35 schreef GlowMouse het volgende:
Ja, ga een bugreport doen dan.
Done,

Nog comments op mijn bovenstaande lap code?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_74935003
quote:
Op zondag 22 november 2009 22:46 schreef Light het volgende:

[..]

Een singleton blijft bestaan, zolang er een verwijzing naar is. En die is er, als class variabele in de singletonclass. De garbage collector zal dus niet al te veel doen.

En een script draait sowieso niet langer dan nodig om een pagina te bouwen, daarna is het script afgelopen en mag de garbage collector alle zooi opruimen.
De singleton blijft inderdaad bestaan omdat die in de static variabel van zichzelf is opgeslagen, maar het heeft geen nut om deze in andere klasse te gaan opslaan. In de methode die een database verbinding nodig heeft is die alleen nodig is de rest van de klasse niet.
pi_74938135
Dus dit is nu goed? zoals ik het schets..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?php
error_reporting
(E_ALL);

$mem memory_get_usage();

class 
db {
    
// object instance
    
private static $instance;
    private static 
$queries = array();
    private static 
$db_connection;
    private static 
$config;
    
    public static 
$message;

    public static function 
getInstance() {
        if (!
self::$instance instanceof self) {
            
self::$instance = new self();
        }
        return 
self::$instance;
    }
    
    private function 
__construct() {
        
self::$queries = array();
        
self::$config config::getInstance();
        
        
self::$db_connection = @mysql_connect(self::$config->config_values['database']['hostname'],
                              
self::$config->config_values['database']['username'],
                              
self::$config->config_values['database']['password']);
                             
        if (
self::$db_connection) {
            
$db_con mysql_select_db(self::$config->config_values['database']['name'],
                                                   
self::$db_connection);
                                                   
            if (
$db_con == true)
            {
                return 
true;
            }

            
self::$message "Kan database tabel niet bereiken";
        }
        else {
            
self::$message "Kan database server niet bereiken";
        }
        
        return 
self::$message;
    }

    private function 
__clone() {
    }

    public static function 
query($sql) {
        
$res mysql_query($sql,
                           
self::$db_connection);
                           
        if (
mysql_error())
        {
            
self::$queries['query'][$sql] = array("err" => mysql_error(),
                                                  
"num" => (isset(self::$queries['query'][$sql]) ? self::$queries['query'][$sql]['num']+1
                                                                                                 
1));
        }

        return 
$res;
    }
    
    public static function 
stats() {
        return 
self::$queries;
    }
}

class 
config {
    
// object instance
    
private static $config_file  'config.ini';

    private static 
$instance;
    private static 
$queries;

    public 
$config_values = array();

    public static function 
getInstance() {
        if (!
self::$instance instanceof self) {
            
self::$instance = new self();
        }
        return 
self::$instance;
    }

    private function 
__construct() {
        
$this->config_values parse_ini_file(self::$config_file,
                                              
true);
    }

    public function 
getValue($key) {
        return 
self::$config_values[$key];
    }

    private function 
__clone() {
    }
}

class 
user {
    public function 
login($u$p$t) {
        
$db db::getInstance();

        
$db->query("SELECT count(id) FROM users");
    }
}

class 
mooi {
    private 
$db;
    
    public function 
__construct()
    {
        
$this->db db::getInstance();
        
        
$this->db->query("SELECT count(id) FROM gebruikers");
    }
    
    public function 
startuptest() {
        
$this->db->query("SELECT count(bestaatniet) FROM gebruikers");
    }
}

$u = new user;
print_r($u->login('username','password',true));

$u = new user;
print_r($u->login('username','password',true));


$m = new mooi;
$m->startuptest();

$db db::getInstance();

echo 
'<pre>';
print_r($db->stats());

echo 
memory_get_usage() - $mem"<br />";
?>


gebruikt hier 17500 bytes... is dat veel? even self::$db veranderd in class mooi naar $this en scheelt 20 bytes (17480)

[ Bericht 38% gewijzigd door Chandler op 23-11-2009 15:24:00 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_74939571
We zijn bezig met het maken van een forum (php/mysql). de forums zelf werken alleen nu hebben we nog een voorpagina nodig.
hier moet het volgende op komen:
- totaal aantal berichten met een bepaald 'catid' uit de database
- laatste bericht met een bepaald 'catid' uit de database. (weergave: gebruiker/bericht/datum&tijd)
- laatste 25 berichten uit de database met alle 'catids' (weergave: gebruiker/bericht/datum&tijd)

zijn hier misschien standaard scripts voor te vinden?
  maandag 23 november 2009 @ 16:05:39 #222
152303 hamkaastosti
ook bekend als hamkaastosti
pi_74939738
quote:
Op maandag 23 november 2009 15:16 schreef Chandler het volgende:
Dus dit is nu goed? zoals ik het schets..
[ code verwijderd ]

gebruikt hier 17500 bytes... is dat veel? even self::$db veranderd in class mooi naar $this en scheelt 20 bytes (17480)
ik zou me eens verdiepen in pdo of mysqli.
vooral pdo werkt als een tiet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
final class database extends pdo
{
    private 
$sth;
    private 
$numrows;
    
    public function 
__construct($dbconn)
    {
        
extract($dbconn);
        
parent::__construct('mysql:host=' $server ';dbname='$database$username$password);
        
parent::setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
    }

    
/**
     * query the db
     * @param <string> $query
     * @param <array> $values
     */
    
private function doQuery($query$values)
    {
       if(
substr_count($query'?') == count($values) || !is_array($values))
        {
            
$this->sth parent::prepare($query);

            
$i 1;
            foreach (
$values as $current)
            {
                switch(
$current)
                {
                case 
is_string($current):
                    
$type PDO::PARAM_STR;
                    break;
                case 
is_int($current):
                    
$type PDO::PARAM_INT;
                    break;
                case 
is_bool($current):
                    
$type PDO::PARAM_BOOL;
                    break;
                case 
is_double($current):
                    
$type PDO::PARAM_STR;
                    break;
                }

                
$this->sth->bindValue($i$current$type);
                
$i++;
            }
            
$this->sth->execute();
        }
        else
        {
            throw new 
exception('wrong parameters for binding');
        }
    }
    
/**
     * perform a select query on the database
     * @param <string>  $query
     * @param <array>   $values
     * @param <bool>    $m_array
     * @return <array>
     */
    
public function select($query$values$m_array false)
    {
        
$this->doQuery($query$values);
        
        
$this->numrows parent::query("SELECT FOUND_ROWS()")->fetchColumn();
            
        if(
$this->numrows == && $m_array == false)
        {
            
$result $this->sth->fetch(PDO::FETCH_ASSOC);
        }
        else
        {
            
$result $this->sth->fetchAll(PDO::FETCH_ASSOC);
        }
        return 
$result;
    }

    
/**
     * @desc            insert values into database
     * @param <string>  $table
     * @param <array>   $values
     */
    
public function insert($table$values)
    {
        
$fields    '';
        
$args    '';
        foreach(
$values as $f => $v)
        {
            
$fields .= $f ', ';
            
$args   .= '?, ';
        }
        
$fields substr($fields0, -2);
        
$args substr($args0, -2);
        
        
$query = ('INSERT INTO ' $table ' (' $fields ') VALUES (' $args ')');
        
$this->doQuery($query$values);
        
$this->numrows $this->sth->rowCount();
    }

    public function 
update($query$values)
    {
        
$this->doQuery($query$values);
        
$this->numrows $this->sth->rowCount();
    }
}
?>


een select query is dan zo simpel als:
1
2
3
<?php
$this
->db->select('SELECT * FROM news ORDER BY date ? LIMIT ?', array($sortingorder$itemcount), true);
?>


en een insert is nog makkelijker:
1
2
3
4
5
6
<?php
$reaction
['id'] = 1;
$reaction['name'] = blaat;

$this->db->insert('newsreactions'$reaction);
?>

Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_74939743
quote:
Op maandag 23 november 2009 16:00 schreef Darkeye89 het volgende:
We zijn bezig met het maken van een forum (php/mysql). de forums zelf werken alleen nu hebben we nog een voorpagina nodig.
hier moet het volgende op komen:
- totaal aantal berichten met een bepaald 'catid' uit de database
- laatste bericht met een bepaald 'catid' uit de database. (weergave: gebruiker/bericht/datum&tijd)
- laatste 25 berichten uit de database met alle 'catids' (weergave: gebruiker/bericht/datum&tijd)

zijn hier misschien standaard scripts voor te vinden?
Dat lijken me nogal eenvoudige queries?
Als je een heel forum kunt maken, zouden deze queries ook niet zo'n probleem moeten zijn? Of mis ik nu iets?
pi_74939879
quote:
Op maandag 23 november 2009 16:05 schreef Xcalibur het volgende:

[..]

Dat lijken me nogal eenvoudige queries?
Als je een heel forum kunt maken, zouden deze queries ook niet zo'n probleem moeten zijn? Of mis ik nu iets?
sorry ik ben niet helemaal duidelijk, we gebruiken een script wat meerdere gastenboeken (dat worden de topics dan) kan aanmaken (door iemand anders gemaakt) nu willen we hier een voorpagina voor hebben. ik heb zelf heel weinig php kennis.
pi_74945743
Hallo,

ik ben bezig met het volgende (HTML) formulier:
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
<html>
<head>
<title>formulier</title>
</head>
<body>
<table>
<tr>
<form action="formulier.php" method="post">
</tr>
<tr><td>Vul hier je voornaam in:</td>
<td><input type="text" name="voornaam" /></td>
</tr>
<tr><td>vul hier je achternaam in: </td>
<td><input type="text" name="achternaam" /></td>
</tr>
<tr><td>Vul hier je tel. nr. in:</td>
<td><input type="text" name="telefoon" /></td>
</tr>
<tr><td>Vul hier je postcode in:</td>
<td><input type="text" name="postcode" /></td>
</tr>
<tr><td>geslacht:</td>
<td>Jongen:<input type="radio" name="geslacht" value="jongen" checked="true" /></td>
</tr>
<tr><td></td>
<td>Meisje<input type="radio" name="geslacht" value="meisje" /></td>
</tr>
<tr><td>Waar wil je een abonnement op?</td>
<td><input type="checkbox" name="gamez" value="gamez" />Gamez</td>
</tr>
<tr><td></td>
<td><input type="checkbox" name="girls" value="girls" />Girls</td>
</tr>
<tr><td></td>
<td><input type="checkbox" name="uitgaan" value="uitgaan" />Uitgaan</td>
</tr>
<tr><td></td>
<td><input type="checkbox" name="mode" value="mode" />Mode</td>
</tr>
<tr>
<td><input type="submit" value="Verzend het formulier" /></td>
</tr> 
</table>
</body>
</html>


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
<?php
<php?
//variabelen
$voornaam $_POST["voornaam"];
$achternaam $_POST["achternaam"];
$telefoon $_POST["telefoon"];
$postcode $_POST["postcode"];
$geslacht $_POST["geslacht"];
$gamez $_POST["gamez"];
$girls $_POST["girls"];
$mode $_POST["mode"];
$uitgaan $_POST["uitgaan"];
if (empty(
$voornaam))
{
echo 
"Je bent vergeten om je voornaam in te vullen!"
}
elseif (empty(
$achternaam))
{
echo 
"Je bent vergeten om je achternaam in te vullen!"
}
elseif (empty(
$postcode))
{
echo 
"Je bent vergeten om je postcode in te vullen!"
}
elseif (empty(
$gamez) && empty ($girls) && empty ($mode) && empty ($uitgaan))
{
echo 
"Je moet tenminste 1 tijdschrift aankruisen";
}
else {
echo 
"
<tr>
<td>voornaam</td>
<td>$voornaam</td>
</tr>
<tr>
<td>achternaam</td>
<td>$achternaam</td>
</tr>
<tr>
<td>telefoon</td>
<td>$telefoon</td>
</tr>
<tr>
<td>postcode</td>
<td>$postcode</td>
</tr>
<tr>
<td>geslacht</td>
<td>$geslacht</td>
</tr>
<tr>
<td>gamez</td>
<td>$gamez</td>
</tr>
<tr>
<td>girls</td>
<td>$girls</td>
</tr>
<tr>
<td>mode</td>
<td>$mode</td>
</tr>
<tr>
<td>uitgaan</td>
<td>$uitgaan</td>
</tr>
</table>
"
;
}
?>



Volgens mij moet de code zo kloppen. Maar wat klopt er niet aan ?
pi_74946405
$_SERVER['REQUEST_METHOD'] == "POST" om te controlleren of een formulier is verzonden.

$voornaam = isset($_POST['voornaam']) ? htmlspecialchars($_POST['voornaam']) : '';
voornaam wordt nix als er niets is verzonden, anders gebruik de invoer.

eerste tips
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_74947233
quote:
Op maandag 23 november 2009 16:09 schreef Darkeye89 het volgende:

[..]

sorry ik ben niet helemaal duidelijk, we gebruiken een script wat meerdere gastenboeken (dat worden de topics dan) kan aanmaken (door iemand anders gemaakt) nu willen we hier een voorpagina voor hebben. ik heb zelf heel weinig php kennis.
Dat klinkt als een weinig degelijke constructie... is het niet veel makkelijker om een phpBB3 of WordPress neer te zetten, afhankelijk van wat je precies zoekt?

Wat betreft je vraag: je zult een paar queries moeten maken die de aantallen tellen. Ik weet niet hoe je database er uit ziet, maar dat is in grote lijnen zoiets:

1SELECT COUNT(*) FROM messages WHERE catid = ".$catid."
  maandag 23 november 2009 @ 20:19:55 #228
37634 wobbel
Da WoBBeL King
pi_74947627
quote:
Op maandag 23 november 2009 10:05 schreef Xcalibur het volgende:
ja, dan krijg je dus 2 resultaten
Die allebei geldig zijn....

Je zult dus in je PHP aan de slag moeten om uit te zoeken welke van de twee de gevraagde is

Mmm...dat is ook zo'n beetje het lastigste denk ik
Ik ga ermee aan de slag maar ik denk dat jullie snel van me horen

[edit]

Lukt nieee....

Heb de onderstaande code, maar hoe kan ik ervoor zorgen dat "name" meerdere keren kan voorkomen met dezelfde waarde?

PHP code (ook via http://www.kontpiraat.nl/index.phps en let NIET op de vieze code, heb dit gisternacht om 2u geschreven )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php
require 'libs/Smarty.class.php';
require 
'configs/default.php';

$RequestURI                                    $_SERVER['REQUEST_URI'];

if ( 
substr $RequestURI0) == "/" )
{

    
$RequestURI                                substr $RequestURI);

}
if ( 
substr $RequestURI, -) == "/" )
{

    
$RequestURI                                substr $RequestURI0, -);

}

if ( 
$RequestURI == "" )
{
    
    
$page_id                                1;
    
}
else
{
        
    
$RequestedVars                            explode "/"$RequestURI );
    
$RequestedCount                            count $RequestedVars );
    
    
$select                                    "SELECT parent.name, parent.category_id 
                                            FROM nested_category AS node,
                                            nested_category AS parent
                                            WHERE node.lft BETWEEN parent.lft AND parent.rgt
                                            AND node.name = '" 
$RequestedVars[$RequestedCount 1] . "' 
                                            ORDER BY parent.lft;"
;
    
$query                                    mysql_query $select ) or die ( mysql_error (  ) );
    
$count                                    mysql_num_rows $query );
    
    if ( 
$count == $RequestedCount )
    {
            
        
$i                                    0;
        
$failed                                false;
        while ( 
$assoc mysql_fetch_assoc $query ) )
        {
        
            if ( 
$RequestedVars[$i] != $assoc['name'] )
            {
            
                
$failed                        true;
                
            }
            
            
$page_id                        $assoc['category_id'];
            
            
$i++;
            
        }
    
    }
    else
    {
        
        
$failed                                true;    
        
    }

}

#################
#  PARSE PAGE    #
#################

$smarty                                         = new Smarty;
$smarty->compile_check                             true;

$smarty->assign                                    "title_d""Welkom op onze website" );

if ( 
$failed == true )
{
    
    
$smarty->assign                                "c_content""404 - pagina niet gevonden" );

}
else
{
    
    
$MySQL_Content_Select                        "SELECT * 
                                                FROM nested_category 
                                                WHERE category_id = '" 
$page_id "'";
    
$MySQL_Content_Query                        mysql_query $MySQL_Content_Select 
                                                or die ( 
mysql_error (  ) );
    
$MySQL_Content_Assoc                        mysql_fetch_assoc $MySQL_Content_Query );
    
    
$smarty->assign                                "c_content"$MySQL_Content_Assoc['content'] );
    
}

$smarty->display('index.tpl');
?>


SQL 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
CREATE TABLE `nested_category` (
  `category_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `content` text NOT NULL,
  `lft` int(11) NOT NULL,
  `rgt` int(11) NOT NULL,
  PRIMARY KEY (`category_id`)
) ENGINE=MyISAM AUTO_INCREMENT=18 DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;

-- 
-- Dumping data for table `nested_category`
-- 

INSERT INTO `nested_category` (`category_id`, `name`, `content`, `lft`, `rgt`) VALUES (1, 'beginpagina', 'welkom op de beginpagina ', 1, 2),
(3, 'grafisch', 'pagina met dingetjes over grafisch, zoals ENVELOPPEN, VISITEKAARTJES, LOGO en DRUKWERK ', 3, 16),
(11, 'drukwerk', 'wij ontwerpen allerhande drukwerk, maar doen het ook het DRUKKEN en de VERSPREIDING', 10, 15),
(10, 'logo', 'logo ontwerp doen we ook ', 8, 9),
(9, 'visitekaartjes', 'mooie visitekaartjes maken is onze hobby', 6, 7),
(8, 'enveloppen', 'mooie envelopjes hebben? moet je lars ff bellen', 4, 5),
(12, 'drukken', 'jah, wij kunnen het ontworpen drukwerk ook naar de drukker sturen', 11, 12),
(13, 'verspreiding', 'en alles wat je hebt laten ontwerpen en hebt laten drukken kunnen we ook voor u verspreiden ', 13, 14),
(14, 'websites', 'websites maken we ook, met CMS en ook soms met WEBSHOP', 17, 22),
(16, 'cms', 'cms is makkelijk, content management system enzo ', 18, 19),
(17, 'webshop', 'gimme teh moneyzzz online met je eigen webshop', 20, 21);


[ Bericht 46% gewijzigd door wobbel op 23-11-2009 20:35:07 ]
pi_74993107
Hoe importeer ik een utf-8 tekstbestand in mysql?

als ik "mysql -u xxx -p db < file.sql" doe, dan verdubbelt ie als het ware de utf-8, waardoor er niets van leesbaar is

"mysql -u xxx -p db --default-character-set=utf8 < file.sql" levert alleen maar heel veel vraagtekens op, in plaats van de gewenste teksten.
Trotse poster van het 37000000ste bericht ^O^
  woensdag 25 november 2009 @ 17:07:44 #230
19431 Dwan
Likken als lassie
pi_74993863
Hey misschien hoort het hier helemaal niet thuis en kan het een ideetje zijn voor een vaste rubriek in Werk.
Maar een bevriende recruiter van mij zoekt echt naastig naar een goede PHP ontwikkelaar die een vaste aanstelling wil ergens in Amsterdam.

mocht iemand die goed in PHP zijn PM mij dan, dan mail ik je zijn gegevens.
Dwannie is like god is rubbing your tummy
pi_74994094
quote:
Op woensdag 25 november 2009 16:42 schreef daReaper het volgende:
Hoe importeer ik een utf-8 tekstbestand in mysql?

als ik "mysql -u xxx -p db < file.sql" doe, dan verdubbelt ie als het ware de utf-8, waardoor er niets van leesbaar is

"mysql -u xxx -p db --default-character-set=utf8 < file.sql" levert alleen maar heel veel vraagtekens op, in plaats van de gewenste teksten.
Kan je dat niet gewoon met phpMyAdmin doen ofzo?
Dit ziet er uit als commandline, daar heb ik verder geen verstand van

Zijn je database en je tabellen verder wel UTF-8?
pi_75062896
Kan een van de wizkids mij eens vertellen hoe ik extract kan gebruiken icm met een class en publieke variabelen? het wil mij namelijk niet lukken om de variabelen globaal te zetten (alszijnde $this->) of zou ik dit anders moeten aanpakken? met meer code (bv foreach, explode, etc )

ter illustratie:
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
<?php
class woei {
    public 
$test 'woei';
    
    function 
x()
    {
        
$xs = new config(SYSTEM_PATH "test.ini");

        
extract($xs->config['test'], EXTR_OVERWRITE);
        
        
print_r($test);
        
print_r($this->test);
    }
    
    function 
y()
    {
        
print_r($this->test);
    }
}

echo
'<pre>';
$i = new woei;
$i->x();
$i->y();
?>


in de ini staat
1
2
[test]
test = 3


uitkomst: 3woeiwoei
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 27 november 2009 @ 18:03:06 #233
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75062994
waarom wil je daar extracten? kun je niet beter
1
2
3
<?php
$ini_array 
parse_ini_file("sample.ini"true);
?>

in je config gebruiken en dan met __get de value returnen?

echo $config->test;
geeft dan 3

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
<?php
class config
{
private function 
__construct()
    {
        
$configfile APP_PATH DIRSEP 'config' DIRSEP $this->ini_file;
        if(
is_readable($configfile))
        {
            
$this->configvalues parse_ini_file($configfileTRUE);
        }
        else
        {
            throw new 
exception('could not load configfile: ' $configfile);
        }
        
//var_dump($this->configvalues);
    
}
public function 
__get($setting)
    {
        if(
array_key_exists($setting$this->configvalues))
        {
            return 
$this->configvalues[$setting];
        }
        else
        {
            foreach(
$this->configvalues as $section)
            {
                if(
array_key_exists($setting$section))
                {
                    return 
$section[$setting];
                }
            }
        }
    }
}
?>
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_75063651
Goed dat kan idd ook, maar met extract kun je namelijk gewone variabelen laten zetten maar ik wil een manier vinden waarmee het ook in classes kan (tot op $this-> dus).
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 27 november 2009 @ 18:29:05 #235
187069 slacker_nl
Sicko pur sang
pi_75063715
Ik zie overigen niet dat je ergens this->test = something doen in die klasse.

Of wil een ini-file lezen en deze in verschillende klasses aanroepen fzo?
In theory there is no difference between theory and practice. In practice there is.
  vrijdag 27 november 2009 @ 19:28:13 #236
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75065506
quote:
Op vrijdag 27 november 2009 18:26 schreef Chandler het volgende:
Goed dat kan idd ook, maar met extract kun je namelijk gewone variabelen laten zetten maar ik wil een manier vinden waarmee het ook in classes kan (tot op $this-> dus).
geloof niet dat extract dat kan. maar je kunt wel door je array loopen.
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
<?php
class test
{
    public 
$test;
    public 
$flap;
    
    public function 
__construct()
    {
        
$array = array('test' => 'blaat''flap' => 'poop');

        foreach(
$array as $key => $value)
        {
            
$this->$key $value;
        }
    }
    
    public function 
__get($key)
    {
        return 
$key;
    }
}


$test = new test;

echo 
$test->flap;
echo 
$test->test;
?>


maar of dat de beste oplossing is. stel je gaat de config uitbreiden plaats je dan ook netjes bovenaan de class public $nogeenvariabele; ?
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_75066140
klopt, maarzo kan ik wel de instellingen laten veranderen zonder ook maar aan de class zelf te gaan zitten. Scheelt weer rechten beperking en zo kan ik snel een bestand met instellingen laden.

Maar ik ben nog een ander idee aan het bedenken maar denk idd dat het handig is om van de instellingen een array te maken ipv per stuk te defenieren.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 27 november 2009 @ 22:05:53 #238
46383 Tiemie
sowieso wel!
pi_75070877
quote:
Op vrijdag 27 november 2009 19:28 schreef hamkaastosti het volgende:

[..]

geloof niet dat extract dat kan. maar je kunt wel door je array loopen.
[ code verwijderd ]

maar of dat de beste oplossing is. stel je gaat de config uitbreiden plaats je dan ook netjes bovenaan de class public $nogeenvariabele; ?
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
<?php
class Bla {
   
   protected 
$items = array();

   public function 
__construct$items ) {
    
    if( 
is_array$items ) && count$items ) > ) {
           
             
$this->items $items;

    }

   }

   public function 
__get$key ) {
     
    if( 
in_array$key$this->items ) ) {
         
       return 
$this->items$key ];
   }
   
   return 
false;

   }

   public function 
__set$key$value ) {
      
      if( 
in_array$key$this->items ) ) { 
         
         return  
$this->items$key ] = $value;
     }
     
    return 
false;

   }
}

$items = array( 'test' => 1);
$obj = new Bla$items ) ;
print 
$obj->test;

// of in een loop setten met

foreach( $items As $key => $value ) { 
   
   
$obj->$key $value

}
?>
  vrijdag 27 november 2009 @ 22:23:43 #239
136730 PiRANiA
All thinking men are atheists.
pi_75071579
Hi, ik heb een tabel `events`.
Die ziet er zo uit:

| rowid (int) | tijd (int) | event (int) |

Nu wil ik dat ik per event kijk hoe vaak dat is voorgekomen.

Ik zat te denken aan zoiets:
1
2
3
4
SELECT `event` , count( `rowid` ) AS `count` 
FROM `events` 
WHERE `tijd` > '1259270391' 
ORDER BY `count` LIMIT 0 , 30


dat is alleen niet de juiste oplossing. Het zou best simpel kunnen zijn, maar ik kom er even niet op :P
  vrijdag 27 november 2009 @ 22:24:46 #240
75592 GlowMouse
l'état, c'est moi
pi_75071613
waar is je GROUP BY?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  vrijdag 27 november 2009 @ 22:44:26 #241
136730 PiRANiA
All thinking men are atheists.
pi_75072336
quote:
Op vrijdag 27 november 2009 22:24 schreef GlowMouse het volgende:
waar is je GROUP BY?
tx dat soort dingen vergeet ik af en toe
pi_75091491
Weet iemand een goede tutor over werken met gebruikers, rechten, rechten groepen etc?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zaterdag 28 november 2009 @ 19:49:41 #243
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75092115
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_75120716
Tnx, ik ga er mee bezig! erg lange maar duidelijke tutor!

Verder heb ik nog een vraag.

Ik wil alle urls kunnen herschrijven en via index.php laten lopen

bv

van http://ww.domein.nl/gebruiker/berichten/lees/123
naar index.php?arg=gebruiker/berichten/lees/123

en

van http://ww.domein.nl/gebruiker/berichten/lees/123 ?html=aan
naar index.php?arg=gebruiker/berichten/lees/123&html=aan

hoe krijg ik dat voor elkaar? (ook andere subs zoals /gebruikers en /login, etc moeten worden herschreven) ik heb het al geprobeerd met iets zoals dit

1
2
3
4
5
6
7
8
9
10
Options +FollowSymLinks
RewriteEngine On

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?arg=$1/$2/$3/$4/$5/$6/$7&{QUERY_STRING} 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?arg=$1/$2/$3/$4/$5/$6&{QUERY_STRING} 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?arg=$1/$2/$3/$4/$5&{QUERY_STRING} 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?arg=$1/$2/$3/$4&{QUERY_STRING} 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?arg=$1/$2/$3&{QUERY_STRING} 
RewriteRule ^([^/]+)/([^/]+)$ index.php?arg=$1/$2&{QUERY_STRING} 
RewriteRule ^([^/]+)$ index.php?arg=$1&{QUERY_STRING} 


maar dat werkt op een of andere manier niet...


Werkende code
1
2
3
4
5
6
7
Options +FollowSymLinks

RewriteEngine on  
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d  

RewriteRule ^(.*)$ index.php?arg=$1&{QUERY_STRING}  [L,QSA]


echter wil ik nu nog /layout/* excluden dat dit via index.php loopt, hoe kan ik dat doen?
1
2
3
4
5
6
7
8
9
10
Options +FollowSymLinks

RewriteEngine on  

RewriteCond $1 !^(layout)

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d  

RewriteRule ^(.*)$ index.php?arg=$1&{QUERY_STRING}  [L,QSA]
(oplossing)

[ Bericht 30% gewijzigd door Chandler op 29-11-2009 21:41:13 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_75134637
Ik ben gisteren druk geweest met ACL maar vind het een beetje te groot, is er ook een tutoriaal die een kleinere / simpelere versie behandeld?

Zelf dacht ik aan een opzet van dit.

rollen
rol_combie
rol_waarden

rollen
1 - administrator - mag alles
2 - beheerder - mag bijvoorbeeld alle artikelen beheren
3 - editor - mag zelf artikelen toevoegen (eigen beheren)
4 - gebruiker - mag reageren op poll, artikelen, etc
5 - gast - mag site bezoeken, reageren op artikelen (niet op bv poll)

rol_combie is een link tabel tussen rollen en rol_waarden
rolID
waardeID
laatsteUpdate

rol_waarden bevat waarden waarin staat vermeld welke rechten er zijn bv
id (rolID)
waarde - (poll_may_vote, poll_may_comment, article_add, article_edit, article_edit_other, etc)
laatsteUpdate - datum van update

en eventueel een tabel die rechten aan gebruiker zelf koppelt
rol_combie_gebruiker
rolID
gebruikerID

Of bekijk ik dit nu te simpel? is het volgens jullie meer nodig om ook per gebruiker specifieke rechten toe te kennen?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_75144707
Ik wil de data van een database in een HTML tabel presenteren. Nu heb ik hiervoor de volgende 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
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<th><font face="Arial, Helvetica, sans-serif">Name</font></th>
<th><font face="Arial, Helvetica, sans-serif">Phone</font></th>
<th><font face="Arial, Helvetica, sans-serif">Mobile</font></th>
<th><font face="Arial, Helvetica, sans-serif">Fax</font></th>
<th><font face="Arial, Helvetica, sans-serif">E-mail</font></th>
<th><font face="Arial, Helvetica, sans-serif">Website</font></th>
</tr>

<?
$i=0;
while ($i < $num) {

$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
?>

<tr>
<td><font face="Arial, Helvetica, sans-serif"><? echo $first." ".$last; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><? echo $phone; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><? echo $mobile; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><? echo $fax; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><a href="mailto:<? echo $email; ?>">E-mail</a></font></td>
<td><font face="Arial, Helvetica, sans-serif"><a href="<? echo $web; ?>">Website</a></font></td>
</tr>

<?
$i++;
}


echo "</table>";


Alleen nu begrijp ik dus niet wat ik met deze code moet. Is dit nou een HTML code die ik gewoon in de HTML van mijn site kan plaatsen, of is dit een PHP code die in een PHP bestand geplaatst moet worden?

Het versturen van de gegevens naar een database vanuit een formulier werkt als volgt:
De hTML code:
1
2
3
4
5
6
7
8
9
10
<form action="insert.php" method="post">
First Name: <input type="text" name="first"><br>
Last Name: <input type="text" name="last"><br>
Phone: <input type="text" name="phone"><br>
Mobile: <input type="text" name="mobile"><br>
Fax: <input type="text" name="fax"><br>
E-mail: <input type="text" name="email"><br>
Web: <input type="text" name="web"><br>
<input type="Submit">
</form>


En de PHP code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
$username="username";
$password="password";
$database="your_database";

$first=$_POST['first'];
$last=$_POST['last'];
$phone=$_POST['phone'];
$mobile=$_POST['mobile'];
$fax=$_POST['fax'];
$email=$_POST['email'];
$web=$_POST['web'];

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$query = "INSERT INTO contacts VALUES ('','$first','$last','$phone','$mobile','$fax','$email','$web')";
mysql_query($query);

mysql_close();
?>


Bij dit invoeren van de data naar een database via zo'n formulier is er dus een strikte scheiding tussen PHP en HTML. Ik plak dus de HTML code in mijn html pagina in dreamwaver, en ik maak vervolgens een PHP bestand aan die ik opsla als: "insert.php".
Deze files upload ik vervolgens naar de server en dan doet alles het.

Maar met de bovenste code gaat dit dus niet. Ik weet dus niet of ik er een php file of een html file van moet maken. Of moet ik in de tabel weer een action=output.php toevoegen? En dan de php weer apart opslaan en de tabel code invoegen in de html.

Kan iemand uitleggen hoe dit zit??
pi_75145375
Hoi allen.

Ik ben op zoek naar een (liefst) kant en klaar script waarbij ik de voorraad van een tiental artikelen op diverse locaties kan bijhouden met een historie. Zou mooi zijn als er een admin-pagina was waarop men verschillende users kan aanmaken die de voorraad mogen muteren en/of wijzigingen in omschrijvingen kan uitvoeren.

Nu heb ik van alles en nog wat afgezocht, maar in het nederlands vind ik geen hits en als ik ga zoeken op scripts met "stock", dan krijg je aandelen-meuk.

Mocht iemand iets weten (PHP/MySql), let me know ! Ik zoek natuurlijk zelf ook nog even verder maar misschien dat iemand hier al zoiets heeft gezien ergens.....
  maandag 30 november 2009 @ 18:58:40 #248
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75153872
quote:
Op maandag 30 november 2009 15:20 schreef NoShitSherlock het volgende:
Ik wil de data van een database in een HTML tabel presenteren. Nu heb ik hiervoor de volgende code:
[
daar klopt bijzonder weinig van. wil je het in 1 pagina doen dan kan het bijvoorbeeld zo:
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
<?php
//iemand heeft je form gesubmit. ding verwerken dus
if(strtoupper($_SERVER['REQUEST_METHOD']) == "POST" && !empty($_POST['submit']))
{
    
//validatie van de ingevulde velden
    //verbinding maken met je database
    
mysql_query('INSERT INTO contacts (velden, hier, opnoemen) VALUES ($velden, $hier, $opnoemen');
}
//geen form gesubmit. geef de pagina met resultaten weer
else
{
    
     <
html>
     <
head>
    </
head>
    <
table>
    
    
//lijstje weergeven
    //verbinding maken met je database
   
    
    
$result mysql_query('SELECT * FROM contacts');
    while(
$row mysql_fetch_assoc($result))
    {
        
//mooie td's en tr's en zulks
        
echo $row["velden"];
        echo 
$row["hier"];
        echo 
$row["opnoemen"];
    }
    
    </
table>
        <!-- 
formulier weergeven onder het lijstje -->
        <
form action="index.php" method="post">
        <!-- 
formulier weergeven onder het lijstje -->
        <
input type="submit" name="submit" class="submit" value="verzenden">
        </
form>
    </
html>
    
}
?>


je zult nog wel zelf eea moeten klussen
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
  maandag 30 november 2009 @ 19:00:05 #249
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75153939
hmm.. hij laat op heel veel plekken de <?php en ?> weg.. ff op quote drukken ofzo dan
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_75157153
Misschien tijd voor een echte PHP code parser voor FOK!??
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 30 november 2009 @ 20:04:15 #251
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75157283
het is op fok! tijd voor zoveel echte dingen
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_75158301
quote:
Op maandag 30 november 2009 20:04 schreef hamkaastosti het volgende:
het is op fok! tijd voor zoveel echte dingen
Vind het zo frappant dat ze niet gewoon zaken afmaken ipv steeds uitbouwen maar goed.

Wat is trouwens het verschil tussen ACL en RBAC? kon dat niet echt uit de wiki pagina's halen!

En ik zoek nog steeds (ja nog steeds google aan't lastig vallen) voor een duidelijk nederlandse tutoriaal over een van 2 bovenstaande opties...

The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_75177125
Ik heb de ACL tutor doorgelezen en heb nu zelf en opzet gemaakt

tabel gebruikers tabel van de gebruikers
id * int unsigned
naam * varchar * 50

tabel gebruikers_rechten_link (linkt gebruikers aan rechten)
gebr_id
recht_id

tabel gebruikers_groepen_link (linkt gebruiker aan groep(en))
gebr_id
groep_id

tabel gebruikers_groepen (admin, moderators, editors, naam voor verzameling van rechten)
id
titel

tabel gebruikers_groepen_rechten_link (linkt groepen aan rechten)
groep_id
recht_id

tabel gebruikers_rechten (de rechten die de gebruiker kan hebben)
id
recht * varchar * 50 (naam van het recht)
waarde (true/false)

Nu vraag ik mij af hoe ik aan dit tabellen systeem ook 'gasten' kan verbinden? en of iemand wat heeft op te merken (sorry, zo leer ik, dus alle feedback is welkom)

The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 1 december 2009 @ 12:08:33 #254
63192 ursel
"Het Is Hier Fantastisch!
pi_75177348
Je moet je gast ook als een gebruiker benaderen.
  dinsdag 1 december 2009 @ 12:21:36 #255
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75177757
je gebruiker kan userid 0 zijn.
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_75191252
Ah natuurlijk ennuh is het handig om de geladen rechten op te slaan in een sessie? of per pagina lading alle rechten ophalen?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 1 december 2009 @ 19:03:05 #257
109485 Sirolf
001100110100011001001101
pi_75191905
quote:
Op dinsdag 1 december 2009 18:48 schreef Chandler het volgende:
Ah natuurlijk ennuh is het handig om de geladen rechten op te slaan in een sessie? of per pagina lading alle rechten ophalen?
Bij elke pageload opnieuw ophalen is veiliger, maar in een sessie opslaan zal wel weer een query schelen en dus sneller zijn. Het is een afweging tussen beveiliging en snelheid.

Je zou ook kunnen kiezen voor een tussenweg, zoals alleen opnieuw ophalen van rechten bij een POST, of een timestamp opslaan in de sessie en bijvoorbeeld 10 minuten na die tijd de rechten in ieder geval weer laten ophalen (zodat er geen langdurende sessies met de oude rechten actief blijven).
pi_75192005
Veiligheid > Dat beetje performance dat je zou sparen met één query`tje minder.

Tevens TVP.

En chandler, een dergelijke opzet gebruik ik in vrijwel elke applicatie die ik maak; je kunt er immers alle kanten mee uit. Voor de rest leg ik het onderscheid maken tussen een geauthenticeerde gebruiker en een gast op een ander niveau neer, in ieder geval niet op het rechtenniveau. Zo heb ik in veel van mijn applicaties bijvoorbeeld een array met 'safe pages', hetgeen in feite niet meer is dan een array met bestandsnamen (of eventueel functies) waar ook 'gasten' in mogen komen.
pi_75217444
Even een vraagje,

ik heb een website volledig gebouwd in HTML en een klein beetje PHP (includes)
Nou wilde ik graag een CMS achter de website bouwen zodat hij makkelijk aanpasbaar is voor andere gebruikers. Welk CMS is aan te raden (makkelijk en waarbij ik de website snel kan overzetten) ?
  woensdag 2 december 2009 @ 18:47:18 #260
87680 Mirel
Mirel wil een bongophone.
pi_75220771
Ik ben admin van een site (niet zelf gemaakt) en kreeg vandaag een mailtje van de vrouw achter de site. Ze kreeg melding dat de site verhuisd zal worden en het ip zal veranderen. Ik dacht, dat maakt niks uit, maar nu zie ik in de code van index.php dit staan:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// lokaal testen
switch($_SERVER['HTTP_HOST']){

   case 'localhost' :
      $path = '/pikler';
      ini_set ('error_reporting', E_ALL);
   break;

   case '83.98.245.150' :
      $path = '/pikler';
      ini_set ('error_reporting', E_ALL);
   break;

   default :
      $path = '';
   break;
}

Ik neem aan dat ik dat dus zal moeten veranderen : (wat betekent de code eigenlijk?)
When all else fails, you always have delusion.
pi_75221624
quote:
Op woensdag 2 december 2009 18:47 schreef Mirel het volgende:
Ik ben admin van een site (niet zelf gemaakt) en kreeg vandaag een mailtje van de vrouw achter de site. Ze kreeg melding dat de site verhuisd zal worden en het ip zal veranderen. Ik dacht, dat maakt niks uit, maar nu zie ik in de code van index.php dit staan:
[ code verwijderd ]

Ik neem aan dat ik dat dus zal moeten veranderen : (wat betekent de code eigenlijk?)
Waarschijnlijk zul je het IP adres hoeven 83.98.245.150 veranderen naar het nieuwe adres. Dit stukje zelf doet an sich niet zo veel; het kijkt naar de waarde $_SERVER['HTTP_HOST'], als dit localhost of 83.98.245.150 is, dan word de PHP instelling 'error_reporting' op E_ALL gezet (dus alle fouten en waarschuwingen in PHP scripts zullen weergegeven worden) en word de variabele $path op '/pikler' gezet. Alles wat anders us, maakt het $path variabele leeg en stelt géén error_reporting in.

Kortom, dit is een scriptje dat iets doet, afhankelijk van de host waar het op draait.
pi_75222405
quote:
Op dinsdag 1 december 2009 19:03 schreef Sirolf het volgende:

[..]

Bij elke pageload opnieuw ophalen is veiliger, maar in een sessie opslaan zal wel weer een query schelen en dus sneller zijn. Het is een afweging tussen beveiliging en snelheid.

Je zou ook kunnen kiezen voor een tussenweg, zoals alleen opnieuw ophalen van rechten bij een POST, of een timestamp opslaan in de sessie en bijvoorbeeld 10 minuten na die tijd de rechten in ieder geval weer laten ophalen (zodat er geen langdurende sessies met de oude rechten actief blijven).
Opslaan maakt het rechtenbeheer niet echt onveiliger. Als jij je hele rechtenstructuur iedere keer moet bereken doet hij elke keer het zelfde. Aangezien je niet om de 5 dagen de rechten gaat aanpassen.

Maak bij de user een kolom aan iets van Rights ofzo, bereken alle rechten en pleur die dan hier in. Volgende keer heb je de rechten berekend en al zo voor je neus staan. Als je dan rechten gaat aanpassen hoef je alleen maar deze kolom bij iedereen (waar de aanpassing van toepassing op is) leeg te maken en dan zal hij deze opnieuw moeten berekenen waarna hij hem weer opslaat en klaar
pi_75223500
quote:
Op woensdag 2 december 2009 19:25 schreef Pakspul het volgende:

[..]

Opslaan maakt het rechtenbeheer niet echt onveiliger.
Natuurlijk wel. Als jij je rechten alleen maar sporadisch gaat opslaan, kan dat cruciale fouten veroorzaken. Wat als je net iemand betrapt op het verwijderen van records, en die persoon per direct zijn rechten wilt ontnemen?

Als er iets belangrijk is in een (web)-applicatie, dan is het wel (actuele / realtime) beveiliging. Als je applicatie door één eenvoudig query`tje veiliger wordt, dan zou ik me vooral niet over dat (minieme performance-verlies van) query`tje druk gaan maken. Jouw oplossing om alles in één kolom te gooien is nou ook niet bepaald efficiënt.
pi_75223780
quote:
Op woensdag 2 december 2009 19:52 schreef Tuvai.net het volgende:

[..]

Natuurlijk wel. Als jij je rechten alleen maar sporadisch gaat opslaan, kan dat cruciale fouten veroorzaken. Wat als je net iemand betrapt op het verwijderen van records, en die persoon per direct zijn rechten wilt ontnemen?
Vertel mij stap voor stap dan eens hoe dat te werk gaat. Lees dan mijn verhaal nog eens door en zeg dan dat mijn verhaal toch nog correct is.
quote:
Als er iets belangrijk is in een (web)-applicatie, dan is het wel (actuele / realtime) beveiliging. Als je applicatie door één eenvoudig query`tje veiliger wordt, dan zou ik me vooral niet over dat (minieme performance-verlies van) query`tje druk gaan maken.
Dat verklaard waarom windows dus ook alle rechten in een keer berekend en dan vast zet inplaats van ze steeds opnieuw te berekenen.
quote:
Jouw oplossing om alles in één kolom te gooien is nou ook niet bepaald efficiënt.
Efficiënter dan alles rechten ophalen deze helemaal laten berekenen. Als je een ingelogde user hebt haal je toch de informatie van hem op. In iedergeval zijn username, waarom dan ook niet even een extra kolom waar zijn rechten in staan ophalen.
  woensdag 2 december 2009 @ 20:08:57 #265
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75224087
ik heb gewoon een sessie tabel met alle sessies. die koppel ik bij elke request aan de users tabel. voor rechten zou ik d'r een simpele acl class maken die de rechten kan checken adh van info in de users tabel.
Over die extra select of misschien een join op 2 tabellen zou ik me bij de gemiddelde hobbysite absoluut niet druk om maken.
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_75224440
quote:
Op woensdag 2 december 2009 20:00 schreef Pakspul het volgende:
Vertel mij stap voor stap dan eens hoe dat te werk gaat.
Euh, wat snap je niet aan mijn voorbeeld? Als jij een kwaadwillge gebruiker betrapt in jouw systeem, hetgeen misschien wel iemand is die een account gekaapt/gehacked heeft, die van alles aan het verwijderen is, dan wil je die toch meteen zijn rechten kunnen ontnemen? Of wil je dan echt de rechten gaan ontnemen, en braaf gaan wachten tot die gebruiker opnieuw inlogt (of wat dan ook doet waardoor je jouw rechen-update triggert)?
quote:
Dat verklaard waarom windows dus ook alle rechten in een keer berekend en dan vast zet inplaats van ze steeds opnieuw te berekenen.
Windows? Hoezo appels en peren? Sowieso doet Windows dat maar tot een bepaald niveau, voornamelijk op lokaal/workstation niveau. Als ik bijvoorbeeld in een Active Directory een netwerkmap heb waarop ik instel dat een bepaalde groep gebruikers er niet meer in mag komen, dan wordt dat realtime toegepast hoor.
quote:
Efficiënter dan alles rechten ophalen deze helemaal laten berekenen. Als je een ingelogde user hebt haal je toch de informatie van hem op. In ieder geval zijn username, waarom dan ook niet even een extra kolom waar zijn rechten in staan ophalen.
Om te beginnen is een dergelijke kolom niet meer dan een overbodige rotzooi-kolom met, afhankelijk van hoe jij je rechten er in opslaat, waarschijnlijk een lap aan tekstuele data. En nogmaals, waar zit 'm het grote performance- en/of snelheidsverlies in een eenvoudige COUNT() query? Wil je echt zo omslachtig gaan doen om een nota bene onveiliger systeem over te houden, alleen om een simpel query`tje te besparen?

Het kan aan mij liggen, maar als het op veiligheid aan komt, ga je niet 'zuinig' lopen doen.
pi_75225052
quote:
Op woensdag 2 december 2009 20:17 schreef Tuvai.net het volgende:

[..]

Euh, wat snap je niet aan mijn voorbeeld? Als jij een kwaadwillge gebruiker betrapt in jouw systeem, hetgeen misschien wel iemand is die een account gekaapt/gehacked heeft, die van alles aan het verwijderen is, dan wil je die toch meteen zijn rechten kunnen ontnemen? Of wil je dan echt de rechten gaan ontnemen, en braaf gaan wachten tot die gebruiker opnieuw inlogt (of wat dan ook doet waardoor je jouw rechen-update triggert)?
Ik heb het nooit gehad over opnieuw inloggen, wanneer je site een pagina verder gaat zal die weer controleren of deze ingelogd is ja of nee en weer spul uit de database halen. Mits je afbent gestapt van het $_SESSION object. Dat kan misschien wat stof doen op waaien in deze discussie want ik haal bij iedere request de gegevens van de gebruiker opnieuw op zodat deze de laatste informatie heeft. Dus dan ziet die ook of de Rechten kolom is gevult ja of nee, als dit niet zo is dan bouwt hij deze opnieuw op en schrijft deze weer weg en dan gaat hij bij de actie die de gebruiker gaat uitvoeren deze weer checken. Zit 0,0 verschil in met real-time aanpassingen.
quote:
[..]

Windows? Hoezo appels en peren? Sowieso doet Windows dat maar tot een bepaald niveau, voornamelijk op lokaal/workstation niveau. Als ik bijvoorbeeld in een Active Directory een netwerkmap heb waarop ik instel dat een bepaalde groep gebruikers er niet meer in mag komen, dan wordt dat realtime toegepast hoor.
AD maakt een copy van de site (folder-systeem/netwerk schijf) in zijn database waar deze allemaal objecten opslaat met de daarbij horende rechten voor de group/gebruiker/etc
quote:
[..]

Om te beginnen is een dergelijke kolom niet meer dan een overbodige rotzooi-kolom met, afhankelijk van hoe jij je rechten er in opslaat, waarschijnlijk een lap aan tekstuele data. En nogmaals, waar zit 'm het grote performance- en/of snelheidsverlies in een eenvoudige COUNT() query? Wil je echt zo omslachtig gaan doen om een nota bene onveiliger systeem over te houden, alleen om een simpel query`tje te besparen?

Het kan aan mij liggen, maar als het op veiligheid aan komt, ga je niet 'zuinig' lopen doen.
Ik maak gebruik van een rechten beheer waarbij je in verschillende groepen kunt zitten en de gebruiker zelf ook nog rechten kan geven. Dus je moet van alle groepen + gebruiker de rechten ophalen. Daarna gaat hij deze allemaal na om te kijken wat er na het hele overerving verhaal nog voor de gebruiker overblijft. Het resultaat hiervan is een array en de rechten van de gebruiker.
pi_75239038
Ik ben aan 't werk met een php intranet site en ben bezig met een pop-up divje die je te zien krijgt als je een waarde invult in een tekst vak. In die div krijg je dan een aantal links waar een user op kan klikken. Nu gebruik ik onblur om ervoor te zorgen dat de div weer hidden wordt als je naast het tekstvak klikt.

Klein probleempje met de onblur: De klik voert hem uit voordat hij bij de link is, waardoor de link weg is voordat er op geklikt kan worden. Ofterwijl: Klik => Blur => Link niet meer zichtbaar dus kan hij de link niet meer doorgeven.

Iemand eerder zoiets gehad? De oplossingen op internet vind ik te vies om te gebruiken (timer gebruiken om de div verlaat te verwijderen enzo)
pi_75243204
Klinkt als javascript ipv php
pi_75243582
@Pakspul, @Tuval.net, @Hamkaastostie;

Ik ga nu middels timestamps checken of er wijzigingen gemaakt zijn in de rechten tabellen, het kost mij dan per 'tabel' een query (oftewel 3 in mijn geval)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_75255216
misschien niet helemaal PHP maar vooruit het is in php gemaakt dus..

Ik heb laatst een website gemaakt voor iemand, simpele portfolio met wat foto's er op. niks bijzonders.
Nu krijgt hij heel af en toe de opmerking dat de site niet goed wordt weergegeven. Volgens de omschrijving doelden ze op de alt text bij de foto's.

Nu zullen het allemaal wel mensen zijn die sinds ie6 hun browser nooit hebben geupdate, maar aangezien dat nou eenmaal de doelgroep is... vooruit laat ik er eens naar kijken. Maar nu besef ik me net pas dat ik helemaal geen ie6 hier heb (mac) en dus niet kan kijken naar het probleem.

iemand die voor mij een sneakpeak kan nemen en kan zeggen wat er mis is?

bvd!

(ps het gaat om de volgende site: http://www.hennyblaas.nl/?c=1 )
De enige echte BaggerUser!
Riemen
fiets kopen
  donderdag 3 december 2009 @ 18:42:01 #272
63192 ursel
"Het Is Hier Fantastisch!
pi_75255402
quote:
Op donderdag 3 december 2009 18:36 schreef BaggerUser het volgende:
misschien niet helemaal PHP maar vooruit het is in php gemaakt dus..

Ik heb laatst een website gemaakt voor iemand, simpele portfolio met wat foto's er op. niks bijzonders.
Nu krijgt hij heel af en toe de opmerking dat de site niet goed wordt weergegeven. Volgens de omschrijving doelden ze op de alt text bij de foto's.

Nu zullen het allemaal wel mensen zijn die sinds ie6 hun browser nooit hebben geupdate, maar aangezien dat nou eenmaal de doelgroep is... vooruit laat ik er eens naar kijken. Maar nu besef ik me net pas dat ik helemaal geen ie6 hier heb (mac) en dus niet kan kijken naar het probleem.

iemand die voor mij een sneakpeak kan nemen en kan zeggen wat er mis is?

bvd!

(ps het gaat om de volgende site: http://www.hennyblaas.nl/?c=1 )
Ik zie een tag <h2> als ik het met Chrome bekijk
Andere browsers niet gechecked.
pi_75256015
Ik snap niet wat de toegevoegde waarde is van bij elke request opnieuw de rechten ophalen van een gebruiker. Waarom niet bij elke bewerking checken of de bewerking mag worden uitgevoerd?
pi_75263567
Waarom niet Scorpie? zie het als dit forum, je wilt opeens geen gebruiker meer hebben in KPD (direct, nu) dan is dat met een klik gebeurd ipv wachten totdat een user iets post oid?!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_75263761
quote:
Op donderdag 3 december 2009 18:59 schreef Scorpie het volgende:
Ik snap niet wat de toegevoegde waarde is van bij elke request opnieuw de rechten ophalen van een gebruiker. Waarom niet bij elke bewerking checken of de bewerking mag worden uitgevoerd?
Als je in 1 keer alle rechten van een user opvraagt, kost je dat in principe 1 query per pageview. Als je per bewerking gaat opvragen, is het wel zo handig om te zorgen dat het je in ieder geval niet meer queries kost.
pi_75263799
quote:
Op donderdag 3 december 2009 18:59 schreef Scorpie het volgende:
Ik snap niet wat de toegevoegde waarde is van bij elke request opnieuw de rechten ophalen van een gebruiker. Waarom niet bij elke bewerking checken of de bewerking mag worden uitgevoerd?
Dat doe ik omdat ik, voordat mijn gebruiker een handeling uit voert, ik ook wil laten zien dat de gebruiker de betreffende handeling niet mag uit voeren. Denk aan een melding, of het disablen van inputs, of iets in die trant. Als ik zelf ergens een hekel aan heb, dan is het wel om een heel formulier in te vullen, om vervolgens een "oeps, jij mag dit niet!" te krijgen wanneer ik het formulier submit.
pi_75263928
quote:
Op donderdag 3 december 2009 22:10 schreef Chandler het volgende:
Waarom niet Scorpie? zie het als dit forum, je wilt opeens geen gebruiker meer hebben in KPD (direct, nu) dan is dat met een klik gebeurd ipv wachten totdat een user iets post oid?!
Een bewerking kan vanalles zijn, ook het bekijken van posts in een forum.
pi_75264227
quote:
Op donderdag 3 december 2009 22:17 schreef Light het volgende:

[..]

Een bewerking kan vanalles zijn, ook het bekijken van posts in een forum.
Tja, het is maar net hoe je de post wil lezen (bewerking zie ik niet als het lezen van een post)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_75265380
quote:
Op donderdag 3 december 2009 22:24 schreef Chandler het volgende:

[..]

Tja, het is maar net hoe je de post wil lezen (bewerking zie ik niet als het lezen van een post)
Maar je moet wel verschillende dingen controleren, je mag namelijk niet iedere post lezen.
Is de post publiek, cq heeft de bezoeker de juiste rechten om de post te bekijken?
Is het topic waar de post in staat publiek, cq, heeft de bezoeker de juisten rechten om het topic te bekijken?
Is het forum waar het topic in staat publiek, cq heeft de bezoeker de juiste rechten om in het forum te kijken?

En misschien nog wel meer dingen.
pi_75270167
Ik dacht; laat ik eens wat PHP noobs helpen, maar helaas...

@ Light: Ha ZCE'er! ZCE'ers ownen, en hard!
pi_75270266
quote:
Op vrijdag 4 december 2009 01:30 schreef GuidooH het volgende:
Ik dacht; laat ik eens wat PHP noobs helpen, maar helaas...

@ Light: Ha ZCE'er! ZCE'ers ownen, en hard!
hellup mij!

heb moie srcpt gedwonload, hij werkt wel, mar heele tijjd is allus weg of staan er links nara pr0n sitse ensow.. wat moet k doewn?
pi_75271560
quote:
Op vrijdag 4 december 2009 01:39 schreef VeJaderr het volgende:

[..]

hellup mij!

heb moie srcpt gedwonload, hij werkt wel, mar heele tijjd is allus weg of staan er links nara pr0n sitse ensow.. wat moet k doewn?
Minder zuipen en nog eens uitleggen wat je wilt als je weer nuchter bent.
  vrijdag 4 december 2009 @ 10:46:47 #283
201614 Doc.Brown
Great Scott!
pi_75275056
Hmm, nu loop ik toch tegen iets aan bij MySQL wat je denkt dat toch moet kunnen.

Ik heb een tabel met prijsjes die elk een klasse kunnen hebben. Dus één klasse kan meerdere prijzen hebben. In de site wil ik dan eigenlijk dat hij alleen de duurste prijs van die klasse laat zien en zodra de voorraad op is, dan pas de goedkopere variant.

Ik dacht gelijk aan GROUP BY klasse_id en dan gesorteerd op de duurste prijs eerst. Maar dat werkt niet, die GROUP BY lijkt eerder toegepast te worden dan de sortering waardoor ik (naast andere prijzen) die goedkopere (dubbele) klasse eerst zie.

Niet helemaal wat ik wilde dus. Dit moet toch redelijk eenvoudig mogelijk zijn? Heb al geprobeerd om in de select MAX te gebruiken. Maar daarmee haalt hij wél de duurste prijs op, maar niet de bijbehorende recordgegevens (die van voorraad enzo).

Hopelijk weet iemand van jullie dé oplossing.
You have to come back with me! Back to the Future!
pi_75278178
quote:
Op vrijdag 4 december 2009 01:30 schreef GuidooH het volgende:
Ik dacht; laat ik eens wat PHP noobs helpen, maar helaas...

@ Light: Ha ZCE'er! ZCE'ers ownen, en hard!
Ik denk dat ik dat naderhand ook eens d'r bji ga nemen, puur voor het hebben van 'bewijsmateriaal' dat ik verstand van PHP heb. Ik heb sinds kort een MCTS certificering (ASP.NET 3.5 application developer) en dat heeft tot nu toe behoorlijk in mijn voordeel gewerkt.

Voor de ZCE`ers: Heeft zo'n Zend certificaat veel waarde op 'de markt'? Was de cursus een beetje te doen? Heb je profijt gehad van het worden van ZCE?
  vrijdag 4 december 2009 @ 12:33:05 #285
46383 Tiemie
sowieso wel!
pi_75278755
Vind ZCE niet echt heel nuttig. Zegt niets over hoe je PHP kunt toepassen (ja ik ben ZCE, wil ZF certificaat nog een keer halen)

ZCE PHP 5 gaat voornamelijk over syntax en functies binnen PHP. Er staan bijvoorbeeld vragen in over wat een bepaalde functie returned of de volgorde van parameters, terwijl je dat bij de meest gebruikte functies wel weet en anders snel opzoekt op php.net of via autocomplete in je IDE.
pi_75280582
quote:
Op vrijdag 4 december 2009 12:16 schreef Tuvai.net het volgende:

Voor de ZCE`ers: Heeft zo'n Zend certificaat veel waarde op 'de markt'? Was de cursus een beetje te doen? Heb je profijt gehad van het worden van ZCE?
Cursus? Welke cursus? Ik heb gewoon een boekje gekocht, dat doorgewerkt, en toen examen gedaan. Was wel ZCE PHP4 in die tijd, ZCE PHP5 heb ik niet en daarmee kan ik dus ook niet vergelijken.

Of het veel voordeel heeft op "de markt" weet ik niet. Ik heb niet het idee dat ik er heel veel aan heb gehad.

Volgende stap voor mij wordt SCJP, maar dat is wat lastiger. Kan ook komen omdat ik maar heel weinig doe met Java.
pi_75289644
Kan iemand mij helpen met het volgende probleem?
Ik heb op mijn website een simpel formuliertje die wat gegevens naar een database verstuurd. Maar nu wil ik graag dat nadat de gebruiker de gegevens verstuurd heeft dat hij weer terug komt op de site waarvandaan hij de gegeven verstuurd en dat er dan ook staat weergegeven: Uw gegevens zijn met suc6 verstuurd.

Nu is het zo dat de gebruiker niks meer ziet. Hij laadt nu gewoon insert.php, die dus geen inhoud weergeeft.
pi_75290334
quote:
Op maandag 30 november 2009 18:58 schreef hamkaastosti het volgende:

[..]

daar klopt bijzonder weinig van. wil je het in 1 pagina doen dan kan het bijvoorbeeld zo:
[ code verwijderd ]

je zult nog wel zelf eea moeten klussen
Oke thnx, maar waar plak ik nu die code in dan?
Kan ik dat gewoon in een html code zetten?

[ Bericht 22% gewijzigd door NoShitSherlock op 04-12-2009 19:29:52 ]
pi_75290384
quote:
Op vrijdag 4 december 2009 17:32 schreef NoShitSherlock het volgende:
Kan iemand mij helpen met het volgende probleem?
Ik heb op mijn website een simpel formuliertje die wat gegevens naar een database verstuurd. Maar nu wil ik graag dat nadat de gebruiker de gegevens verstuurd heeft dat hij weer terug komt op de site waarvandaan hij de gegeven verstuurd en dat er dan ook staat weergegeven: Uw gegevens zijn met suc6 verstuurd.

Nu is het zo dat de gebruiker niks meer ziet. Hij laadt nu gewoon insert.php, die dus geen inhoud weergeeft.
Ik heb het al gevonden. Je moet de volgende code bovenaan je php file zetten:
1
2
3
4
   
<?php  
header("Location: http://www.site.nl/"); /* Stuur de browser naar www.site.nl */  
?>  
  vrijdag 4 december 2009 @ 18:33:29 #290
46383 Tiemie
sowieso wel!
pi_75291204
quote:
Op vrijdag 4 december 2009 13:26 schreef Light het volgende:

[..]

Cursus? Welke cursus? Ik heb gewoon een boekje gekocht, dat doorgewerkt, en toen examen gedaan. Was wel ZCE PHP4 in die tijd, ZCE PHP5 heb ik niet en daarmee kan ik dus ook niet vergelijken.

Of het veel voordeel heeft op "de markt" weet ik niet. Ik heb niet het idee dat ik er heel veel aan heb gehad.

Volgende stap voor mij wordt SCJP, maar dat is wat lastiger. Kan ook komen omdat ik maar heel weinig doe met Java.
Het enige "voordeel" voor mij was een sticker, certificaat, spam krijgen via de yellow pages en dat mijn werkgever een icoontje op de site mag zetten. . Heb zelf overigens ook geen cursus gedaan, alleen een ZCE-php5 boek besteld en doorgelezen.

Ben overigens ook bezig met SCJP. alsin, ik heb het boek . Moet ik nog een keer inplannen
pi_75312449
Ik ben momenteel bezig met een schoolproject (een soort deviantART kloon) met de mogelijkheid om op de uploads/afbeeldingen te stemmen met een cijfer van 1 tot 10. Nu moet ik dus ook een pagina maken met de top 10 afbeeldingen met de hoogste scores. Hoe krijg ik dit voor elkaar? Ik weet dat ik een loop moet gebruiken maar hoe draai ik de hoogste gemiddeldes uit?

Alvast bedankt
  zaterdag 5 december 2009 @ 13:37:43 #292
152303 hamkaastosti
ook bekend als hamkaastosti
pi_75312489
hoe sla je die scores op? in mysql? dan is het gewoon ORDER BY score in je query en dan met while() daar door heen loopen
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
  zaterdag 5 december 2009 @ 13:41:47 #293
37634 wobbel
Da WoBBeL King
pi_75312562
Ik heb een Smarty als template parser, maar nu vroeg ik mij af of ik met smarty ook nog wat in een .js file kon replacen? Ik kan de JS code niet in het HTML bestand zelf zetten omdat Smarty daar niet goed mee overweg kan, maar in die JS moet ik wel steeds een variable aanpassen...
  zaterdag 5 december 2009 @ 13:48:06 #294
107951 JortK
Immer kwaliteitsposts
pi_75312725
quote:
Op zaterdag 5 december 2009 13:41 schreef wobbel het volgende:
Ik heb een Smarty als template parser, maar nu vroeg ik mij af of ik met smarty ook nog wat in een .js file kon replacen? Ik kan de JS code niet in het HTML bestand zelf zetten omdat Smarty daar niet goed mee overweg kan, maar in die JS moet ik wel steeds een variable aanpassen...
Hier al eens naar gekeken om te zien of je dan wel je js erin kan knallen: http://www.smarty.net/manual/id/language.function.literal.php
pi_75312732
quote:
Op zaterdag 5 december 2009 13:37 schreef hamkaastosti het volgende:
hoe sla je die scores op? in mysql? dan is het gewoon ORDER BY score in je query en dan met while() daar door heen loopen
De scores van elke vote zitten in de db inderdaad, maar de gemiddelde scores niet.
pi_75313128
quote:
Op zaterdag 5 december 2009 13:48 schreef Chanty87 het volgende:

[..]

De scores van elke vote zitten in de db inderdaad, maar de gemiddelde scores niet.
Er van uit gaande dat je een tabel met votes / stemmen hebt, waar per record een score, en een afbeelding_id (oftewel, de afbeelding waar het over gaat) in staat:

1
2
3
4
5
6
7
8
9
10
SELECT
    AVG(score) AS gemiddelde,
    afbeelding_id
FROM
    tabel_met_stemmen
GROUP BY
    afbeelding_id
ORDER BY
    gemiddelde DESC
LIMIT 10
pi_75313652
Ik heb ook eens een vraag. Ik ben voor de verandering weer eens met een MySQL bezig; deze wil ik net zoals mijn andere databases netjes relationeel hebben, dus gebruik ik InnoDB als Storage engine. Een 'interne' relatie leggen via tabel structuur -> Relatieoverzicht gaat prima, maar ik wil natuurlijk ook een foreign key toevoegen. Ik heb fictief de volgende 2 tabellen:

Tabel A
1
2
3
4
bla_id     BIGINT(20)   PRIMARY KEY
bla_veld1  VARCHAR(50)
bla_veld2  VARCHAR(50)
enz.


Nu heb ik een Tabel B, met een veld die een foreign key moet hebben, naar de primary key van Tabel A (veld bla_id):

Tabel B:
1
2
3
4
5
wtf_id     BIGINT(20)   PRIMARY KEY
bla_id     BIGINT(20)   INDEX
wtf_veld1  VARCHAR(50)
wtf_veld2  VARCHAR(50)
enz.


Kolom TabelB.bla_id moet dus een foreign key krijgen die verwijst naar TabelA.bla_id:

1ALTER TABLE `TabelB` ADD FOREIGN KEY ( `bla_id` ) REFERENCES `TabelA` (`bla_id`);


Dit gebeurt echter niet. Ik krijg van PHPMyAdmin de melding 'Fout bij het maken van vreemdesleutel naar controleer data typen)'. De datatypen zijn echter precies hetzelfde (beiden BIGINT(20)). Wat zie ik over het hoofd?
  zaterdag 5 december 2009 @ 14:28:37 #298
75592 GlowMouse
l'état, c'est moi
pi_75313750
Is een van de bigints toevallig unsigned en de ander niet?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_75313822
quote:
Op zaterdag 5 december 2009 14:28 schreef GlowMouse het volgende:
Is een van de bigints toevallig unsigned en de ander niet?
DOH. TabelB.bla_id stond inderdaad nog niet op unsigned.
pi_75314122
quote:
Op zaterdag 5 december 2009 14:05 schreef Tuvai.net het volgende:

[..]

Er van uit gaande dat je een tabel met votes / stemmen hebt, waar per record een score, en een afbeelding_id (oftewel, de afbeelding waar het over gaat) in staat:
[ code verwijderd ]
Thanks Dat was idd wat ik nodig heb. Nu probeer ik het te echo'en maar ik krijg óf alleen "Resource id #116" of een
quote:
Catchable fatal error: Object of class stdClass could not be converted to string in /lalala/exec-php/includes/runtime.php(42) : eval()'d code on line 4
(ik maak gebruik van Wordpress + ExecPHP plugin) error.

Excuse the n00b plz

Edit: Nvm

[ Bericht 4% gewijzigd door Chanty87 op 05-12-2009 14:54:50 ]
pi_75315061
Weet hier iemand hoe je PHP files opmaakt met css??
Ik heb namelijk een css file die nu niet werkt met de php file.
Althans niet met de tabel die in een PHP code staat. De pagina die buiten de PHp code staat wordt wel correct opgemaakt door de CSS file.

Weet iemand hoe je dit oplost???
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')