abonnement Unibet Coolblue
  zondag 26 mei 2013 @ 22:30:22 #76
187069 slacker_nl
Sicko pur sang
pi_127046677
quote:
0s.gif Op zondag 26 mei 2013 22:17 schreef Chandler het volgende:

[..]

Mocht ik deze nodig zijn, dan kan ik deze natuurlijk uitlezen en herschrijven indien nodig (location: index.php naar http://www.domein.nl/index.php) en aan mijn queue toevoegen ;)

Had eerst een extra functie in mijn script met get_headers maar die vreet nogal wat resources en maakt het script stukken slomer....
Ik zou gewoon heel simpel een functie schrijven die de response parsed indien 200 http_code, bij een 30x http_code de redirect_url pakt, checked of het binnen het domein valt, indien ja, dan een recursive call doet (mss wel oppassen met redirect loops), en anders.. iets.
In theory there is no difference between theory and practice. In practice there is.
pi_127056142
quote:
Werkte niet, maar heb alleen true geprobeerd, misschien had ik deze wel op false moeten zetten (lol, kan nu niet ff testen :()

quote:
0s.gif Op zondag 26 mei 2013 22:30 schreef slacker_nl het volgende:
Ik zou gewoon heel simpel een functie schrijven die de response parsed indien 200 http_code, bij een 30x http_code de redirect_url pakt, checked of het binnen het domein valt, indien ja, dan een recursive call doet (mss wel oppassen met redirect loops), en anders.. iets.
Daarom gebruik ik de queue om geen recursive call's te doen anders had ik die queue niet nodig gehad, dat was het eerste probleem die ik 4 weken geleden moest aanpakken :@

Op dit moment zie ik weinig nut in het volgen van deze redirects, misschien dat ik deze later toch nog door ga voeren in de code maar dat is voor dan..
Just say hi!
pi_127098475
Waarom geeft het laden van een document via dom met loadhtml fouten maar true als resultaat?

1
2
3
4
5
6
7
8
<?php
$doc 
= new DOMDocument();

var_dump($doc->loadhtml("<html dxxx<nbody>haha<html>test"));

var_dump($doc->loadhtml("<html><head></head><body><p>lol</p></body></html>"));
exit;
?>

Beiden geven true terwijl de eerste een foutmelding geeft en dus een false zou moeten geven...
Just say hi!
pi_127098650
quote:
0s.gif Op dinsdag 28 mei 2013 09:27 schreef Chandler het volgende:
Waarom geeft het laden van een document via dom met loadhtml fouten maar true als resultaat?
[ code verwijderd ]

Beiden geven true terwijl de eerste een foutmelding geeft en dus een false zou moeten geven...
Geeft het een foutmelding of een warning? Uit de documentatie:
quote:
While malformed HTML should load successfully, this function may generate E_WARNING errors when it encounters bad markup. libxml's error handling functions may be used to handle these errors.
Edit: ik lees nu pas je eerdere posts :@ . Warnings dus. Dan moet je dus libxml_use_internal_errors gebruiken als je de warnings wilt afhandelen.
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_127111190
quote:
0s.gif Op dinsdag 28 mei 2013 09:33 schreef Rockfire het volgende:
libxml_use_internal_errors
Ook daarmee krijg ik alleen maar 'true' terug... en er staat toch echt op php.net dat er een false gegeven zou moeten worden...

libxml_use_internal_errors(true);

:{

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

var_dump(libxml_use_internal_errors(true));
$doc = new DOMDocument();

if (!$doc->loadhtml("<html dxxx<nbody>haha<html>test"))
{
    echo 'process error?';
}

if (!$doc->loadhtml("<html><head></head><body><p>lol</p></body></html>"))
{
    echo 'process error1?';
}
exit;
?>

zou dus een foutmelding moeten geven, maar niet dus :P
Just say hi!
pi_127111651
quote:
0s.gif Op dinsdag 28 mei 2013 16:06 schreef Chandler het volgende:

[..]

Ook daarmee krijg ik alleen maar 'true' terug... en er staat toch echt op php.net dat er een false gegeven zou moeten worden...
Nee dat staat er niet, er staat:
quote:
This function returns the previous value of use_errors
quote:
libxml_use_internal_errors(true);

:{
[ code verwijderd ]

zou dus een foutmelding moeten geven, maar niet dus :P
Heb je ook gekeken naar de functie libxml_get_errors? Het voorbeeld wat ze daarbij geven doet precies wat jij wil, namelijk controleren op verkeerde xml...
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_127112772
Ik doelde meer op domdocument

http://nl1.php.net/manual/en/domdocument.loadhtml.php

quote:
Returns TRUE on success or FALSE on failure. If called statically, returns a DOMDocument or FALSE on failure.
maar goed,ik heb het nu wel, al is het wel een in mijn ogen niet zo'n nette oplossing.

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
<?php
$errors 
= array();
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadhtml("<html dxxx<nbody>haha<html>test");
$errors libxml_get_errors();
libxml_clear_errors();

if (
count($errors) > 0) {
    echo 
'Moet een fout geven! FOUT!';
}

$doc->loadhtml("<html><head></head><body><p>lol</p></body></html>");
$errors libxml_get_errors();
libxml_clear_errors();

if (
count($errors) > 0) {
    echo 
'Als je dit ziet, is er iets echt goed mis....';
}

// nog sneller
if ($doc->loadHtml("<html dxxx<nbody>haha<html>test") && count(libxml_get_errors()) > 0) {
    echo 
'html is fout 1';
} else {
    echo 
'html is goed 1';
}
libxml_clear_errors();

if (
$doc->loadHtml("<html><head></head><body><p>lol</p></body></html>") && count(libxml_get_errors()) > 0) {
    echo 
'html is fout 2';
} else {
    echo 
'html is goed 2';
}

exit;
?>
Just say hi!
pi_127177784
quote:
0s.gif Op dinsdag 28 mei 2013 16:43 schreef Chandler het volgende:
Ik doelde meer op domdocument

http://nl1.php.net/manual/en/domdocument.loadhtml.php

[..]

maar goed,ik heb het nu wel, al is het wel een in mijn ogen niet zo'n nette oplossing.
[ code verwijderd ]

Als je iets verder leest staat er dit:

quote:
While malformed HTML should load successfully, this function may generate E_WARNING errors when it encounters bad markup. libxml's error handling functions may be used to handle these errors.
Je huidige oplossing lijkt mij dus goed en ook volgens de documentatie.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_127179618
Top! dan heb ik toch een juiste workaround! *)
Just say hi!
pi_127213409
ik gebruik regelmatig b.v.
1
2
3
<?php
include "foto.php" ;
?>

om meer structuur in de website te krijgen wil ik graag dingen meer in mapjes plaatsen
het word dan dus
1
2
3
<?php
include "fotos/foto.php" ;
?>
waar de foto`s dus weer in sub mapjes staan.
met include loop ik dan regelmatig tegen het probleem aan dat blijft denken vanuit de rootmap

van uit iframe(`s) had ik dat probleem nooit. weet iemand hier een makkelijke oplossing voor?

of moet ik alle (php/html) bestanden die in mappen staan programmeren vanuit de root?
pi_127214951
je include volgens een relatief pad, ten opzichte van het bestand waar de include gedaan wordt.

Bedenk je dat includes server-side gebeuren en dus moeten verwijzen naar bestanden op hel lokale filesystem van de server. Terwijl iframes moeten verwijzen naar een url van de webserver. Dit is een wezenlijk verschil!
  Moderator / Redactie Sport / Devops donderdag 30 mei 2013 @ 18:59:40 #87
176766 crew  zoem
zoemt
pi_127215799
Bij een standaard include_path wordt er bij include/require altijd eerst gezocht binnen de directory waarin je php-file met het include statement staat. Dus je moet altijd rekenen vanuit het scriptbestand waarin je de include uitvoert. Je kunt eventueel paden toevoegen aan include_path, maar dat hangt van je projectopzet af.

1
2
3
4
5
6
7
8
<?php
var_dump
(explode(':'get_include_path()));

// array (size=3)
//   0 => string '.' (length=1)  <-- verwijst naar directory van het huidige php-bestand
//   1 => string '/usr/share/php' (length=14)
//   2 => string '/usr/share/pear' (length=15)
?>

En inderdaad wat KomTijd zegt, de structuur van het bestandssysteem hoeft niet gelijk te zijn aan je url-structuur.

Zonder concrete case valt er verder weinig te zeggen over een mogelijke oplossing.

[ Bericht 15% gewijzigd door zoem op 30-05-2013 19:09:46 ]
  vrijdag 31 mei 2013 @ 16:55:06 #88
12221 Tijn
Powered by MS Paint
pi_127254273
Kan iemand me helpen met wat MySQL GROUP BY troubles?

Ik heb een database met twee tabellen:

1
2
3
4
5
6
7
player

id | name
------------
 1 | henk
 2 | truus
 3 | sjaak

en

1
2
3
4
5
6
7
game

id | player_id | character_id | waves | score
-----------------------------------------------
 1 |         2 |            5 |    12 |  9000
 2 |         5 |            9 |     8 |  4000
 3 |         2 |            4 |    15 | 12000

Nu wil ik een highscore-lijst maken gesorteerd op score en gegroepeerd op speler waarbij de character_id en wave van die score/speler-combinatie wordt weergegeven.

Hoe krijg ik dat voor elkaar? Want met zoiets kom ik er niet:

1
2
3
4
SELECT max(score) as score, character_id, waves
FROM game
GROUP BY user_id
ORDER BY score

Het probleem hiervan is dat de character_id en waves niet bij het record horen van de score. Iemand een slim om dit wel goed te doen?
pi_127254470
Je MAX(score) en GROUP BY zijn toch helemaal niet nodig?
  vrijdag 31 mei 2013 @ 17:00:02 #90
12221 Tijn
Powered by MS Paint
pi_127254527
quote:
14s.gif Op vrijdag 31 mei 2013 16:58 schreef KomtTijd... het volgende:
Je MAX(score) en GROUP BY zijn toch helemaal niet nodig?
Jawel, want het is de bedoeling dat er geen dubbele users in staan, maar alleen de maximale score van een user.
pi_127254581
Is dat niet met distinct op te lossen?
  vrijdag 31 mei 2013 @ 18:04:13 #92
187069 slacker_nl
Sicko pur sang
pi_127256910
Kan je niet joinen met jezelf:

http://dev.mysql.com/doc/(...)ns.html#function_max

Je kan dan zoiets doen:

1
2
3
4
5
6
7
8
9
10
SELECT
    MAX(g.scores) as hiscore,
    g.character_id,
    g.waves,
FROM
    games as g
JOIN
    games as g2 on hiscore = g2.scores
    where g2.player_id = g.player_id 
;
In theory there is no difference between theory and practice. In practice there is.
pi_127283573
Heeft iemand een oplossing voor het volgende?

Ik laad via curl multi meerdere url's in 1x maar soms gaat er een URL de fout in bv door het volgende.

- geen content ontvangen
- http error code
- redirect

Nu zou ik graag per uitgelezen URL willen weten welke URL de fout in is gegaan, maar kan dat niet checken als er een redirect is geweest.... mijn vraag is, hoe kan ik zorgen dat ik de juiste gegevens bij de error kan zetten? zodat ik die project kan skippen en eventueel de error kan gebruiken.

Testcase
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
<pre>
<?php

$projects 
= array(=> array("url" => "http://www/testredirect.php?x=5"),
                  
=> array("url" => "http://www/testredirect.php?x=2"),
                  
=> array("url" => "http://www/testerror.php"),
                  
=> array("url" => "http://www/testerror.php?x=10"),
                  
=> array("url" => "http://www/testerror.php?x=5"),
                  
=> array("url" => "http://www/testerror.php?x=22"));
                  
$mh curl_multi_init();
$handles = array();

foreach (
$projects AS $key => $project)
{
    echo 
$project['url'] . '<br />';
    
$handles[$key] = curl_init($project['url']);

    
curl_setopt($handles[$key], CURLOPT_TIMEOUT20);
    
curl_setopt($handles[$key], CURLOPT_CONNECTTIMEOUT20);
    
curl_setopt($handles[$key], CURLOPT_HEADERtrue);

    
curl_setopt($handles[$key], CURLOPT_AUTOREFERERtrue);
    
curl_setopt($handles[$key], CURLOPT_FAILONERRORtrue);
    
curl_setopt($handles[$key], CURLOPT_RETURNTRANSFERtrue);
    
curl_setopt($handles[$key], CURLOPT_SSL_VERIFYHOSTfalse);
    
curl_setopt($handles[$key], CURLOPT_SSL_VERIFYPEERfalse);

    
curl_setopt($handles[$key], CURLOPT_FOLLOWLOCATIONtrue);  // true for test

    
curl_setopt($handles[$key], CURLINFO_EFFECTIVE_URLtrue);
    
curl_setopt($handles[$key], CURLINFO_HEADER_OUTtrue);
    
curl_setopt($handles[$key], CURLINFO_REDIRECT_COUNTtrue);
    
    
curl_multi_add_handle($mh$handles[$key]);
}

$running null;
do 
{
    
curl_multi_exec($mh$running);

while (
$running 0);

foreach (
$handles AS $key => $value)
{
    
$break      false;
    
$curl_error curl_error($value); // fetch error, if any

    
print_r($curl_error);
    echo 
'<br />';
    
print_r(curl_getinfo($value));
    echo 
'<br />';
    if (
strlen($curl_error) == 0)
    {            
        
print_r(curl_multi_getcontent($value));
        echo 
'<br />';
    }
    else
    {
        echo (
"error<br/>");
    }
}

Of kijk ik nu al dagen ergens overheen?

Ps testredirect.php is een script die meerdere redirects uitvoert.
Ps testerror.php zorgt voor een sleep van $_GET['x'] gegeven seconden!
Just say hi!
  zaterdag 1 juni 2013 @ 21:51:53 #94
187069 slacker_nl
Sicko pur sang
pi_127301873
quote:
15s.gif Op zaterdag 1 juni 2013 12:47 schreef Chandler het volgende:
Heeft iemand een oplossing voor het volgende?
Dit heb je toch al een keertje eerder gedaan? Een paar posts geleden zelfs.

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
<?php
error_reporting
(E_ALL);

$projects = array('opn' => array("url" => "http://www.opperschaap.net"),
                  
'opn_not_found' => array("url" => "http://www.opperschaap.net/die"),
                  
'redir' => array("url" => "http://www.example.com"),
);
    
$mh curl_multi_init();
$handles = array();

$setopt_array = array( 
    
CURLOPT_TIMEOUT => 20
    
CURLOPT_CONNECTTIMEOUT => 20
    
CURLOPT_HEADER => true,

    
CURLOPT_AUTOREFERER => true,
    
CURLOPT_FAILONERROR => true,
    
CURLOPT_RETURNTRANSFER => true,
    
CURLOPT_SSL_VERIFYHOST => false,
    
CURLOPT_SSL_VERIFYPEER => false,

    
CURLOPT_FOLLOWLOCATION => true,  // true for test
);

foreach (
$projects AS $key => $project) {

    
printf("URL: %s\n"$project['url']);

    
$ch curl_init($project['url']);
    
curl_setopt_array($ch$setopt_array);

    
curl_multi_add_handle($mh$ch);
    
$handles[$key] = $ch;
}

$running null;
do 
{
    
curl_multi_exec($mh$running);

while (
$running 0); 

foreach (
$projects AS $key => $project) {
    print 
"$key\n";
    
$ch $handles[$key];
    
$curl_error curl_error($ch); // fetch error, if any

    
$curl_info = (curl_getinfo($ch));

    if (
$project['url'] != $curl_info['url']) {
        
printf("Redirected from %s to %s\n"$project['url'], $curl_info['url']);
    }   

    if (
$curl_info['http_code'] == 200) {
        
print_r(curl_multi_getcontent($ch));
    }   
    else {
        
printf("HTTP code not 200: %d\n"$curl_info['http_code']);
    }   
    print 
"\n";                                                                                                                                                                                                                                                                                               
}
?>
In theory there is no difference between theory and practice. In practice there is.
pi_127314702
Je hebt gelijk slacker_nl, maar omdat ik er echt niet uitkwam toch maar een extra post er over (en gelukkig zie ik nu waar ik de fout in ging!)

Thanks!
Just say hi!
  zondag 2 juni 2013 @ 16:04:22 #96
319705 pascal08
dr. prof.
pi_127323578
Ik zit met een dilemma. Mijn zoekfunctie werkt met ajax en json. Ik zou POST en GET kunnen gebruiken. POST heeft als nadeel dat ik een formtoken moet meesturen ivm csrf en heeft volgens mij ook als nadeel dat er niets gecached kan worden. Met GET daarentegen zit ik met het probleem dat Codeigniter geen tekens zoals een apostrof tolereert. Ik weet dat het mogelijk is om dit uit te zetten, maar bij deze instelling staat duidelijk vermeldt dat je niets moet veranderen tenzij je weet waar je mee bezig bent, en daar zit het probleem, dat weet ik dus niet. :P

Google en andere grote sites werken met GET zag ik via de Chrome Console. Echter kan ik daar wel gewoon zoeken op een apostrof. De apostrof wordt dan omgezet in %27. Kan iemand mij uitleggen welke methode geschikter is voor mijn situatie en hoe ik eventueel veilig tekens zoals een apostrof in de URL toelaat bij een GET request?
  Moderator / Redactie Sport / Devops zondag 2 juni 2013 @ 17:25:50 #97
176766 crew  zoem
zoemt
pi_127326225
quote:
0s.gif Op zondag 2 juni 2013 16:04 schreef pascal08 het volgende:
Ik zit met een dilemma. Mijn zoekfunctie werkt met ajax en json. Ik zou POST en GET kunnen gebruiken. POST heeft als nadeel dat ik een formtoken moet meesturen ivm csrf en heeft volgens mij ook als nadeel dat er niets gecached kan worden.
De reden dat een csrf-token wordt geadviseerd bij POST is juist omdat POST wordt gebruikt voor het veranderen van data op de server. Daarmee beantwoord ik eigenlijk je vraag al :)

Wat betreft caching: daar zou ik niet te veel over nadenken. Premature optimalisatie en je kunt het op veel verschillende manieren/niveaus realiseren, zowel server als client-side.
quote:
Met GET daarentegen zit ik met het probleem dat Codeigniter geen tekens zoals een apostrof tolereert. Ik weet dat het mogelijk is om dit uit te zetten, maar bij deze instelling staat duidelijk vermeldt dat je niets moet veranderen tenzij je weet waar je mee bezig bent, en daar zit het probleem, dat weet ik dus niet. :P
Kwestie van op de juiste manier escapen.
URL Encode a string in jQuery for an AJAX request
Ook handig zijn php's urlencode en json_encode
quote:
Google en andere grote sites werken met GET zag ik via de Chrome Console. Echter kan ik daar wel gewoon zoeken op een apostrof. De apostrof wordt dan omgezet in %27. Kan iemand mij uitleggen welke methode geschikter is voor mijn situatie en hoe ik eventueel veilig tekens zoals een apostrof in de URL toelaat bij een GET request?
Gewoon GET gebruiken. De intentie achter GET is juist het ophalen van data van de server. POST, PUT en DELETE zijn ontwikkeld om data op de server te veranderen.
  zondag 2 juni 2013 @ 17:54:52 #98
319705 pascal08
dr. prof.
pi_127327153
quote:
0s.gif Op zondag 2 juni 2013 17:25 schreef zoem het volgende:

De reden dat een csrf-token wordt geadviseerd bij POST is juist omdat POST wordt gebruikt voor het veranderen van data op de server. Daarmee beantwoord ik eigenlijk je vraag al :)
Dit wist ik. :@

quote:
Kwestie van op de juiste manier escapen.
URL Encode a string in jQuery for an AJAX request
Ook handig zijn php's urlencode en json_encode
Hier had ik nog niet aan gedacht. :@ Ik ken die functie ook nog niet, dus ik moet even kijken of het resultaat daarvan wel door Codeigniter geaccepteerd wordt.

Ik ga eens kijken. Bedankt voor je reply. ;)

EDIT:
1.replace("'", "%27")
werkt. *O* Dat is tevens ook het enige speciale karakter waar ik op wilde zoeken, dus dit is top. Bedankt. _O_

[ Bericht 13% gewijzigd door pascal08 op 02-06-2013 18:19:37 ]
  Moderator / Redactie Sport / Devops zondag 2 juni 2013 @ 18:35:49 #99
176766 crew  zoem
zoemt
pi_127328287
Mooi om te horen dat het gelukt is ^O^
  dinsdag 4 juni 2013 @ 08:45:18 #100
267443 Cue_
Cuecumbergirl
pi_127390986
Ik zit met een Oracle vraagje.
Als ik de volgende query uitvoer
1update table set status = 90 where to_Char(act_starttime, 'YYYYIW') = '201318' 

Krijg ik de volgende foutmelding
1
2
3
4
FOUT in regel 1:
.ORA-03113: Einde-van-bestand op communicatiekanaal.
Proces-ID: 0
Sessie-ID: 1484 serienummer: 3872
act_starttime is in eerste instantie een Timestamp. Wanneer ik hier een date van maak, dan doet hij het wel gewoon.

Iemand enig idee hoe dit kan/veroorzaakt wordt?
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')