abonnement Unibet Coolblue Bitvavo
pi_56665203
quote:
Op maandag 11 februari 2008 14:22 schreef Farenji het volgende:

[..]

Waarschijnlijk gaat het ophalen van de sessie data niet goed in je safe include. Initialiseer je de sessie wel goed?
Die safe include is overigens niet echt oop.
Het idee achter OOP is dat je functionaliteit groepeert in logische bouwblokken waaruit je je applicatie opbouwt. Het is dan logisch om een session class te maken, waar je alle session management in regelt. Eventueel zou je die sessie class deel kunnen laten uitmaken van de user class (als in: wel aparte classes maar een user object bevat/encapsuleert een session object). Het idee is dan dat je een objectmethode maakt (bijv $user->isLoggedIn()) die je overal kan gebruiken. Deze methode van de class user kijkt dan in de sessie (maw in het sessie object dat in het user object zit) van betreffende user of alles ok is en geeft dan een 1 (ingelogd) of een 0 (niet ingelogd) terug. Aan de hand daarvan kun je dan de gevraagde pagina tonen of redirecten naar de loginpagina.
Dat is inderdaad de bedoeling. Maar omdat het niet werkte ben ik eerst een stap terug gegaan naar een losse file waarin gecheckt wordt of de sessie wel bestaat. De functionaliteit komt inderdaad in een functie in de sentry-class die ik dan bovenaan de pages aanroep. Maar nogmaals, classes zijn nieuw voor mij en daarom probeer ik eerst op een manier wat duidelijk voor mij is de code uit.

De sessie bestaat overigens wel (en wordt ook aangemaakt door de class 'sentry' in dit geval) want in het menu heb ik linkjes verborgen achter een "if(isset($_SESSION['user_id']))" en die linkjes zie ik ook na inloggen..
pi_56665294
Als de sessie daadwerkelijk zou bestaan zou hij niet naar login.php gaan. Doe eens een var_dump op $_SESSION en op $_COOKIE boven de if-then-else constructies.
"Reality is an illusion created by a lack of alcohol."
pi_56665368
quote:
Op maandag 11 februari 2008 14:34 schreef Dzy het volgende:
Als de sessie daadwerkelijk zou bestaan zou hij niet naar login.php gaan. Doe eens een var_dump op $_SESSION en op $_COOKIE boven de if-then-else constructies.
Geeft inderdaad NULL, terwijl de linkjes in het menu in het if(isset($_SESSION['user_id'])-statement wel worden weergegeven :S
pi_56665442
Het heeft inderdaad te maken met session_start, terwijl ik die wel in de class 'sentry' in de function login() aanroep en daarna de variables vul. Als ik dus op de index.php voor de include van safe.php session_start() meegeef doet hij het wel.
pi_56666420
Werd er niet per ongeluk al output gegenereerd? (Denk het niet want dan zou je header redirect ook niet werken maar je weet het maar nooit). Kan ook whitespace zijn.
"Reality is an illusion created by a lack of alcohol."
pi_56669502
quote:
Op maandag 11 februari 2008 15:41 schreef Dzy het volgende:
Werd er niet per ongeluk al output gegenereerd? (Denk het niet want dan zou je header redirect ook niet werken maar je weet het maar nooit). Kan ook whitespace zijn.
Nee, ik weet al waar het in zat. De session werd gestart in de constructor van de sentry-class, maar die had een verkeerde naam. Nu werkt alles zoals het moet. Erg bedankt voor het meedenken want zo wist ik welke richting ik op moest zoeken
pi_56670929
Ik heb nog een leuke, ik wil records verwijderen maar de 10 meest recente laten staan... hoe kan ik dit verwezenlijken zonder een query te doen op het aantal regels?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_56671611
1
2
3
4
5
6
7
DELETE FROM foo
WHERE id NOT IN (
   SELECT id 
   FROM foo
   ORDER BY created DESC
   LIMIT 10
)


(Als je niet een hele oude MySQL versie gebruikt)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 11 februari 2008 @ 20:45:22 #234
74523 BaggerUser
ModderFokker!
pi_56671683
hoi,

ben aan het proberen om advertenties van marktplaats uit te lezen en op die manier ook op een eigen site te zetten (anders moeten ze altijd twee keer worden toegevoegd op twee verschillende sites en dat is nogal een werk.

ik heb op dit moment dit:

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
<?php
function getLine($page$keyword$pattern) { 
  foreach (
$page as $line_num => $line) { 
    if(
strstr($line$keyword)){ 
      if(
ereg($pattern$line$output)){ 
        
$result $line_num
      } 
    } 
  } 
  return 
$result


// URL van de pagina die doorzocht moet worden
$url "http://auto.marktplaats.nl/audi/132476134-150x-audi-a3-a4-a6-tdi-golf-4-5-tdi-benzine-seat-leon-tdi.html?return=eJwdyEEOgyAQheG7mOiuIJIuxBhDb0KURiLIhBmTpk3v3qGbme9%2FzijzCaaf0Ki7Mg16V9Z92onASHlk8KdIrhwE0TlCcUbpLso35LcFuY5a7JTi8oqz6jacKbfaqlY%2FIh87%2FjVU6SpivQMw8bkhBwvq2DMS7%2Fa8ki9h5cwYuIcO4Jr7Zvr%2BAA4JNF8%3D&fta=eNptVm1uGzkMvcv86G%2FxSxQ1yBX2CoFRp10DTmLETje7Qe5ejuiRVGBRIGheKJKPfCTnUEv9vPqP5f3t%2FPjrcL4uq%2F8qdfk4P8C34%2FXh9lphPUM1%2F4nVaD3f6n%2Bny3r9cbzW9XKraX2%2B1Jf356e30%2Ff1%2FFGREpmt53%2BrYC6E6%2Bv1VPHb5fL%2BkDbnXJfL4efTsp7c8bVSXU5Hj3qokKh%2BntzftVpdgJA1A%2FFuuGGOFEoFNgx3OyZjQ9ww6naKRilvGO9Y9oeU2luZ7LLG2zxjSLJhuscQIvEoG1Z2Oyol59Ji2PQWC2vLeSfCnjUxBpHOhPw5SoA4WeaC1MDORVjBCTawkwFk49SShIkNmHJYdjqIbgwtddBumYATRZ6dEEKyogHujJBLLqW0QNgZpYyg1vLEzsgdkFe5gZ2RgKjlFh07I1A1k9LAzkjZgCh8zowYc%2FicGgRkUU%2FUP5K%2F%2B%2ByMMmQQaAVBG3mqsjZL6oxcsm4YItoZEWlJrsMG4oievCQtT6KhBXMdtjypMxIyUAiwM3K5qVJEzyNPcbU2RqRDIQRQInoZfUeQFNE7I05IaO05pylPL12rPMMfeQZN7oxQsfifGjgYKakEd%2B6MCF3yGpajR5i8nG2ueDAyTUnj%2BaQ6E5YmMC4TqG7dwJ0RFSWy0qokQ3VIHijAzojZhHJ7LqNH2ew%2BMtIZ5eLMpSlZOiMvvc9hamBnJEmdaWyKPGTjC4rjuQ4li9cvno%2FFQFuRIs%2BhOvHB5tajnOYWl1hxecyR7ymJPZXHZrDs%2FWyVzzTRlBJTnHkabSixGfLOyIWYwCB8jh7l5AsjwM4oS1aOec9ltMPdcmOUbci7METjNE0poUrTvMLw6XoIeStOYGFqpVOaQGVqKSnPzzWUrDJbQmot1s6IuKQcI6M6gwUjzzKDEHOkNoMYNMvoEXjqsVjKdIcsSYih9EOUIXGOFpcxRwSC1miWoTp2IUJYDkbmF4rixuReedmSj%2BidkfcS%2FV8Dy3Qafau20pXBKPkaCJqWRuOEOU6PzZdVfEIaOHrki94XYwNptqQ4E8b9QLrs7sNlMhaLOB4%2Bp81QXLOR0pij7NA9z3GPkGw%2FsPY%2FXwCQ0uzUBzzQaZJE7mvVpTI8%2BCxu%2BX9d%2FcrW5fZ6ORyvj%2Benl5%2B3v%2FevCEh1%2Bf7%2B9vZ4ejk%2BfWzoPdbz4eNx%2B37xT5ZjbHCsy%2BGfZf3r%2Ft9f27dMqp9fX78BmNgwHA%3D%3D&fta_ind=1&df=1"

// Naar welk begindeel moet er worden gezocht:
$search1 'Vermogen'

// Naar welk einddeel moet er worden gezocht: 
$search2 'Cylinderinhoud'

// Wat moeten er van die regel worden opgenomen:
// Het patroon maakt gebruik van reguliere expressies 
//$pattern = '.*'; 
$pattern '.*.'

//////

$lines file($url); 
$begin getLine($lines$search1$pattern); 
$end getLine($lines$search2$pattern); 

for(
$i=$begin$i $end$i++) { 
  echo 
$lines[$i]; 

  
?>


probleem waar ik mee zit (ik heb even een willekeurige advertentie gepakt, zie link in script)

is dat ik de bovenste info wel kan uitlezen , maar de onderste info (in het 2e kopje dus oa die met cyllinderinhoud) niet. iemand enig idee hoe dat kan?

sowieso, niet iemand die een minder omslachtige manier weet?
De enige echte BaggerUser!
Riemen
fiets kopen
pi_56672763
quote:
Op maandag 11 februari 2008 20:42 schreef SuperRembo het volgende:

[ code verwijderd ]

(Als je niet een hele oude MySQL versie gebruikt)
Handig!
Wist niet dat MySQL ook kon sorteren op created
ne okuyon, bokmu var?
pi_56672955
quote:
Op maandag 11 februari 2008 20:42 schreef SuperRembo het volgende:

[ code verwijderd ]

(Als je niet een hele oude MySQL versie gebruikt)
"created? Geniaal, die maakte ik normaal altijd zelf.

Bestaat "updated" ook?
pi_56673072
"created" is gewoon een veld in de tabel, die moet wel bestaan of moet je zelf aanmaken. Maar als je "created" van het type timestamp maakt en het is de enige timestamp in de tabel, dan wordt ie automatisch uptodate gehouden door MySQL, met de tijd van laatste aanpassing, of creatie van het database record.
pi_56673270
O, ik dacht dat MySQL dat veld altijd zelf aanmaakt. In dat geval hou ik het wel zoals ik het nu doe, een veld date_added en een veld date_updated.
pi_56673680
quote:
Op maandag 11 februari 2008 21:51 schreef Geqxon het volgende:
O, ik dacht dat MySQL dat veld altijd zelf aanmaakt. In dat geval hou ik het wel zoals ik het nu doe, een veld date_added en een veld date_updated.
En die noem ik dus meestal created en modified
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_56677138
quote:
Op maandag 11 februari 2008 18:55 schreef Tarabass het volgende:

[..]

Nee, ik weet al waar het in zat. De session werd gestart in de constructor van de sentry-class, maar die had een verkeerde naam. Nu werkt alles zoals het moet. Erg bedankt voor het meedenken want zo wist ik welke richting ik op moest zoeken
Geen probleem. Blij dat het gelukt is.

Een korte vraag deze keer maar vooral even laten weten wat voor tofs ik aan het maken ben

Ik en mijn vrienden hebben best wel een gedeelde muzieksmaak (livesets van DJs) en hebben samen wel een verzameling van zo'n 2 terabyte. Nu heb ik helaas niet genoeg ruimte om dat alles op te slaan, net als de rest overigens. Nu heb ik ze zo ver gekregen dat ze allemaal wel een FTP servertje willen draaien maar om niet moeilijk te doen met FTP clients en rechten instellen en files slepen gaan ze gewoon allemaal 1 root account aanmaken die overal bij kan en dan kunnen ze zelf bestanden aan de database toevoegen (locatie welke FTP server en waar op de FTP server). Mijn files komen rechtstreeks van mijn webserver die hier dus draait af. Dat werkt allemaal prima, maar als iemand een bestand wil downloaden die op een van de andere FTP servers draait moet mijn webserver eerst dat ding daarvandaan downloaden en dan versturen. Is er niet iets mogelijk dat die rechtstreeks daarvandaan gedownload word zonder met een FTP client in te loggen en toch niet die dubbele download te hebben? Of bijvoorbeeld mogelijk om elke 1024 bytes die de server download alvast door te sturen naar de downloader? Daar ken ik het FTP protocol niet goed genoeg voor en ik weet ook niet of daar al ftp classes voor zijn.

Iemand een idee?
"Reality is an illusion created by a lack of alcohol."
pi_56677976
quote:
Op maandag 11 februari 2008 13:40 schreef Tarabass het volgende:
Zoals ik al eerder in dit topic aangaf ben ik bezig met een oop-cms. Alles gaat lekker alleen loop ik tegen een probleempje aan. Inloggen gaat goed, session-variables worden geset, en de user wordt doorgestuurd naar de index page. Daar include ik een 'safe-file' die check of de session is aangemaakt, die safe.php ziet er zo uit:
[ code verwijderd ]

Echter blijft de safe-file redirecten naar de login-page. Ik heb getest of de session is geset en dit is zeker weten het geval. Zien jullie wat ik verkeerd doe, want dit is erg frustrerend :(

ps: Heb deze manier van werken al in een andere website gebruikt en daar werkte het perfect. Met een safe.php en een safe_admin.php beveiligde ik de pages, met een redirect naar login.php. Dit was echter wel zonder classes..
Je hebt het al opgelost, maar er zijn toch nog een paar puntjes waar je op kunt letten:

1
2
3
4
5
6
7
<?php
        $result 
$connector->query("SELECT pass,thegroup FROM cmsusers WHERE id='".$_COOKIE['user_id']."'");
        
$row $connector->fetchArray($result);

        
$dbpass $row->pass;
        
$dbstatus $row->thegroup;
?>


$_COOKIE is externe input en dus onbetrouwbaar. Je geeft $_COOKIE['user'] mee als string (terwijl het waarschijnlijk een integerwaarde is) en dan mag je daar wel mysql_real_escape_string() overheen halen. Of iets als intval() om er een integer van te maken.

Ik ken je functie fetchArray niet, maar de naam doet mij vermoeden dat er een array wordt opgehaald en dat $row dus een array wordt. Die kun je dan niet uitlezen met $row->pass, wel met bijvoorbeeld $row[0] of $row['pass'], afhankelijk van de opbouw van de array.
pi_56678098
quote:
Op maandag 11 februari 2008 20:42 schreef SuperRembo het volgende:

[ code verwijderd ]

(Als je niet een hele oude MySQL versie gebruikt)
En als ik nu wel een iets te oude versie heb
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_56678136
quote:
Op dinsdag 12 februari 2008 07:44 schreef Chandler het volgende:

[..]

En als ik nu wel een iets te oude versie heb
Dan moet je eens kijken naar de mogelijkheden om te upgraden
pi_56678334
True True! maar als die mogelijkheid er nu niet is?

[ Bericht 85% gewijzigd door Chandler op 12-02-2008 10:21:52 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_56678835
Mijn hosting-provider gebruikt altijd de laatste versie van PHP, MySQL en cPanel.
pi_56681545
quote:
Op dinsdag 12 februari 2008 08:30 schreef Chandler het volgende:
True True! maar als die mogelijkheid er nu niet is?
Dan moet je het in 2 aparte queries doen: eerst een lijst van de recente records ophalen, en deze vervolgens wissen in een tweede query. Veel queries met subqueries kun je herschrijven tot een enkelvoudige query, maar bovenstaande is een goed voorbeeld waar dat niet kan.

Ik zit overigens op mijn werk ook opgescheept met mysql 4.0 (uit debian sarge), die heeft geen subquery support.
Upgraden van tientallen servers en bovendien met software die niet 100% op nieuwere versies draait is niet zo makkelijk. Maar binnenkort moeten we wel, dat wordt dus nog leuk...
pi_56682923
* saban heeft nog steeds genoeg vrije tijd over om iets te bouwen .. ben er nog steeds niet uit 'wat'

Gastenboek? Heb je binnen paar uur klaar.
Factuursysteem? Kan, lijkt me leuk met FPDF bijv..
More?
ne okuyon, bokmu var?
pi_56683118
Doe maar een factuursysteem waarbij de facturen ook opgeslagen worden in de database eventueel ook een klanten tabel! plus opslag van facturen om eventueel bij nieuwe layout de facturen in een nieuwe layout te zetten
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_56684003
quote:
Op dinsdag 12 februari 2008 13:24 schreef saban het volgende:
* saban heeft nog steeds genoeg vrije tijd over om iets te bouwen .. ben er nog steeds niet uit 'wat'

Gastenboek? Heb je binnen paar uur klaar.
Factuursysteem? Kan, lijkt me leuk met FPDF bijv..
More?
Loginsysteem met challenge-response systeem, sessie management en verschillende userrollen?
Automatische login en username/password opvragen met een 'geheime vraag' zijn leuke extra's
  dinsdag 12 februari 2008 @ 15:14:02 #250
74523 BaggerUser
ModderFokker!
pi_56684701
quote:
Op maandag 11 februari 2008 20:45 schreef BaggerUser het volgende:
hoi,

ben aan het proberen om advertenties van marktplaats uit te lezen en op die manier ook op een eigen site te zetten (anders moeten ze altijd twee keer worden toegevoegd op twee verschillende sites en dat is nogal een werk.

ik heb op dit moment dit:
[ code verwijderd ]

probleem waar ik mee zit (ik heb even een willekeurige advertentie gepakt, zie link in script)

is dat ik de bovenste info wel kan uitlezen , maar de onderste info (in het 2e kopje dus oa die met cyllinderinhoud) niet. iemand enig idee hoe dat kan?

sowieso, niet iemand die een minder omslachtige manier weet?

iemand?
De enige echte BaggerUser!
Riemen
fiets kopen
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')

Het lijkt erop dat je onze advertenties blokkeert

Dat begrijpen we, maar is wel erg jammer. Je kunt FOK! namelijk wel gratis LEZEN, maar we kunnen FOK! niet gratis MAKEN. De inkomsten van de advertenties zorgen ervoor dat we de kosten van de site kunnen dragen zodat je ook morgen FOK! nog kunt bezoeken.

Zou je willen overwegen om voor FOK! een uitzondering te maken in je adblocker (of andere middelen die onze ads blokkeren)? Je krijgt deze melding dan nooit meer te zien.

Ja, ik wil fok.nl whitelisten, laat me zien hoe

Ik neem liever een premium account zodat ik geen advertenties hoef te zien (je moet eerst inloggen)
Ja, breng me naar de shop