abonnement Unibet Coolblue Bitvavo
  dinsdag 24 juli 2007 @ 23:33:07 #102
84926 WyriHaximus
Release the hounds smithers!
pi_51802555
quote:
Op dinsdag 24 juli 2007 23:25 schreef Geqxon het volgende:
Maar dan moet hij dus (in mijn geval) 6621 keer een select query uitvoeren? Ik heb wat moeite een testcase op te zetten, maar zo uit mijn hoofd lijkt dit niet bijster veel rapper.
Zover ik weet voert hij eerst de sub query uit, en zet het resultaat daar van in IN. 2 queries afaik. Kan er totaal naast zitten. Jammer dat JortK op vakantie is die weet behoorlijk wat van SQL af .
phluphy for president!
pi_51802827
Volgens MySQL doe ik het iig goed:

1
2
3
SELECT table1.* FROM table1
  LEFT JOIN table2 ON table1.id=table2.id
  WHERE table2.id IS NULL;


.... nu moet ik wel zeggen dat ik heel stout weer implicit en explicit joins dwars door elkaar gebruik, maar dit maakt op de performance weinig uit.
  dinsdag 24 juli 2007 @ 23:44:45 #104
84926 WyriHaximus
Release the hounds smithers!
pi_51802940
Heb je indexes? Hoeveel data is het eingelijk? (Aantal reccords totale tabel grote.)
phluphy for president!
pi_51803237
2,500 bookmarks, 6,500 nieuwsartikelen, 70 categoriën en 250 categorië abbonementen. Niet veel dus

En jep, waar nodig geindexed.
  woensdag 25 juli 2007 @ 00:47:10 #106
84926 WyriHaximus
Release the hounds smithers!
pi_51804743
Niet bar veel dus . Maar geen idee verder waarom het zo traag is .
phluphy for president!
  woensdag 25 juli 2007 @ 01:09:49 #107
71919 wonderer
Hung like a My Little Pony
pi_51805154
Hoe kan ik uitvogelen hoeveelste in een resultset een bepaald record is? Bijvoorbeeld "select from producten where klant_id='1'" en dan wil ik weten hoeveelste de barbecue is in die lijst. Is daar iets makkelijks voor?
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_51805604
quote:
Op woensdag 25 juli 2007 01:09 schreef wonderer het volgende:
Hoe kan ik uitvogelen hoeveelste in een resultset een bepaald record is? Bijvoorbeeld "select from producten where klant_id='1'" en dan wil ik weten hoeveelste de barbecue is in die lijst. Is daar iets makkelijks voor?
Puur SQL, of ook met PHP?
pi_51805662
- laat maar -

[ Bericht 82% gewijzigd door -Orion- op 25-07-2007 01:53:42 ]
Hier komt ooit nog iets interessants te staan.
  woensdag 25 juli 2007 @ 01:45:43 #110
71919 wonderer
Hung like a My Little Pony
pi_51805748
quote:
Op woensdag 25 juli 2007 01:36 schreef Geqxon het volgende:

[..]

Puur SQL, of ook met PHP?
Ook met PHP.
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
  woensdag 25 juli 2007 @ 07:48:16 #111
84926 WyriHaximus
Release the hounds smithers!
pi_51807621
quote:
Op woensdag 25 juli 2007 01:45 schreef wonderer het volgende:

[..]

Ook met PHP.
1
2
3
4
5
6
7
8
9
<?php
$i 
0;
$result executequery("blablabla");
while(
$row fetchrow($result))
{
$i++;
echo(
$i "e reccord:" $row);
}
?>

Zoiets?
phluphy for president!
pi_51807945
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$result 
mysql_query("SELECT product FROM producten WHERE klant_id='1");

$i 0;
while (
$row mysql_fetch_assoc($result)){
    if (
$row['product'] == "Barbecue"){
        
$row_number $i;
        break();
    }
    
    
$i++;
}

if (isset(
$row_number)){
    echo 
"Barbecue was nummer " $row_number " op de lijst.";
}
?>


Oid.
pi_51809295
Ik heb niet echt een vraag over MySQL maar wel één over PHP dus... ik verwacht dat-ie hier wel mag of niet?

Ik ben een beetje met classes aan het rommelen maar ik zie net iets over het hoofd waardoor het niet werkt... Kortom, tijd voor meer ogen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
        
require_once('anotherclass.php');

        class 
Baap
        
{
                
private $linkie;

                
public function doSomething()
                {
                        echo 
"zomg ";
                        
var_dump($linkie);
                }

                
public function __construct()
                {
                    
$linkie = new AnotherClass();
                    
var_dump($linkie);
                    echo 
"<br>";
                }
        }
?>


Ik heb dus twee classes waarvan er één in een include zit (en dus bovenin wordt eengeroepen). Nu heb ik dus in de __construct() dat-ie de tweede classe initialiseert en deze in de private variabele pleurt. Of tenminste dat wil ik, PHP denkt daar kennelijk anders over want in de functie doSomething is $linkie dus NULL. Ik ben al waar meer aan het proberen geweest maar ik zie 't niet meer... Kan iemand ff een aanwijzing geven?
Iemand dood maken met een blije mus is nooit grappig...
  woensdag 25 juli 2007 @ 10:09:39 #114
84926 WyriHaximus
Release the hounds smithers!
pi_51809429
quote:
Op woensdag 25 juli 2007 10:03 schreef DikkeSmikkel het volgende:
Ik heb niet echt een vraag over MySQL maar wel één over PHP dus... ik verwacht dat-ie hier wel mag of niet?

Ik ben een beetje met classes aan het rommelen maar ik zie net iets over het hoofd waardoor het niet werkt... Kortom, tijd voor meer ogen.
[ code verwijderd ]

Ik heb dus twee classes waarvan er één in een include zit (en dus bovenin wordt eengeroepen). Nu heb ik dus in de __construct() dat-ie de tweede classe initialiseert en deze in de private variabele pleurt. Of tenminste dat wil ik, PHP denkt daar kennelijk anders over want in de functie doSomething is $linkie dus NULL. Ik ben al waar meer aan het proberen geweest maar ik zie 't niet meer... Kan iemand ff een aanwijzing geven?
self::linkie ipv $linkie . Omdat linkie een member is van je class kan je hem niet als een gewonen $var opschrijven maar moet je aangeven dat je de member wilt self::var . Of en $this->linkie kan ook maar dat vind hij niet leuk als je in je constructor zit .

Ow en dit is het PHP en/of (My)SQL topic dus PHP dingen zijn nooit een probleem .
phluphy for president!
pi_51809760
In de constructor een nieuwe klasse definieëren, pas je wel op dat je geen lus krijgt?
pi_51809883
quote:
Op woensdag 25 juli 2007 10:09 schreef WyriHaximus het volgende:

[..]

self::linkie ipv $linkie . Omdat linkie een member is van je class kan je hem niet als een gewonen $var opschrijven maar moet je aangeven dat je de member wilt self::var . Of en $this->linkie kan ook maar dat vind hij niet leuk als je in je constructor zit .

Ow en dit is het PHP en/of (My)SQL topic dus PHP dingen zijn nooit een probleem .
Bedankt voor je snelle antwoord! Ik ga even verder puzzelen. Als ik er niet uit kom dan merk je dat vanzelf...
Iemand dood maken met een blije mus is nooit grappig...
pi_51809916
quote:
Op woensdag 25 juli 2007 10:22 schreef Geqxon het volgende:
In de constructor een nieuwe klasse definieëren, pas je wel op dat je geen lus krijgt?
De __contructor wordt toch maar 1x uitgevoerd toch?
Iemand dood maken met een blije mus is nooit grappig...
pi_51810051
quote:
Op woensdag 25 juli 2007 10:28 schreef DikkeSmikkel het volgende:

[..]

De __contructor wordt toch maar 1x uitgevoerd toch?
Als je in de constructor van "Auto" een nieuw "Auto" object aan maakt, krijg je een aardige lus. .


Trouwens: CSV.
XML.
  woensdag 25 juli 2007 @ 10:35:51 #119
84926 WyriHaximus
Release the hounds smithers!
pi_51810104
quote:
Op woensdag 25 juli 2007 10:27 schreef DikkeSmikkel het volgende:

[..]

Bedankt voor je snelle antwoord! Ik ga even verder puzzelen. Als ik er niet uit kom dan merk je dat vanzelf...
quote:
Op woensdag 25 juli 2007 10:28 schreef DikkeSmikkel het volgende:

[..]

De __contructor wordt toch maar 1x uitgevoerd toch?
Niet als je in de constructor van de class waar je in zit die zelfde class ook weer initialiseerd . Dan krijg je een loop .
phluphy for president!
pi_51810793
quote:
Op woensdag 25 juli 2007 10:35 schreef WyriHaximus het volgende:
Niet als je in de constructor van de class waar je in zit die zelfde class ook weer initialiseerd . Dan krijg je een loop .
Nee ok dan wel, maargoed dan is zit het geheel wel heel brak in elkaar. De opzet is, is dat ik een class heb met een aantal functies. Voor deze functies wordt een andere class gebruikt (AnotherClass). Daarom wil ik in de class Baap bij initialisatie de AnotherClass alvast zodat ik vanuit iedere functie in Baap AnotherClass kan gebruiken en dus niet bij iedere functie apart
1
2
3
<?php
$var 
= new AnotherClass();
?>

hoef uit te voeren.

Ik heb nu dus
1
2
3
<?php
self
::$linkie = new AnotherClass();
?>

wat ik voor zover ik heb gezien op PHP.net etc goed zou moeten zijn maar dan geeft var_dump($linkie) welke recht onder bovenstaande regel staat een NULL terug. Terwijl deze nu toch ingevuld had moeten zijn lijkt me.

$linkie is nu
1
2
3
<?php
private 
static $linkie;
?>
Iemand dood maken met een blije mus is nooit grappig...
pi_51810886
Laat maar, te vroeg geroepen.

1
2
3
<?php
var_dump
(self::$message);
?>

werkt wel overal...

Bedankt voor de hulp iig!
Iemand dood maken met een blije mus is nooit grappig...
pi_51813886
quote:
Op dinsdag 24 juli 2007 22:19 schreef Geqxon het volgende:
Weer een performance vraag, maar deze keer eentje met een groter effect. Alsin: 0.2 seconden versus 8 seconden.

Een simpele query, met een LEFT JOIN op een bookmarktabel. Nu wil ik dus graag alle nieuwsartikelen zien die de user gebookmarked heeft. Dus hop, de LEFT JOIN, en dan op de koppelende ID van de bookmarktabel een IS NOT NULL. Gaat zelfs over duizenden nieuwsartikelen prima, supersnel dus.

Nu wil ik zien welke nieuwsartikelen de user niet gebookmarked heeft. (For the record: Dit zijn er minder dan de wel gebookmarkte nieuwsartikelen). Dit doe ik door een IS NULL op het koppelend ID van de bookmark tabel te zetten. Probleem dus: Dit gaat vreselijk traag...

Zou dit misschien sneller op te lossen zijn? Ik weet dat JOINS traag kunnen zijn, en hiermee is dat duidelijk te zien.
Met een LEFT JOIN met een IS NOT NULL op de gekoppelde tabel zeg je eigenlijk 'ik wil alle waarden van de gekoppelde tabellen die bestáán', en dat is dus gewoon een INNER JOIN wat betreft de performance: heb je wel indices op de keys in beide tabellen? (dus in tabel 1 op de primary key, en in tabel 2 op de foreign key)
pi_51813958
tvp
pi_51814467
quote:
Op woensdag 25 juli 2007 12:45 schreef JeRa het volgende:

[..]

Met een LEFT JOIN met een IS NOT NULL op de gekoppelde tabel zeg je eigenlijk 'ik wil alle waarden van de gekoppelde tabellen die bestáán', en dat is dus gewoon een INNER JOIN wat betreft de performance: heb je wel indices op de keys in beide tabellen? (dus in tabel 1 op de primary key, en in tabel 2 op de foreign key)
Een INNER JOIN is een goede, ik bouw mijn querys altijd met MySQL PHP op waardoor ik nog niet zo "dynamisch" dacht.

Verder heb ik indices op de primary en foreign keys van de tabellen die belangrijk zijn, mede daarom vind ik het vreemd dat het zo traag gaat. Zelf gok ik dat hij alle bookmark-records afgaat, en dat voor elk nieuwsartikel. Iets dat de traagheid prima verklaard. :-)

[ Bericht 1% gewijzigd door Geqxon op 25-07-2007 13:16:39 ]
pi_51814622
@Geqxon

Je kunt altijd nog EXPLAIN gebruiken om erachter te komen wat MySQL intern doet om je query uit te voeren output van beide SELECTs kun je dan vergelijken.
pi_51814880
quote:
Op woensdag 25 juli 2007 13:09 schreef JeRa het volgende:
@Geqxon

Je kunt altijd nog EXPLAIN gebruiken om erachter te komen wat MySQL intern doet om je query uit te voeren output van beide SELECTs kun je dan vergelijken.
Bedankt, die nemen we mee.
  woensdag 25 juli 2007 @ 16:08:12 #127
71919 wonderer
Hung like a My Little Pony
pi_51821509
quote:
Op woensdag 25 juli 2007 07:48 schreef WyriHaximus het volgende:

[..]


[ code verwijderd ]

Zoiets?
quote:
Op woensdag 25 juli 2007 08:43 schreef Geqxon het volgende:

[ code verwijderd ]


Oid.
Hm, ik had gedacht/gehoopt dat er een handigheidje voor was. Ik meende er iets over gelezen te hebben in de research van de afgelopen weken maar natuurlijk kan ik dat niet meer terugvinden. Dit lijkt me toch niet zo heel prettig voor een query met veel records...

Nou ja, bedankt
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_51822421
quote:
Op woensdag 25 juli 2007 16:08 schreef wonderer het volgende:

[..]


[..]

Hm, ik had gedacht/gehoopt dat er een handigheidje voor was. Ik meende er iets over gelezen te hebben in de research van de afgelopen weken maar natuurlijk kan ik dat niet meer terugvinden. Dit lijkt me toch niet zo heel prettig voor een query met veel records... :{

Nou ja, bedankt ;)
1
2
3
4
5
SELECT emp_id, lname, fname, job_id,
(SELECT COUNT(*) FROM employee e2 WHERE e2.emp_id <= e.emp_id AND e2.job_id = 10) AS rownumber
FROM employee e
WHERE job_id = 10
ORDER BY emp_id

bron

Ook een interresante methode :)
pi_51830023
En net toen ik mijn trage IS NOT NULL wou testen.... gaat het opeens razendsnel! Vreemd, misschien toch een hickup ergens.
  woensdag 25 juli 2007 @ 21:04:28 #130
71919 wonderer
Hung like a My Little Pony
pi_51831318
quote:
Op woensdag 25 juli 2007 16:34 schreef Geqxon het volgende:

[..]


[ code verwijderd ]

bron

Ook een interresante methode
Daar snap ik geen reet van. Heb nu iets in elkaar geknutseld, kijken of dat werkt. Komt uiteindelijk toch op een while loop uit Dat wou ik juist niet. Nou ja, aan de andere kant is het max aantal records waar hij doorheen moet 200, dat zal niet zoveel geheugen kosten toch?
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_51832169
quote:
Op woensdag 25 juli 2007 21:04 schreef wonderer het volgende:

[..]

Daar snap ik geen reet van. Heb nu iets in elkaar geknutseld, kijken of dat werkt. Komt uiteindelijk toch op een while loop uit Dat wou ik juist niet. Nou ja, aan de andere kant is het max aantal records waar hij doorheen moet 200, dat zal niet zoveel geheugen kosten toch?
Je telt simpelweg het aantal records tot en met het record dat jij wilt hebben.
  woensdag 25 juli 2007 @ 21:40:15 #132
71919 wonderer
Hung like a My Little Pony
pi_51832520
quote:
Op woensdag 25 juli 2007 21:30 schreef Geqxon het volgende:

[..]

Je telt simpelweg het aantal records tot en met het record dat jij wilt hebben.
Yeah, zo heb ik het nu. Ach ja, 't was het proberen waard

Bedankt voor het meedenken en tot de volgende vraag, die ongetwijfeld binnenkort zal komen
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
  woensdag 25 juli 2007 @ 23:09:57 #133
62215 qu63
..de tijd drinkt..
pi_51836146
* qu63 is bezig met sessions, alleen dat gaat niet zo best :')

ik heb gekeken op http://www.phphulp.nl/php/scripts/3/5/ maar zoals ik het nu heb werkt het niet echt:

[login.php]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
<?php
session_start
();
require(
'sql.php');
if (
session_is_registered("sess_loginnaam") && session_is_registered("sess_id"))
{
    
header("Location: admin.php");
    exit;
}
else
{
$user = DB_USER;
$pass = DB_PASS;
$host = DB_HOST;
$dbdb = DB_DATABASE;

// zet het tabel en de volgende pagina
$table = "gebruikers";
// nieuws.php veranderen in je eigen volgende pagina
$nextpage = "admin.php";

if (!
mysql_select_db($dbdb, mysql_connect($host, $user, $pass)))
{
    echo
"Connectie met database mislukt.";
    exit();
}

// check of de user op de 'login' knop heeft gedrukt en of $loginnaam en $paswoord niet leeg zijn
if ($HTTP_POST_VARS["loginnaam"] && $HTTP_POST_VARS["paswoord"])
{
    
/* haal login gegevens uit database en check de
    gegevens met de ingevoerde gegevens */    
    
$HTTP_POST_VARS["paswoord"]=md5($HTTP_POST_VARS["paswoord"]);
    
    
$sql_db = "SELECT id, loginnaam, paswoord FROM $table WHERE loginnaam = '$HTTP_POST_VARS[loginnaam]' AND paswoord = '$HTTP_POST_VARS[paswoord]'";
    
$res_db = mysql_query($sql_db);

    
// check of er een overeenkomst is met ingevoerde en uitgelezen bestanden
    
if (mysql_num_rows($res_db) >= 1)
    {
        
// zet de values van database in een array
        
$row = mysql_fetch_array($res_db);

        
// zet de sessions
        
$sess_id = $row[id];
        
$sess_loginnaam = $row[loginnaam];

        
// registreer ze
        
session_register($sess_id);
        
session_register($sess_loginnaam);
//        3600,
        
session_set_cookie_params(3600);
        echo
"Je bent nu ingelogd. Klik <a href=$nextpage>hier</a> om verder te gaan.";
    }
    
    
/* indien er geen overeenkomst is tussen ingevoerde
    en uitgelezen gegevens */
    
    
else
    {
        echo
"Verkeerde loginnaam of paswoord<p>";
        
        echo
"Ga <a href="$PHP_SELF">terug</a> en probeer het opnieuw.";
    }
}

// indien er niet op de 'login' knop is gedrukt

else
{
    
// formulier
    
echo "<table border=0 cellspacing=0 cellpadding=5>";
    echo
"<form method=POST action=$PHP_SELF>";

    
// loginnaam veld
    
echo "<tr><td>Loginnaam:</td></tr>";
    echo
"<tr><td><input type=text name=loginnaam></td></tr>";

    
// space
    
echo "<tr><td> </td></tr>";
    
    
// paswoord veld
    
echo "<tr><td>Paswoord:</td></tr>";
    echo
"<tr><td><input type=password name=paswoord></td></tr>";

    
// space
    
echo "<tr><td> </td></tr>";

    
// submit knop
    
echo "<input type=submit name=submit value=Login>";
    
    
// sluit form & tabel
    
echo "</form>";
    echo
"</table>";
}
}
?>



[admin.php]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
session_get_cookie_params
();
session_start();
if (
session_is_registered($sess_loginnaam))
{
echo
"session_is_registered" .$sess_loginnaam."";
}
if (
session_is_registered($sess_id))
{
echo
"session_is_registered" .$sess_id."";
}

if (
session_is_registered("sess_loginnaam") && session_is_registered("sess_id"))
{
    echo
"gelukt!";
    
// hier de pagina
}
else
{
    echo
"niet gelukt!";
    
// geen rechten, niet ingelogd melding
}
?>


wat gaat er fout?
Hij wil dus mijn login gegevens niet onthouden, waardoor admin.php steeds zegt dat ik niet ingelogd ben..

iemand tips?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  woensdag 25 juli 2007 @ 23:19:44 #134
71919 wonderer
Hung like a My Little Pony
pi_51836631
Sowieso... als iemand je sessie hijackt, kan ie zo inloggen als admin. Lijkt me niet zo handig.

(dat is toch zo?)
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_51836642
Ziet eruit als een nogal achterhaald php4.0 of nog ouder scriptje. Ik zou nog ff verder zoeken als ik jou was
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  woensdag 25 juli 2007 @ 23:29:17 #136
62215 qu63
..de tijd drinkt..
pi_51837075
quote:
Op woensdag 25 juli 2007 23:19 schreef SuperRembo het volgende:
Ziet eruit als een nogal achterhaald php4.0 of nog ouder scriptje. Ik zou nog ff verder zoeken als ik jou was
dacht ik al ja
die md5 had ik er zelf maar bijgeplakt

iemand een link met goede tutorials mbt sessions?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  woensdag 25 juli 2007 @ 23:46:12 #138
62215 qu63
..de tijd drinkt..
pi_51837915
quote:
hmz, dan moet ik wel ff zelf klooien met mysql enzo..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  woensdag 25 juli 2007 @ 23:54:00 #139
84926 WyriHaximus
Release the hounds smithers!
pi_51838313
quote:

  • Password/Username in je cookie zetten
  • Alles in een door de server schrijf baar bestand opslaan
  • Direct $_POST data een cookie in gooien (zo word het wel erg makkelijk om een session na te maken)
  • .php3
  • Rechstreeks via post vars in een bestand data kunnen toevoegen

    Maar goed leuk voorbeeld als je wilt weten hoe het werkt maar niet als je het veilig wilt doen . Just my 2 cents .
  • phluphy for president!
      woensdag 25 juli 2007 @ 23:57:17 #140
    62215 qu63
    ..de tijd drinkt..
    pi_51838497
    quote:
    Op woensdag 25 juli 2007 23:54 schreef WyriHaximus het volgende:

    [..]


  • Password/Username in je cookie zetten
  • Alles in een door de server schrijf baar bestand opslaan
  • Direct $_POST data een cookie in gooien (zo word het wel erg makkelijk om een session na te maken)
  • .php3
  • Rechstreeks via post vars in een bestand data kunnen toevoegen

    Maar goed leuk voorbeeld als je wilt weten hoe het werkt maar niet als je het veilig wilt doen . Just my 2 cents .
  • ken jij betere tutorials?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_51838617
    quote:
    Op woensdag 25 juli 2007 23:54 schreef WyriHaximus het volgende:

    [..]


  • Password/Username in je cookie zetten
  • Alles in een door de server schrijf baar bestand opslaan
  • Direct $_POST data een cookie in gooien (zo word het wel erg makkelijk om een session na te maken)
  • .php3
  • Rechstreeks via post vars in een bestand data kunnen toevoegen

    Maar goed leuk voorbeeld als je wilt weten hoe het werkt maar niet als je het veilig wilt doen . Just my 2 cents .
  • O fuck, nu lees ik het pas.
      donderdag 26 juli 2007 @ 00:04:51 #142
    71919 wonderer
    Hung like a My Little Pony
    pi_51838873
    Ik had er eentje van een YAP* site (ik weet niet meer precies welke het is ) die wel goed is, geloof ik.

    sessie-id opslaan in sessie/cookie, opslaan in database en koppelen aan IP. Da's redelijk veilig.
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_51839101
    quote:
    Op donderdag 26 juli 2007 00:04 schreef wonderer het volgende:
    Ik had er eentje van een YAP* site (ik weet niet meer precies welke het is ) die wel goed is, geloof ik.

    sessie-id opslaan in sessie/cookie, opslaan in database en koppelen aan IP. Da's redelijk veilig.
    Mijn persoonlijke opinie is dat sessies er enkel zijn voor als het browservenster open staat, en dat deze vervalt zodra de user het browservenster sluit.

    Zelf werk ik met een RememberKey. Elke keer als de user een pagina opvraagt, dan krijgt hij een enkele cookie met een unieke string. Deze unieke string sla ik ook in mijn database op, samen met zijn IP-adres.

    De user opent mijn pagina weer, klopt aan met de unieke string in zijn cookie. Ik kijk naar het IP-adres, de unieke string van het cookie, zoek het op in mijn database, é voila, daar tover ik een userid vandaan. Inloggen, klaar.
      donderdag 26 juli 2007 @ 00:09:55 #144
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51839124
    quote:
    Op woensdag 25 juli 2007 23:57 schreef qu63 het volgende:

    [..]

    ken jij betere tutorials?
    Niet uit me hoofd, ben gewend dingen zelf uit te vogelen .
    quote:
    Op donderdag 26 juli 2007 00:00 schreef Geqxon het volgende:

    [..]

    O fuck, nu lees ik het pas.
    quote:
    Op donderdag 26 juli 2007 00:04 schreef wonderer het volgende:
    Ik had er eentje van een YAP* site (ik weet niet meer precies welke het is ) die wel goed is, geloof ik.

    sessie-id opslaan in sessie/cookie, opslaan in database en koppelen aan IP. Da's redelijk veilig.
    Als je de link weet te vinden is qu63 erg blij met je denk ik zo .
    phluphy for president!
      donderdag 26 juli 2007 @ 00:12:51 #145
    62215 qu63
    ..de tijd drinkt..
    pi_51839267
    quote:
    Op donderdag 26 juli 2007 00:09 schreef WyriHaximus het volgende:

    [..]

    Niet uit me hoofd, ben gewend dingen zelf uit te vogelen .
    ik ook, maar dit lukt nu ff niet
    quote:
    Als je de link weet te vinden is qu63 erg blij met je denk ik zo .
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 26 juli 2007 @ 00:20:49 #146
    71919 wonderer
    Hung like a My Little Pony
    pi_51839621
    quote:
    Op donderdag 26 juli 2007 00:09 schreef Geqxon het volgende:

    [..]

    Mijn persoonlijke opinie is dat sessies er enkel zijn voor als het browservenster open staat, en dat deze vervalt zodra de user het browservenster sluit.

    Zelf werk ik met een RememberKey. Elke keer als de user een pagina opvraagt, dan krijgt hij een enkele cookie met een unieke string. Deze unieke string sla ik ook in mijn database op, samen met zijn IP-adres.

    De user opent mijn pagina weer, klopt aan met de unieke string in zijn cookie. Ik kijk naar het IP-adres, de unieke string van het cookie, zoek het op in mijn database, é voila, daar tover ik een userid vandaan. Inloggen, klaar.
    Zo doe ik het ook. Alleen gebruik ik de sessID voor unieke string.

    Voordeel hiervan is dat je als admin iemand kan uitloggen (loginID uit database verwijderen) en dat je niet vaker dan een keer kan zijn ingelogd (tenzij je moeilijk gaat doen en de loginID van het ene cookie in een nieuw cookie gaat zetten).
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 26 juli 2007 @ 00:25:09 #147
    71919 wonderer
    Hung like a My Little Pony
    pi_51839805
    quote:
    Op donderdag 26 juli 2007 00:09 schreef WyriHaximus het volgende:

    Als je de link weet te vinden is qu63 erg blij met je denk ik zo .
    Volgens mij is ie offline. Het was een Nederlandse site met "yet another PHP ..." Ik weet niet meer wat er op de plek van de puntjes moet. Tutorial? Site? Zoiets. Was volgens mij een .net domain.
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 26 juli 2007 @ 00:28:23 #148
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51839937
    quote:
    Op donderdag 26 juli 2007 00:25 schreef wonderer het volgende:

    [..]

    Volgens mij is ie offline. Het was een Nederlandse site met "yet another PHP ..." Ik weet niet meer wat er op de plek van de puntjes moet. Tutorial? Site? Zoiets. Was volgens mij een .net domain.
    Dat zullen er best wat zijn die aan die beschrijving voldoen . Archive.org ftw met offline sites !
    phluphy for president!
      donderdag 26 juli 2007 @ 00:38:38 #149
    71919 wonderer
    Hung like a My Little Pony
    pi_51840297
    quote:
    Op donderdag 26 juli 2007 00:28 schreef WyriHaximus het volgende:

    [..]

    Dat zullen er best wat zijn die aan die beschrijving voldoen . Archive.org ftw met offline sites !
    Moet je wel de domeinnaam weten
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 26 juli 2007 @ 00:48:29 #151
    71919 wonderer
    Hung like a My Little Pony
    pi_51840629
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_51841109
    quote:
    Op donderdag 26 juli 2007 00:20 schreef wonderer het volgende:

    [..]

    Zo doe ik het ook. Alleen gebruik ik de sessID voor unieke string.

    Voordeel hiervan is dat je als admin iemand kan uitloggen (loginID uit database verwijderen) en dat je niet vaker dan een keer kan zijn ingelogd (tenzij je moeilijk gaat doen en de loginID van het ene cookie in een nieuw cookie gaat zetten).
    Nog wat puntjes die ik expres vergat te melden:
  • Een "Rememberkey" (de unieke string) is maar een week geldig.
  • Bij het aanmelden op de website, via een cookie of het inlogvenster, word je IP-adres in de database opgeslagen. Elke keer bij het openen van een pagina wordt $_SERVER['REMOTE_ADDR'] met het IP-adres uit de database vergelijken. Zo niet > Uitloggen.
  •   donderdag 26 juli 2007 @ 01:07:26 #153
    71919 wonderer
    Hung like a My Little Pony
    pi_51841155
    quote:
    Op donderdag 26 juli 2007 01:05 schreef Geqxon het volgende:

    [..]

    Nog wat puntjes die ik expres vergat te melden:
  • Een "Rememberkey" (de unieke string) is maar een week geldig.
  • Bij het aanmelden op de website, via een cookie of het inlogvenster, word je IP-adres in de database opgeslagen. Elke keer bij het openen van een pagina wordt $_SERVER['REMOTE_ADDR'] met het IP-adres uit de database vergelijken. Zo niet > Uitloggen.
  • Hoe doe je dat van die week?
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_51841348
    quote:
    Op donderdag 26 juli 2007 01:07 schreef wonderer het volgende:

    [..]

    Hoe doe je dat van die week?
    Bij het uitgeven van de unieke string naar een cookie hou ik bij wanneer deze cookie uitgegeven / gebruikt is. Als de user een week later met deze cookie aan komt kloppen, dan kijk ik wanneer ik hij voor het laatst gebruikt is, en als dat te lang geleden is: Uitloggen.
      donderdag 26 juli 2007 @ 01:19:15 #155
    71919 wonderer
    Hung like a My Little Pony
    pi_51841445
    quote:
    Op donderdag 26 juli 2007 01:14 schreef Geqxon het volgende:

    [..]

    Bij het uitgeven van de unieke string naar een cookie hou ik bij wanneer deze cookie uitgegeven / gebruikt is. Als de user een week later met deze cookie aan komt kloppen, dan kijk ik wanneer ik hij voor het laatst gebruikt is, en als dat te lang geleden is: Uitloggen.
    Hoe hou je dat bij dan? Kijk je naar de datum van je cookie of heb je de datum van het moment dat die string is uitgegeven in de database staan?

    Je kunt ook gewoon je cookie na een week laten verlopen, toch?
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_51841664
    quote:
    Op donderdag 26 juli 2007 01:19 schreef wonderer het volgende:

    [..]

    Hoe hou je dat bij dan? Kijk je naar de datum van je cookie of heb je de datum van het moment dat die string is uitgegeven in de database staan?

    Je kunt ook gewoon je cookie na een week laten verlopen, toch?
    quote:
    $sql = " UPDATE users
    SET RememberIP = '".$_SERVER['REMOTE_ADDR']."',
    RememberKey = '".$rememberkey."',
    RememberDate = '".time()."'
    WHERE ID = '".$user["ID"]."'
    LIMIT 1";
    $result = mysql_query($sql);

    setcookie("RememberKey", $rememberkey, time()+604800);
    .

    Cookies laten verlopen is extra beveiliging, clientside moet je nooit wat vertrouwen.
      donderdag 26 juli 2007 @ 02:00:10 #157
    71919 wonderer
    Hung like a My Little Pony
    pi_51842262
    Yeah. Zo heb ik het ook ongeveer. De datum wanneer wordt ingelogd wordt gelogd. Ik doe er alleen vooralsnog niks mee (behalve mensen trimmen die al een maand zijn ingelogd maar de site niet bezocht hebben).
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 26 juli 2007 @ 08:22:15 #158
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51844204
    quote:
    Op donderdag 26 juli 2007 00:38 schreef wonderer het volgende:

    [..]

    Moet je wel de domeinnaam weten
    Kleine bijkomstigheid .
    quote:
    Op donderdag 26 juli 2007 00:48 schreef wonderer het volgende:
    Hah! Gevonden: http://www.yapf.net/

    http://www.yapf.net/Articles/ArticleView/805

    En dat is het artikel.
    Ah net artikel .
    phluphy for president!
    pi_51846161
    Ik zit met een probleem waar ik niet uitkom:

    Ik sla de invoerdatum van een factuur op in de database d.m.v. datetime (0000-00-00 00:00:00).

    Nu zou ik graag met een query een overzicht maken van alle factuurnummers met als invoerdatum een dag terug, of een week geleden.

    Ik heb gezocht en kwam functies tegen zoals DATE_ADD en DATE_SUB maar hiermee krijg ik het niet voor elkaar.

    Kan iemand me helpen hiermee?
      donderdag 26 juli 2007 @ 10:27:41 #160
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51846761
    quote:
    Op donderdag 26 juli 2007 10:04 schreef Erik het volgende:
    Ik zit met een probleem waar ik niet uitkom:

    Ik sla de invoerdatum van een factuur op in de database d.m.v. datetime (0000-00-00 00:00:00).

    Nu zou ik graag met een query een overzicht maken van alle factuurnummers met als invoerdatum een dag terug, of een week geleden.

    Ik heb gezocht en kwam functies tegen zoals DATE_ADD en DATE_SUB maar hiermee krijg ik het niet voor elkaar.

    Kan iemand me helpen hiermee?
    Misschien is date iets om naar te kijken? Samen met time() moet dat wel lukken denk ik :).
    1
    2
    3
    4
    <?php
    $day_count 
    1;
    $sql "SELECT * FROM table WHERE date LIKE '" date('yadieya',(time() - ((60 60 24) * $day_count))) . "%'";
    ?>
    phluphy for president!
      donderdag 26 juli 2007 @ 10:42:50 #161
    62215 qu63
    ..de tijd drinkt..
    pi_51847227
    quote:
    Op donderdag 26 juli 2007 00:48 schreef wonderer het volgende:
    Hah! Gevonden: http://www.yapf.net/

    http://www.yapf.net/Articles/ArticleView/805

    En dat is het artikel.
    leesvoer!
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_51847518
    quote:
    Op dinsdag 24 juli 2007 18:43 schreef Thomass het volgende:

    [..]
    [ code verwijderd ]

    och het is zo logisch mensen

    (gave site heb je trouwens )
    SELECT 'a' + '0x1' geeft toch echt 0 als resultaat in MySQL 5.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      donderdag 26 juli 2007 @ 10:59:59 #163
    62215 qu63
    ..de tijd drinkt..
    pi_51847720
    quote:
    Op donderdag 26 juli 2007 10:42 schreef qu63 het volgende:

    [..]

    leesvoer!
    ik snap het wel aardig geloof ik, alleen voorbeelden zeggen mij meestal meer
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_51850243
    quote:
    Op donderdag 26 juli 2007 10:53 schreef SuperRembo het volgende:

    [..]

    SELECT 'a' + '0x1' geeft toch echt 0 als resultaat in MySQL 5.
    Dat zou zo maar kunnen, maar ik had het over php
    pi_51850384
    quote:
    Op donderdag 26 juli 2007 10:27 schreef WyriHaximus het volgende:

    [..]

    Misschien is date iets om naar te kijken? Samen met time() moet dat wel lukken denk ik .
    [ code verwijderd ]
    Of iets als date('Y-m-d h:i:s', strtotime('-7 day'));
    pi_51851648
    quote:
    Op donderdag 26 juli 2007 12:25 schreef Thomass het volgende:
    Dat zou zo maar kunnen, maar ik had het over php
    Aha. De oorspronkelijke vraag ging over SQL.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_51852955
    quote:
    Op donderdag 26 juli 2007 10:59 schreef qu63 het volgende:

    [..]

    ik snap het wel aardig geloof ik, alleen voorbeelden zeggen mij meestal meer
    *handschud* dat ondervind ik dus ook... erg vervelend, zou graag begrijpend willen lezen maar veel stukken snap ik niet, zelfs niet na meerdere keren lezen

    Maar gelukkig zijn er nog posters die zonder problemen iets willen uitleggen!

    CraZaay Jera SuperRembo en voormalige poster Sop voor al die anderen die ik vergeet
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 26 juli 2007 @ 14:06:13 #168
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51853295
    quote:
    Op donderdag 26 juli 2007 13:56 schreef Chandler het volgende:

    [..]

    *handschud* dat ondervind ik dus ook... erg vervelend, zou graag begrijpend willen lezen maar veel stukken snap ik niet, zelfs niet na meerdere keren lezen

    Maar gelukkig zijn er nog posters die zonder problemen iets willen uitleggen!

    CraZaay Jera SuperRembo en voormalige poster Sop voor al die anderen die ik vergeet
    Kijk eens naar die van phpBB, zit redelijk netjes in elkaar . Komt zo ff link naar de source, upload is wat traag op me werk . http://wyrihaximus.net/en(...)-n-sessions_php.html
    phluphy for president!
    pi_51853324
    PHP leren kun je op twee manieren doen. Source-codes lezen of boeken. Beide kan ik aanraden.
    pi_51854483
    $result = @mysql_query("INSERT INTO t_nieuws VALUES ('" . $datum . "','" . $titel . "','" . $bericht . "','" . $actief . "','" . $extern . "','" . $intern . "');");

    Is daar iets fout aan? Hij voer hem niet uit, ik krijg geen foutmelding. Ook zonder @ voor de mysql tag.
      donderdag 26 juli 2007 @ 14:41:11 #171
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51854529
    quote:
    Op donderdag 26 juli 2007 14:39 schreef Qunix het volgende:
    $result = @mysql_query("INSERT INTO t_nieuws VALUES ('" . $datum . "','" . $titel . "','" . $bericht . "','" . $actief . "','" . $extern . "','" . $intern . "');");

    Is daar iets fout aan? Hij voer hem niet uit, ik krijg geen foutmelding.
    Zet er eens or die(mysql_error()) achter . OW en haal de @ weg .
    phluphy for president!
    pi_51854643
    quote:
    Op donderdag 26 juli 2007 14:41 schreef WyriHaximus het volgende:

    [..]

    Zet er eens or die(mysql_error()) achter . OW en haal de @ weg .
    2007-07-26 14:43:15
    wedfrgthuj
    poiuytre4567890
    1
    1
    0

    Geplaatst
    Nieuwsitem is geplaatst.

    Geen foutmelding dus... Dat boven in is wat ingevoerd is.
      donderdag 26 juli 2007 @ 14:44:34 #173
    71919 wonderer
    Hung like a My Little Pony
    pi_51854649
    Ik wil van PHPBB eigenlijk wel meer weten hoe ze dingen doen. Ik probeer zelf een forum te scripten (als onderdeel van een hele site, netjes geintegreerd) en ik heb af en toe het idee dat ik het wiel opnieuw aan het uitvinden ben

    Maar een bestaand pakket gebruiken werkt ook weer niet echt want ik wil dingen die zij niet ondersteunen (ook niet in MODs) en zelf dingen aanpassen daar is nog veel frustrerender.

    Er zijn forumpakketten die bijhouden welke topics je hebt gelezen, hoe vaak je ook in- en uitlogt (dus niet zoals Fok het doet, gebaseerd op je laatste inlogtijd, maar echt of je erop geklikt hebt). Weet iemand hoe dat bijgehouden wordt? Ik kan me amper voorstellen dat er ergens in een tabel wordt bijgehouden met een n-n relatie: user-post/topic.

    Iemand een idee?
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_51854729
    quote:
    Op donderdag 26 juli 2007 14:44 schreef wonderer het volgende:
    Ik wil van PHPBB eigenlijk wel meer weten hoe ze dingen doen. Ik probeer zelf een forum te scripten (als onderdeel van een hele site, netjes geintegreerd) en ik heb af en toe het idee dat ik het wiel opnieuw aan het uitvinden ben

    Maar een bestaand pakket gebruiken werkt ook weer niet echt want ik wil dingen die zij niet ondersteunen (ook niet in MODs) en zelf dingen aanpassen daar is nog veel frustrerender.

    Er zijn forumpakketten die bijhouden welke topics je hebt gelezen, hoe vaak je ook in- en uitlogt (dus niet zoals Fok het doet, gebaseerd op je laatste inlogtijd, maar echt of je erop geklikt hebt). Weet iemand hoe dat bijgehouden wordt? Ik kan me amper voorstellen dat er ergens in een tabel wordt bijgehouden met een n-n relatie: user-post/topic.

    Iemand een idee?
    Volgens mij had DirectTopics dat... www.directtopics.nl En dan de beta v5.
    pi_51854766
    quote:
    Op donderdag 26 juli 2007 14:39 schreef Qunix het volgende:
    $result = @mysql_query("INSERT INTO t_nieuws VALUES ('" . $datum . "','" . $titel . "','" . $bericht . "','" . $actief . "','" . $extern . "','" . $intern . "');");

    Is daar iets fout aan? Hij voer hem niet uit, ik krijg geen foutmelding. Ook zonder @ voor de mysql tag.
    Ik kan je aanraden dit format te gebruiken:

    1INSERT INTO tbl_name (a,b,c) VALUES(1,2,3);


    Als je dan ooit een veldnaam aan je tabel toevoegd, dan weet je zeker dat alles nog goed loopt. :)
      donderdag 26 juli 2007 @ 14:50:12 #176
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51854846
    quote:
    Op donderdag 26 juli 2007 14:44 schreef Qunix het volgende:

    [..]

    2007-07-26 14:43:15
    wedfrgthuj
    poiuytre4567890
    1
    1
    0

    Geplaatst
    Nieuwsitem is geplaatst.

    Geen foutmelding dus... Dat boven in is wat ingevoerd is.
    Dan gaat de query iig goed .
    quote:
    Op donderdag 26 juli 2007 14:44 schreef wonderer het volgende:
    Ik wil van PHPBB eigenlijk wel meer weten hoe ze dingen doen. Ik probeer zelf een forum te scripten (als onderdeel van een hele site, netjes geintegreerd) en ik heb af en toe het idee dat ik het wiel opnieuw aan het uitvinden ben

    Maar een bestaand pakket gebruiken werkt ook weer niet echt want ik wil dingen die zij niet ondersteunen (ook niet in MODs) en zelf dingen aanpassen daar is nog veel frustrerender.

    Er zijn forumpakketten die bijhouden welke topics je hebt gelezen, hoe vaak je ook in- en uitlogt (dus niet zoals Fok het doet, gebaseerd op je laatste inlogtijd, maar echt of je erop geklikt hebt). Weet iemand hoe dat bijgehouden wordt? Ik kan me amper voorstellen dat er ergens in een tabel wordt bijgehouden met een n-n relatie: user-post/topic.

    Iemand een idee?
    Ja ben je ook . Maar goed als een ander wiel niet past onder jouw auto waarom zou je het dan gebruiken .

    Yup dat word gewoon in een tabelletje bijgehouden vaak. (Dat het ontzettend groot word is een ander verhaal .)

    * WyriHaximus heeft de hele source van phpbb online staan, dus als je wilt, leef je uit http://wyrihaximus.net/en-files/index-d-548-n-phpBB2_0_22.html
    phluphy for president!
      donderdag 26 juli 2007 @ 15:25:20 #177
    71919 wonderer
    Hung like a My Little Pony
    pi_51856150
    quote:
    Op donderdag 26 juli 2007 14:50 schreef WyriHaximus het volgende:
    Ja ben je ook . Maar goed als een ander wiel niet past onder jouw auto waarom zou je het dan gebruiken .
    Da's wel een goeie, ja!
    quote:
    Yup dat word gewoon in een tabelletje bijgehouden vaak. (Dat het ontzettend groot word is een ander verhaal .)

    * ] WyriHaximus heeft de hele source van phpbb online staan, dus als je wilt, leef je uit http://wyrihaximus.net/en-files/index-d-548-n-phpBB2_0_22.html
    Ik kan het me haast niet voorstellen (zo'n grote tabel ),

    PHPBB ga ik ook eens een keer bekijken, hoewel ik meer geinteresseerd ben in hoe ze het opslaan in de database.
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 26 juli 2007 @ 15:28:26 #178
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51856275
    quote:
    Op donderdag 26 juli 2007 15:25 schreef wonderer het volgende:

    [..]

    Da's wel een goeie, ja!
    Net verzonnen .
    quote:
    Op donderdag 26 juli 2007 15:25 schreef wonderer het volgende:
    [..]

    Ik kan het me haast niet voorstellen (zo'n grote tabel ),

    PHPBB ga ik ook eens een keer bekijken, hoewel ik meer geinteresseerd ben in hoe ze het opslaan in de database.
    Dat gaat gewoon ook fout na een tijdje als het te groot word. Natuurlijk is een prune functie wel handig .
    phluphy for president!
    pi_51856478
    quote:
    Op donderdag 26 juli 2007 14:47 schreef Geqxon het volgende:

    [..]

    Ik kan je aanraden dit format te gebruiken:


    [ code verwijderd ]


    Als je dan ooit een veldnaam aan je tabel toevoegd, dan weet je zeker dat alles nog goed loopt.
    Gedaan zonder id voorin... maar nog doet hij het niet.. Gegevens komen goed door, hij komt in het gebied waar hij het hoort uit te voeren maar alsnog doet hij het niet in de database.
      donderdag 26 juli 2007 @ 15:48:35 #180
    71919 wonderer
    Hung like a My Little Pony
    pi_51856995
    *probeert left join te snappen*

    Serieus, volgens mij heb ik een redacteur nodig. Mijn SQL skills zitten al 8 jaar op hetzelfde niveau Dat kan allemaal veel handiger volgens mij...
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 26 juli 2007 @ 15:52:00 #181
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51857104
    quote:
    Op donderdag 26 juli 2007 15:48 schreef wonderer het volgende:
    *probeert left join te snappen*

    Serieus, volgens mij heb ik een redacteur nodig. Mijn SQL skills zitten al 8 jaar op hetzelfde niveau Dat kan allemaal veel handiger volgens mij...
    * WyriHaximus pakt de kruip olie alvast

    Anyway vertel . Wat snap je niet?
    phluphy for president!
    pi_51857117
    quote:
    Op donderdag 26 juli 2007 15:48 schreef wonderer het volgende:
    *probeert left join te snappen*

    Serieus, volgens mij heb ik een redacteur nodig. Mijn SQL skills zitten al 8 jaar op hetzelfde niveau Dat kan allemaal veel handiger volgens mij...
    http://www.w3schools.com/sql/sql_join.asp
      donderdag 26 juli 2007 @ 16:03:51 #183
    71919 wonderer
    Hung like a My Little Pony
    pi_51857456
    quote:
    Op donderdag 26 juli 2007 15:52 schreef WyriHaximus het volgende:

    [..]

    * WyriHaximus pakt de kruip olie alvast

    Anyway vertel . Wat snap je niet?
    Vooral wanneer ik het moet gebruiken. De syntax is niet zo heel lastig, maar het nut. En werkt het alleen met twee verschillende tabellen?

    Ik heb alle lagen forum (dus categorieen, subfora, startpost en replies) in dezelfde tabel staan en het level van elke entry geeft weer wat het is. Leek me handiger dan vier aparte tabellen met voornamelijk dezelfde velden. Zou ik daar eventueel (als ik erachter kom waar ik het voor kan gebruiken) gebruik kunnen maken van left join?

    Dus eigenlijk vraag ik me af: welke situatie zal eerder om een left join vragen, dan bijvoorbeeld twee aparte queries.
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 26 juli 2007 @ 16:07:00 #184
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51857554
    quote:
    Op donderdag 26 juli 2007 16:03 schreef wonderer het volgende:

    [..]

    Vooral wanneer ik het moet gebruiken. De syntax is niet zo heel lastig, maar het nut. En werkt het alleen met twee verschillende tabellen?

    Ik heb alle lagen forum (dus categorieen, subfora, startpost en replies) in dezelfde tabel staan en het level van elke entry geeft weer wat het is. Leek me handiger dan vier aparte tabellen met voornamelijk dezelfde velden. Zou ik daar eventueel (als ik erachter kom waar ik het voor kan gebruiken) gebruik kunnen maken van left join?

    Dus eigenlijk vraag ik me af: welke situatie zal eerder om een left join vragen, dan bijvoorbeeld twee aparte queries.
    In feite can kan oneindig aantal tabellen met left join koppelen .
    phluphy for president!
      donderdag 26 juli 2007 @ 16:07:39 #185
    71919 wonderer
    Hung like a My Little Pony
    pi_51857570
    quote:
    Hm.

    Dus iets als
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
      $result1
    =runquery("SELECT * FROM user_profile WHERE username=".quote_smart($user,$d),$d);
    $result2=runquery("SELECT * FROM user_data WHERE username=".quote_smart($user,$d),$d);
    $result3=runquery("SELECT * FROM user_prefs WHERE username=".quote_smart($user,$d),$d);
    $result4=runquery("SELECT * FROM users WHERE username=".quote_smart($user,$d),$d);
    $result5=runquery("SELECT * FROM user_extras WHERE username=".quote_smart($user,$d),$d);

    $row1=mysql_fetch_array($result1);
    $row2=mysql_fetch_array($result2);
    $row3=mysql_fetch_array($result3);
    $row4=mysql_fetch_array($result4);
    $row5=mysql_fetch_array($result5);
    ?>


    zou met een join kunnen? Met een query tegelijk alle noodzakelijke dingen uit meerdere tabellen halen?
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 26 juli 2007 @ 16:08:20 #186
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51857598
    quote:
    Op donderdag 26 juli 2007 16:07 schreef wonderer het volgende:

    [..]

    Hm.

    Dus iets als
    [ code verwijderd ]

    zou met een join kunnen? Met een query tegelijk alle noodzakelijke dingen uit meerdere tabellen halen?
    Ja.
    phluphy for president!
      donderdag 26 juli 2007 @ 16:11:52 #187
    62215 qu63
    ..de tijd drinkt..
    pi_51857701
    quote:
    Op donderdag 26 juli 2007 14:06 schreef WyriHaximus het volgende:

    [..]

    Kijk eens naar die van phpBB, zit redelijk netjes in elkaar . Komt zo ff link naar de source, upload is wat traag op me werk . http://wyrihaximus.net/en(...)-n-sessions_php.html
    hmz, pagina begint met wat php-errors

    verder ziet het wel ok uit
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_51857748
    Zo ie zo vind ik dat de meeste bulletinboards te veel mogelijkheden hebben. Een standaard forum is bijna niet meer te vinden.

    Waar je simpel en alleen kunt registreren, posten enzo. Heb zelf ooit ook een forum geschreven (wie niet?) ennuh moet zeggen dat het niet echt heel moeilijk is hoor. Tenzij je meer wilt dan 'standaard'
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_51857760
    quote:
    Op donderdag 26 juli 2007 16:03 schreef wonderer het volgende:

    [..]

    Vooral wanneer ik het moet gebruiken. De syntax is niet zo heel lastig, maar het nut. En werkt het alleen met twee verschillende tabellen?

    Ik heb alle lagen forum (dus categorieen, subfora, startpost en replies) in dezelfde tabel staan en het level van elke entry geeft weer wat het is. Leek me handiger dan vier aparte tabellen met voornamelijk dezelfde velden. Zou ik daar eventueel (als ik erachter kom waar ik het voor kan gebruiken) gebruik kunnen maken van left join?

    Dus eigenlijk vraag ik me af: welke situatie zal eerder om een left join vragen, dan bijvoorbeeld twee aparte queries.
    Ik heb hier dus al enkele topics mee bevuild, maar om het dan toch een keertje op te takelen:

    In het systeem dat ik aan het bouwen ben kunnen gebruikers een nieuwsartikel bookmarken. Ik plaats dan een record in de bookmark tabel met het userid en het nieuwsartikel-id.

    In het nieuwsoverzicht wil ik dat de gebruikers bij elk nieuwsartikel zien of ze deze al gebookmarked hebben of niet. Nu kan ik bij elk nieuwsartikel het in de database opzoeken, maar ik maak gebruik van een left join. Als bij het nieuwsartikel-ID een bookmark is geplaatst (en dat dus in de bookmarktabel staat), dan komt hij er keurig bij te staan, en als die er niet is, staat er NULL.

    Zo kan ik bijna de complete pagina in 1 query ophalen.
      donderdag 26 juli 2007 @ 16:13:57 #190
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51857767
    quote:
    Op donderdag 26 juli 2007 16:11 schreef qu63 het volgende:

    [..]

    hmz, pagina begint met wat php-errors

    verder ziet het wel ok uit
    Liep idd ff te kutten ja met de functie die voor de source parsing and highligthing zorgt aangezien de text van de code wat klein is

    Thanks !
    phluphy for president!
      donderdag 26 juli 2007 @ 16:14:13 #191
    71919 wonderer
    Hung like a My Little Pony
    pi_51857773
    quote:
    Op donderdag 26 juli 2007 16:08 schreef WyriHaximus het volgende:

    [..]

    Ja.
    En dat kan ik dan met een enkele fetch_array ophalen? wordt het dan iets van $row["users.last_visit"] en $row["user_data.first_name"]?
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 26 juli 2007 @ 16:16:25 #192
    71919 wonderer
    Hung like a My Little Pony
    pi_51857831
    quote:
    Op donderdag 26 juli 2007 16:13 schreef Chandler het volgende:
    Zo ie zo vind ik dat de meeste bulletinboards te veel mogelijkheden hebben. Een standaard forum is bijna niet meer te vinden.

    Waar je simpel en alleen kunt registreren, posten enzo. Heb zelf ooit ook een forum geschreven (wie niet?) ennuh moet zeggen dat het niet echt heel moeilijk is hoor. Tenzij je meer wilt dan 'standaard'
    Ik wil in zoverre meer dan standaard dat geen enkel bestaand pakket alles heeft Maar dat heeft vooral met de omgeving te maken. Ik heb mijn eigen PB-system, eigen profielen enzo, en dat zit er tegenwoordig allemaal bij, dat hoeft niet.

    Maar het gaat best zo en het is leuk om te doen, en ik leer ook steeds wat nieuws.
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 26 juli 2007 @ 16:17:41 #193
    71919 wonderer
    Hung like a My Little Pony
    pi_51857869
    quote:
    Op donderdag 26 juli 2007 16:13 schreef Geqxon het volgende:

    [..]

    Ik heb hier dus al enkele topics mee bevuild, maar om het dan toch een keertje op te takelen:

    In het systeem dat ik aan het bouwen ben kunnen gebruikers een nieuwsartikel bookmarken. Ik plaats dan een record in de bookmark tabel met het userid en het nieuwsartikel-id.

    In het nieuwsoverzicht wil ik dat de gebruikers bij elk nieuwsartikel zien of ze deze al gebookmarked hebben of niet. Nu kan ik bij elk nieuwsartikel het in de database opzoeken, maar ik maak gebruik van een left join. Als bij het nieuwsartikel-ID een bookmark is geplaatst (en dat dus in de bookmarktabel staat), dan komt hij er keurig bij te staan, en als die er niet is, staat er NULL.

    Zo kan ik bijna de complete pagina in 1 query ophalen.
    Oh damn. Volgens mij moet ik echt alles wat ik tot nu toe heb omgooien

    Het grote nadeel van autodidact zijn, er is niemand die je vertelt dat het ook anders kan
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_51857899
    quote:
    Op donderdag 26 juli 2007 16:14 schreef wonderer het volgende:

    [..]

    En dat kan ik dan met een enkele fetch_array ophalen? wordt het dan iets van $row["users.last_visit"] en $row["user_data.first_name"]?
    Jep, alles wordt in een array gestopt. :)

    Mocht je een array door willen kammen:

    1
    2
    3
    <?php
    print_r
    ($array);
    ?>
      donderdag 26 juli 2007 @ 16:19:37 #195
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51857934
    quote:
    Op donderdag 26 juli 2007 16:14 schreef wonderer het volgende:

    [..]

    En dat kan ik dan met een enkele fetch_array ophalen? wordt het dan iets van $row["users.last_visit"] en $row["user_data.first_name"]?
    Ja, maar je moet wel gaan specificeren welke velden je wilt . En je kunt ook user_data.first_name AS firstname en dan zal die firstname in je $row heten .
    phluphy for president!
    pi_51858007
    Hebbes, één van de betere tutorials over joins:

    http://www.wellho.net/mou(...)-and-OUTER-JOIN.html
      donderdag 26 juli 2007 @ 16:22:21 #197
    71919 wonderer
    Hung like a My Little Pony
    pi_51858015
    quote:
    Op donderdag 26 juli 2007 16:19 schreef WyriHaximus het volgende:

    [..]

    Ja, maar je moet wel gaan specificeren welke velden je wilt . En je kunt ook user_data.first_name AS firstname en dan zal die firstname in je $row heten .
    dus users.* werkt niet?
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 26 juli 2007 @ 16:22:29 #198
    62215 qu63
    ..de tijd drinkt..
    pi_51858021
    quote:
    Op donderdag 26 juli 2007 16:13 schreef WyriHaximus het volgende:

    [..]

    Liep idd ff te kutten ja met de functie die voor de source parsing and highligthing zorgt aangezien de text van de code wat klein is
    dat vond ik ook al ja
    quote:
    Thanks !
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 26 juli 2007 @ 16:24:25 #199
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51858069
    quote:
    Op donderdag 26 juli 2007 16:22 schreef qu63 het volgende:

    [..]

    dat vond ik ook al ja
    Word aan gewerkt .
    quote:
    Op donderdag 26 juli 2007 16:22 schreef qu63 het volgende:
    [..]

    quote:
    Op donderdag 26 juli 2007 16:22 schreef wonderer het volgende:

    [..]

    dus users.* werkt niet?
    Jawel maar als je 2 keer de zelfde ga je errors krijgen .
    phluphy for president!
    pi_51858282
    wonderer, dump eens een lap code waarvan je denkt dat het korter kan.
      donderdag 26 juli 2007 @ 16:36:53 #201
    62215 qu63
    ..de tijd drinkt..
    pi_51858424
    hmz, http://www.w3schools.com/php/php_sessions.asp helpt me wel een beetje verder, maar hoe zorg ik er voor dat ik dezelfde gegevens ook op andere pagina's kan gebruiken?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 26 juli 2007 @ 16:37:33 #202
    71919 wonderer
    Hung like a My Little Pony
    pi_51858441
    quote:
    Op donderdag 26 juli 2007 16:31 schreef Geqxon het volgende:
    wonderer, dump eens een lap code waarvan je denkt dat het korter kan. :)
    You asked for it... :')
    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
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    <?php
    function profile_form($user,$element)
    {
     global 
    $days$months;

     
    $d=connectDB();
     
    $result1=runquery("SELECT * FROM user_profile WHERE username=".quote_smart($user,$d),$d);
     
    $result2=runquery("SELECT * FROM user_data WHERE username=".quote_smart($user,$d),$d);
     
    $result3=runquery("SELECT * FROM user_prefs WHERE username=".quote_smart($user,$d),$d);
     
    $result4=runquery("SELECT * FROM users WHERE username=".quote_smart($user,$d),$d);
     
    $result5=runquery("SELECT * FROM user_extras WHERE username=".quote_smart($user,$d),$d);

     
    $row1=mysql_fetch_array($result1);
     
    $row2=mysql_fetch_array($result2);
     
    $row3=mysql_fetch_array($result3);
     
    $row4=mysql_fetch_array($result4);
     
    $row5=mysql_fetch_array($result5);

     
    $bd=explode("-",$row2["birthday"]);
     
    $day=$bd[2];
     
    $month=$bd[1];
     
    $year=$bd[0];

     
    $days=select_list('profileform[user_day]',$day,$days);
     
    $months=select_list('profileform[user_month]',$month,$months);

     if(
    $row2["user_sex"]=="f"){$sf='checked';}
     elseif(
    $row2["user_sex"]=="m"){$sm='checked';}
     elseif(
    $row2["user_sex"]=="t"){$st='checked';}

     if(
    $row3["email_public"]=='1'){
      
    $pb=' checked';
     }
     else{
      
    $pv=' checked';
     }

     if(
    $row3["smilies"]=='1'){
      
    $sb=' checked';
     }
     else{
      
    $sv=' checked';
     }

     
    $res=runquery("SELECT * FROM user_avatars WHERE username=".quote_smart($user,$d),$d);
     while(
    $av=mysql_fetch_array($res)){
      
    $ava=$av["avatar_ID"].'.'.$av["extension"];
      if(
    $av["avatar_ID"]==$row2["user_avatar"]){
        
    $checked=' selected';
      }
      else{
        
    $checked='';
      }
      
    $select .= '<option value="'.$ava.'"'.$checked.'>'.$ava.'</option>';
     }

     if(
    mysql_num_rows(runquery("SELECT * FROM user_inventory WHERE item_ID='3' AND username=".quote_smart($user,$d),$d))=='1'){
      
    $fe_custom_color='<select name="profileform[custom_color]" id="kleur" style="background-color:#000000;color:#ffeeee;">'.generate_colors($row5["custom_color"]).'</select> Eigen kleurtje <br />';
     }
     else{
      
    $fe_custom_color='Eigen kleurtje: <span style="color:#'.$row5["custom_color"].'">'.$row5["custom_color"].' (<a href="shop.php">aanpassen</a>)</span><br />';
     }
     if(
    mysql_num_rows(runquery("SELECT * FROM user_inventory WHERE item_ID='4' AND username=".quote_smart($user,$d),$d))=='1'){
      
    $fe_custom_tag='<input type="text" class="text" name="profileform[custom_tag]"> Eigen tag <br />';
     }
     else{
      
    $fe_custom_tag='Eigen tag: '.$row5["custom_tag"].' (<a href="shop.php">aanpassen</a>)<br />';
     }
     if(
    mysql_num_rows(runquery("SELECT * FROM user_inventory WHERE item_ID='7' AND username=".quote_smart($user,$d),$d))=='1'){
      
    $fe_custom_sig='In je handtekening mogen plaatjes van maximaal 400 pixels breed en 60 pixels hoog. Het totaal aantal tekens mag de 250 niet overschrijden, inclusief BBCode. Op de inhoud zijn de algemene voorwaarden van toepassing. <br />';
      
    $fe_custom_sig.='<textarea name="profileform[custom_sig]" style="width:285px;height:60px;" class="sig">'.stripslashes($row5["custom_sig"]).'</textarea>';
     }
     else{
      
    $fe_custom_sig='Je hebt geen handtekening. Ga naar de <a href="shop.php">shop</a> om deze mogelijkheid te benutten.<br />';
     }
     if(
    mysql_num_rows(runquery("SELECT * FROM user_inventory WHERE item_ID='6' AND username=".quote_smart($user,$d),$d))=='1'){
      
    $change_name='1';
     }

     if(
    $row2["user_alias"]==$user || $row2["user_alias"]==''){
      
    $fe_alias='<input type="text" class="text" name="profileform[user_alias]" value="'.$user.'"> Chatnaam <br />';
     }
     elseif(
    $change_name=='1'){
      
    $fe_alias='<input type="text" class="text" name="profileform[user_alias]" value="'.$row2["user_alias"].'"> Chatnaam <br />';
     }
     else{
      
    $fe_alias=format_username($user).' (Chatnaam <a href="">veranderen</a>)<br />';
     }


     
    $fe_avatar='<select class="actielijst" name="profileform[user_avatar]"><option value="">Geen avatar</option> '.$select.'</select> <a href="members.php?c=avatars">Upload nieuwe avatar</a><br />';

     
    $fe_color='<select name="profileform[user_color]" id="kleur" style="background-color:#000000;color:#ffeeee;">'.generate_colors($row2["user_color"]).'</select> Chatkleur <br />';

     
    $fe_bio='Vertel hier iets over jezelf. Geen chatlogs, geen ASCII geknutsel, geen verhalen, gedichten, songteksten etc.<br />';
     
    $fe_bio.=show_toolbar('user_bio');
     
    $fe_bio.='<textarea id="user_bio" class="user_bio" name="profileform[user_bio]">'.stripslashes($row1["user_bio"]).'</textarea>';
     
    $fe_bio.='<script>write_toolbar('user_bio');</script>';

     
    $fe_homepage='<input type="text" class="text" name="profileform[user_page]" value="'.$row1["user_page"].'"> URL van je homepage <br />';
     
    $fe_msn='<input type="text" class="text" name="profileform[user_msn]" value="'.$row1["user_msn"].'"> Je MSN-adres <br />';
     
    $fe_wp='<input type="text" class="text" name="profileform[user_whatpulse]" value="'.$row1["user_whatpulse"].'"> Whatpulse username <br />';
     
    $fe_email='<input type="text" class="text" name="profileform[email]" value="'.$row4["email"].'"> E-mailadres<br />';

     
    $fe_first_name='<input type="text" class="text" name="profileform[first_name]" value="'.$row2["first_name"].'"> Voornaam<br />';
     
    $fe_last_name='<input type="text" class="text" name="profileform[last_name]" value="'.$row2["last_name"].'"> Achternaam<br />';
     
    $fe_location='<input type="text" class="text" name="profileform[location]" value="'.$row2["location"].'"> Woonplaats<br />';
     
    $fe_country='<input type="text" class="text" name="profileform[country]" value="'.$row2["country"].'"> Land<br />';

     
    $fe_birthday=$days.' - '.$months.' - <input type="text" class="text" size="4" maxlength="4" name=profileform[user_year]" value="'.$year.'"><br />';
     
    $fe_sex='<input type="radio" name="profileform[user_sex]" value="m" '.$sm.'> Jongen <input type="radio" name="profileform[user_sex]" value="f" '.$sf.'> Meisje<br /><input type="radio" name="profileform[user_sex]" value="t" '.$st.' style="display:none;">';

     
    $fe_prefs='
     <table class="prefs">
     <tr><td>Email-adres</td> <td><input type="radio" value="1" name="profileform[email_public]"'
    .$pb.'> Openbaar</td> <td><input type="radio" value="0" name="profileform[email_public]"'.$pv.'> Priv&eacute;</td></tr>
     <tr><td>Smilies</td> <td><input type="radio" value="1" name="profileform[smilies]"'
    .$sb.'> Aan</td> <td><input type="radio" value="0" name="profileform[smilies]"'.$sv.'> Uit</td></tr>
     </table>'
    ;


     
    $formheader='<form class="profile_form" method="post" action="?c=submit_profile">';
     
    $submit='<input type="hidden" name="profileform[username]" value="'.$user.'"><input type="submit" class="submit" name="submit_profile" value="opslaan" accesskey="s">';
     
    $formfooter='</form>';

     
    $link='<a href="?c=profile&user='.$user.'">Bekijk je profiel</a>';

     switch(
    $element){
      case 
    '1'#bio
       
    $form=$formheader.$fe_bio.$submit.$formfooter;
       break;
      case 
    '2'#contact
       
    $form=$formheader.$fe_homepage.$fe_msn.$fe_wp.$fe_email.$submit.$formfooter;
       break;
      case 
    '3'#persoonlijk
       
    $form=$formheader.$fe_first_name.$fe_last_name.$fe_location.$fe_country.$submit.$formfooter;
       break;
      case 
    '4'#geb. datum/sexe
       
    $form=$formheader.$fe_birthday.$fe_sex.$submit.$formfooter;
       break;
      case 
    '5'#chatstuff
       
    $form=$formheader.$fe_alias.$fe_avatar.$fe_color.$submit.$formfooter;
       break;
      default:
       
    $form=$formheader.'<div class="prof_left">
       <fieldset class="prof"><legend>Contactgegevens</legend>'
    .$fe_homepage.$fe_msn.$fe_wp.$fe_email.'</fieldset>
       <fieldset class="prof"><legend>Persoonlijk</legend>'
    .$fe_first_name.$fe_last_name.$fe_location.$fe_country.$fe_birthday.$fe_sex.'</fieldset>
       <fieldset class="prof"><legend>Chatstuff</legend>'
    .$fe_alias.$fe_avatar.$fe_color.'</fieldset>
       <fieldset class="prof"><legend>Instellingen</legend>'
    .$fe_prefs.'</fieldset>
       <fieldset class="prof"><legend>Extra'
    s</legend>'.$fe_custom_tag.$fe_custom_color.$fe_custom_sig.'</fieldset>
       
    '.$submit.'</div>
       <
    div class="prof_right"><fieldset class="prof"><legend>Biografie</legend>'.$fe_bio.'</fieldset></div>'.$formfooter;
       break;
     }
    return $form;
    }
    ?>


    Dat bouwt het formulier op voor een gebruikersprofiel. De switch is voor stukjes formulier: als je op je eigen profiel zit, zie je per gedeelte (persoonlijke info, biografie etc een linkje "bewerk" dat in een popupje het betreffende stukje form laat zien zodat je het makkelijk en snel kan aanpassen).

    Ik heb alle userdata in verschillende tabellen gestopt vanwege het overzicht. Dit leek me makkelijker dan een grote tabel met wel 50 fields. Als ik nu bijvoorbeeld alleen een voornaam nodig heb, hoef ik niet in een hele grote tabel te gaan zoeken (hoewel, met een SELECT first_name zou dat ook niet veel uitmaken? Is het misschien toch slimmer om alles in een tabel te proppen?).
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')