abonnement Unibet Coolblue Bitvavo
  zondag 26 mei 2013 @ 22:13:27 #71
187069 slacker_nl
Sicko pur sang
pi_127045705
quote:
0s.gif Op zondag 26 mei 2013 22:03 schreef Chandler het volgende:

[..]

Correct, was: CURLOPT_FOLLOWLOCATION en die staat er wel tussen :+

krijg je als je met 10 dingen te gelijk aan het doen bent

[..]

Case is dat ik wil uitvissen of er een redirect plaats vind, ja, dan geen data laden, nee dan wel data laden. want een redirect is voor mijn project niet nodig, alleen de directe data... tenzij een redirect naar het zelfde domein is.. maar het laatste is van mij voor ondergeschikt belang!.
Dan moet je een no-follow doen, als 302 en location header naar iets wijst wat binnen je domein zit, daarop weer een request doen, zonder no-follow.
In theory there is no difference between theory and practice. In practice there is.
pi_127045955
quote:
0s.gif Op zondag 26 mei 2013 22:13 schreef slacker_nl het volgende:

[..]

Dan moet je een no-follow doen, als 302 en location header naar iets wijst wat binnen je domein zit, daarop weer een request doen, zonder no-follow.
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....
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 26 mei 2013 @ 22:18:38 #73
187069 slacker_nl
Sicko pur sang
pi_127046026
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 ;)
Je doet je ondertitel eer aan nu.
In theory there is no difference between theory and practice. In practice there is.
pi_127046138
quote:
14s.gif Op zondag 26 mei 2013 22:18 schreef slacker_nl het volgende:
Je doet je ondertitel eer aan nu.
en bedankt! *) zelfkennis is de helft...

maar verbeteringen worden gewaardeerd ;)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_127046359
quote:
8s.gif Op zondag 26 mei 2013 21:39 schreef Chandler het volgende:

[..]

Top, ik ga het ff proberen!

Andere vraag; wanneer ik met Domdocument een html pagina wil laden krijg ik de volgende foutmelding.
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, line: 1354

Nu snap ik best dat niet iedere pagina een nette opbouw heeft, maar wil eigenlijk geen foutmeldingen zien, gewoon parsen totdat hij niet meer kan parsen oid?! nu dacht ik laat ik kijken welke opties ik mee kan geven (maar 1) en die vond ik hier: http://www.php.net/manual/en/libxml.constants.php

Maar daarvan heb ik meerdere geprobeerd maar blijf errors opvangen... alleen een vieze @ werkt :{ iemand een idee hoe ik dat kan oplossen? Ps domdocument gebruik ik om links uit te kunnen lezen.
probeer deze eens :P

http://nl3.php.net/manual(...)-internal-errors.php
..///
  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..
The people who lost my respect will never get a capital letter for their name again.
Like trump...
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...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
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
The people who lost my respect will never get a capital letter for their name again.
Like trump...
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;
?>
The people who lost my respect will never get a capital letter for their name again.
Like trump...
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! *)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
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!
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!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  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!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  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?
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 ]
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?
  dinsdag 4 juni 2013 @ 08:58:15 #101
187069 slacker_nl
Sicko pur sang
pi_127391209
quote:
5s.gif Op dinsdag 4 juni 2013 08:45 schreef Cue_ het volgende:
Ik zit met een Oracle vraagje.
Als ik de volgende query uitvoer
[ code verwijderd ]

Krijg ik de volgende foutmelding
[ code verwijderd ]

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?
Als je hier een date van maakt, wat bedoel je precies?

http://psoug.org/reference/timestamp.html
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 4 juni 2013 @ 09:00:53 #102
267443 Cue_
Cuecumbergirl
pi_127391259
quote:
0s.gif Op dinsdag 4 juni 2013 08:58 schreef slacker_nl het volgende:
Als je hier een date van maakt, wat bedoel je precies?

http://psoug.org/reference/timestamp.html
Alter table modify act_starttime date

Dan lukt de update wel.
  dinsdag 4 juni 2013 @ 09:13:54 #103
187069 slacker_nl
Sicko pur sang
pi_127391522
Het zou moeten werken, maar de foutmelding komt niet overeen met je probleem..

Wat gebeurd er als je dit met sqlplus uitvoert?
En doe dan geen update, maar een select.
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 4 juni 2013 @ 09:16:25 #104
267443 Cue_
Cuecumbergirl
pi_127391555
Dat was allemaal geen probleem, kan er op selecteren, grouperen, order by whatever i want, enkel de update doet ie niet.

Het is mij vorige week wel gelukt hem eerst te modifyen naar date, toen weer terug naar timestamp, en toen deed hij het wel ineens. Dat werkt nu niet meer.
pi_127391556
quote:
5s.gif Op dinsdag 4 juni 2013 08:45 schreef Cue_ het volgende:
Ik zit met een Oracle vraagje.
Als ik de volgende query uitvoer
[ code verwijderd ]

Krijg ik de volgende foutmelding
[ code verwijderd ]

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?
; vergeten?
  dinsdag 4 juni 2013 @ 09:17:28 #106
267443 Cue_
Cuecumbergirl
pi_127391578
quote:
7s.gif Op dinsdag 4 juni 2013 09:16 schreef Scorpie het volgende:

; vergeten?
Als in dat de query niet wordt uitgevoerd?

@slacker. Via sqlplus trouwens gedaan.
  dinsdag 4 juni 2013 @ 09:24:06 #107
187069 slacker_nl
Sicko pur sang
pi_127391701
Aha. Maar die foutmelding is echt een generiek iets, hij klaagt namelijk niet over de query. Aangezien je selects ed wel werken heb ik het vermoeden dat de fout niet in de query ligt maar aan andere factoren.. Vooral omdat je conversie naar date nu hetzelfde probleem oplevert..

Je doet alles in een transactie?

1
2
3
4
5
BEGIN;

update ...

ROLLBACK; -- eventueel commit

https://forums.oracle.com/forums/thread.jspa?threadID=2458582
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 4 juni 2013 @ 09:47:26 #108
267443 Cue_
Cuecumbergirl
pi_127392239
Het ligt aan m'n index :o

1 create index  idx_match_actstarttime on table (to_char(act_starttime, 'YYYYIW') );

Is die zo vreemd?
pi_127392307
'Het ligt aan je index' ?
  dinsdag 4 juni 2013 @ 09:51:11 #110
267443 Cue_
Cuecumbergirl
pi_127392337
quote:
7s.gif Op dinsdag 4 juni 2013 09:50 schreef Scorpie het volgende:
'Het ligt aan je index' ?
Zonder index doet ie het perfect.. met index krijg ik die foutmelding.
pi_127392658
De errorcode is erg generiek, wat staat er in de alert log?
pi_127392673
quote:
7s.gif Op dinsdag 4 juni 2013 09:51 schreef Cue_ het volgende:

[..]

Zonder index doet ie het perfect.. met index krijg ik die foutmelding.
Da's wel een voorbarige conclusie. Als je je been eraf hakt is de jeuk aan je teen ook over.
  dinsdag 4 juni 2013 @ 10:06:55 #113
267443 Cue_
Cuecumbergirl
pi_127392799
quote:
14s.gif Op dinsdag 4 juni 2013 10:02 schreef KomtTijd... het volgende:
Da's wel een voorbarige conclusie. Als je je been eraf hakt is de jeuk aan je teen ook over.
_O-
  dinsdag 4 juni 2013 @ 10:10:37 #114
118585 Crutch
Filantroop || Taalzwengel
pi_127392903
quote:
14s.gif Op dinsdag 4 juni 2013 10:02 schreef KomtTijd... het volgende:

[..]

Da's wel een voorbarige conclusie. Als je je been eraf hakt is de jeuk aan je teen ook over.
Er is altijd nog fantoomjeuk. :')
Je moeder is een hamster
pi_127392989
Ik ben geen oracle-man maar iets als een FROM_UNIXTIME() ertussen, helpt dat?
  dinsdag 4 juni 2013 @ 10:59:58 #116
267443 Cue_
Cuecumbergirl
pi_127394450
quote:
0s.gif Op dinsdag 4 juni 2013 10:02 schreef zoem het volgende:
De errorcode is erg generiek, wat staat er in de alert log?
1
2
3
Tue Jun  4 10:59:04 2013
Errors in file /oracle/admin/hkpora03/udump/hkpora03_ora_186.trc:
ORA-07445: exception encountered: core dump [evaopn2()+228] [SIGSEGV] [Address not mapped to object] [0x000000000] [] []
pi_127394900
quote:
7s.gif Op dinsdag 4 juni 2013 10:59 schreef Cue_ het volgende:

[..]
[ code verwijderd ]

quote:
So the likeliest causes:

- The server process you were connected to crashed.
- A network problem broke your connection.
- Someone manually killed the process on the server you were connected to.

When the server process you were connected to crashed, it threw an ORA-07445. That error, along with ORA-00600, are relatively famous Oracle errors. They're functionally unhandled exceptions, with an ORA-00600 being an unhandled exception in the Oracle code, whereas ORA-07445 is a fatal signal from the OS, generally because Oracle did something that the OS didn't approve of, so the OS killed the Oracle process.
07445 is vaak gerelateerd aan een bug in Oracle.
Gerelateerde issue op SO: Oracle ORA-03113 and ORA-07445 ACCESS_VIOLATION
quote:
There was an index on the two date columns, TRANS_FROM and TRANS_TO. We droppped this. It worked.

After a bit more investigation we found that with few rows in the join, the index was not used but as the number of rows in the join increased, the query plan would change and the offending index would be used. This explained why it was an intermittent problem.
  dinsdag 4 juni 2013 @ 11:37:00 #118
267443 Cue_
Cuecumbergirl
pi_127395670
Ik blijf het allemaal vreemd vinden.

1. Timestamp zonder index -> goed
2. Timestamp met index -> fout
3. Date met index -> goed

De queryplan is voor 2 en 3 hetzelfde. Gebruikt index by rowid als tableaccess en dan een index rowscan mbv de aangemaakte index op starttime
Bij versie 1 doet hij een full table access.
pi_127397247
1
2
3
<?php
$a
['a'] = 1;
?>

dit produceert geen error. is dat normaal :?
..///
pi_127397344
Ja en nee.

PHP maakt automagisch een array aan en vult deze met de opgegeven key en value. Echter, als je error_reporting en display_errors aanzet, zou je een index undefined notice kunnen krijgen.
pi_127397409
quote:
0s.gif Op dinsdag 4 juni 2013 12:34 schreef zoem het volgende:
Ja en nee.

PHP maakt automagisch een array aan en vult deze met de opgegeven key en value. Echter, als je error_reporting en display_errors aanzet, zou je een index undefined notice kunnen krijgen.
ja dat dacht ik ook. maar ik krijg geen foutmelding hierzo, maar misschien zit er iets fout in mijn custom error handler :@

edit: ik krijg op geen enkele manier een foutmelding, ongeacht de instellingen :{
..///
pi_127397904
Er is dan ook niets fout aan.
  dinsdag 4 juni 2013 @ 12:59:52 #123
187069 slacker_nl
Sicko pur sang
pi_127398098
quote:
0s.gif Op dinsdag 4 juni 2013 12:34 schreef zoem het volgende:
Ja en nee.

PHP maakt automagisch een array aan en vult deze met de opgegeven key en value. Echter, als je error_reporting en display_errors aanzet, zou je een index undefined notice kunnen krijgen.
Hier staat het beschreven: http://php.net/manual/en/language.types.type-juggling.php
Wat kut is dat zeg, eigenlijk, best wel.
In theory there is no difference between theory and practice. In practice there is.
pi_127399181
quote:
0s.gif Op dinsdag 4 juni 2013 12:59 schreef slacker_nl het volgende:

[..]

Hier staat het beschreven: http://php.net/manual/en/language.types.type-juggling.php
Wat kut is dat zeg, eigenlijk, best wel.
ik keek er ook van op :P
..///
pi_127399315
quote:
0s.gif Op dinsdag 4 juni 2013 12:59 schreef slacker_nl het volgende:

[..]

Hier staat het beschreven: http://php.net/manual/en/language.types.type-juggling.php
Wat kut is dat zeg, eigenlijk, best wel.
In dat geval, leuk leesvoer: PHP: a fractal of bad design ;)
  dinsdag 4 juni 2013 @ 14:05:19 #126
12221 Tijn
Powered by MS Paint
pi_127400473
quote:
0s.gif Op dinsdag 4 juni 2013 12:34 schreef zoem het volgende:
Ja en nee.

PHP maakt automagisch een array aan en vult deze met de opgegeven key en value. Echter, als je error_reporting en display_errors aanzet, zou je een index undefined notice kunnen krijgen.
Ik heb wel eens zo'n melding gekregen als ik een niet-bestaand array-element probeerde te lezen, maar tijdens het zetten krijg je volgens mij nooit een melding.
pi_127400881
quote:
2s.gif Op dinsdag 4 juni 2013 14:05 schreef Tijn het volgende:

[..]

Ik heb wel eens zo'n melding gekregen als ik een niet-bestaand array-element probeerde te lezen, maar tijdens het zetten krijg je volgens mij nooit een melding.
Dat zou goed kunnen kloppen, wist het niet zo snel uit m'n hoofd. Ik ontwikkel in ieder geval altijd met notice aan (error_reporting(-1) ), dat levert doorgaans betere code op.
  dinsdag 4 juni 2013 @ 14:16:39 #128
187069 slacker_nl
Sicko pur sang
pi_127400893
quote:
2s.gif Op dinsdag 4 juni 2013 13:35 schreef zoem het volgende:

[..]

In dat geval, leuk leesvoer: PHP: a fractal of bad design ;)
1
2
3
4
5
6
7
8
9
14:15 < slacker> !php
14:16 <@digiweed> slacker: "php" : (#1) diy framework: http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html, or (#2) I chose PHP 
                  because I thought it would be a better fit for the community I was targeting, which tended to have a lot of non-programmers in it. -- 
                  Patrick Michaud, or (#3) you don't code php. you merely edit it until it works., or (#4) haat, or (#5) 
                  http://wiki.phpbb.com/Best_Practices:PHP, (1 more message)
14:16 < slacker> !more
14:16 <@digiweed> slacker: or (#6) fail, or (#7) http://208.116.9.205/10/content/15790/15.jpg, or (#8) easy slut, or (#9) 
                  http://bugs.php.net/bug.php?id=54325, or (#10) http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/, or (#11) 
                  https://bugs.php.net/bug.php?id=18556
In theory there is no difference between theory and practice. In practice there is.
pi_127401465
quote:
0s.gif Op dinsdag 4 juni 2013 14:16 schreef slacker_nl het volgende:

[..]
[ code verwijderd ]

Leeft dat irc-kanaal nog steeds ja? :P

Php is op zich helemaal niet verkeerd, alleen zijn er door de tijd heen rare beslissingen genomen (zie dus dat blogitem), waardoor er dingen zijn ontstaan die nooit het licht hebben mogen zien. De slechte reputatie is ook te danken de laagdrempeligheid waardoor veel bad practices de wereld in zijn geholpen door onbekwame programmeurs. Maar als je weet wat je doet kun je leuke dingen maken met php.
  dinsdag 4 juni 2013 @ 14:50:05 #130
187069 slacker_nl
Sicko pur sang
pi_127402256
quote:
0s.gif Op dinsdag 4 juni 2013 14:31 schreef zoem het volgende:
Leeft dat irc-kanaal nog steeds ja? :P

Php is op zich helemaal niet verkeerd, alleen zijn er door de tijd heen rare beslissingen genomen (zie dus dat blogitem), waardoor er dingen zijn ontstaan die nooit het licht hebben mogen zien. De slechte reputatie is ook te danken de laagdrempeligheid waardoor veel bad practices de wereld in zijn geholpen door onbekwame programmeurs. Maar als je weet wat je doet kun je leuke dingen maken met php.
Ja, dat irc-kanaal leeft nog steeds.

PHP is kut, als je dat hebt toegegeven is het al veel makkelijker programeren ;) Elke taal heeft z'n quircks: (lees de tweede top comment even).
In theory there is no difference between theory and practice. In practice there is.
pi_127403925
NodeJS:
1
2
3
4
5
6
7
8
> []+[]
''
> []+{}
'[object Object]'
> {}+[]
'[object Object]'
> {}+{}
'[object Object][object Object]'
SpiderMonkey & V8:
1
2
3
4
5
6
7
8
>>> []+[]
""
>>> []+{}
"[object Object]"
>>> {}+[]
0
>>> {}+{}
NaN
pi_127404874
quote:
14s.gif Op dinsdag 4 juni 2013 15:35 schreef KomtTijd... het volgende:
NodeJS:
[ code verwijderd ]

SpiderMonkey & V8:
[ code verwijderd ]

Wat je weer tot in het bizarre kan doorvoeren: www.jsfuck.com
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
pi_127416513
Ik heb nu een weeknummer, week 23. En een dag, donderdag in dit geval.

Nu is dit dus 6 juni 2013, maar hoe kan ik dit met php uitvinden?
  dinsdag 4 juni 2013 @ 21:05:43 #134
12221 Tijn
Powered by MS Paint
pi_127416765
Wat heb je al geprobeerd?
pi_127416960
quote:
5s.gif Op dinsdag 4 juni 2013 21:05 schreef Tijn het volgende:
Wat heb je al geprobeerd?
"Get day of week" gegoogled :') Weet het niet veel beter te beschrijven..

Maarja, dan krijg je de huidige dag van de week. Dat wil ik niet..
pi_127417094
hint: Datetime CreateFromFormat
pi_127417112
quote:
14s.gif Op dinsdag 4 juni 2013 21:12 schreef KomtTijd... het volgende:
hint: Datetime CreateFromFormat
Ah, even naar kijken. Bedankt!
  dinsdag 4 juni 2013 @ 21:14:30 #138
12221 Tijn
Powered by MS Paint
pi_127417197
Ik zou Googlen op "php get date by week number".
pi_127417344
quote:
0s.gif Op dinsdag 4 juni 2013 20:59 schreef d4v1d het volgende:
Ik heb nu een weeknummer, week 23. En een dag, donderdag in dit geval.

Nu is dit dus 6 juni 2013, maar hoe kan ik dit met php uitvinden?
Veel korter dan dit kan haast niet lijkt me :P
1
2
3
4
<?php
echo strftime("%c"strtotime("next Thursday"strtotime("2013W23")));
// Thu Jun 6 00:00:00 2013
?>
pi_127417430
quote:
2s.gif Op dinsdag 4 juni 2013 21:17 schreef zoem het volgende:

[..]

Veel korter dan dit kan haast niet lijkt me :P
[ code verwijderd ]

_O_
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')