Dan nog krijg ik maar 1 rij te zien.quote:Op donderdag 27 maart 2008 19:08 schreef beerten het volgende:
[..]
Het haalt zowel de associatieve array op als de nummerieke. Je moet even specificeren welke wordt weergegeven
[ code verwijderd ]
Zo zou het wel moeten werken.
quote:Op donderdag 27 maart 2008 19:22 schreef beerten het volgende:
Hoe ziet je tabel er uit en wat wil je ophalen? Welke gegevens wil je?
Je haalt nu ALLES op, alle rijen, alle velden en kolommen. 2 keer zelfs zo te zien.
1 2 3 4 5 | 1 1 2 Titel Ongelezen Ongelezen 1206710100 1 2 2 1 Titel Gelezen Gelezen 1206710100 1 3 1 2 Titel Gelezen Gelezen 1206621950 1 4 2 1 Titel Ongelezen Ongelezen 1206621950 0 |
ook metquote:Op donderdag 27 maart 2008 20:07 schreef DionysuZ het volgende:
Natuurlijk krijg je maar 1 rij terug. Om meerdere rijen terug te krijgen moet je, zoals hierboven ergens ook staat, er een while loopje van maken.
Nee, je krijgt het nulde element van rij 0, het eerste element van rij 1, het tweede element van rij 2, etc.quote:Op donderdag 27 maart 2008 20:11 schreef qu63 het volgende:
[..]
ook met
<?php
$q = "SELECT * FROM meldingen";
$res=mysql_query($q);
$i=0;
while($berichten = mysql_fetch_array($res))
{
print $berichten[$i];
$i++;
}
?>
krijg ik maar 1 rij
1 2 3 4 5 6 7 8 9 10 11 12 | $q = "SELECT * FROM meldingen"; $res=mysql_query($q); $berichten = array(); while($row = mysql_fetch_array($res)) { $berichten[] = $row; } echo '<pre>'; var_dump($berichten); echo '</pre>'; ?> |
1 2 3 4 5 6 7 8 | $q = "SELECT * FROM meldingen"; $stm = $pdo->prepare($q); $berichten = $stm->fetchAll(PDO::FETCH_ASSOC); echo '<pre>'; var_dump($berichten); echo '</pre>'; ?> |
preciesquote:Op donderdag 27 maart 2008 21:31 schreef ursel het volgende:
[..]
Eindelijk iemand ontopic..
Denk alleen dat qu63 er weinig aan heeft...
1 2 3 4 5 6 7 8 9 | description => "Description", sql => qq{ SELECT * FROM table WHERE key = value -- insert more sql code here }, # end of qq }, # end of name_of_query ); |
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 | my $sql = shift; print STDERR $sql . "\n"; # Some queries return undef # warnings are noise in that case no warnings; foreach ($oracle->do_query($sql)) { print join (",", @$_) . "\n"; } use warnings; } sub do_query { my $query_id = shift; if (exists $queries{$query_id}) { printf STDERR "/* %s */\n", $queries{$query_id}->{description} if defined $queries{$query_id}->{description}; my $sql = $queries{$query_id}->{sql}; if ($opt{limit}) { $sql = join("\n", $sql, sprintf($limit_query, $opt{limit})); } if ($opt{order}) { $sql = join("\n", $sql, $order_query); } sql2csv($sql); } else { printf STDERR "Query for %s does not exists!\n", $query_id; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | exe=./datacheck total="^total_" do_query() { local i for i in $* ; do file=../out/RESULTS.$i $exe --query $i > $file 2>../out/QUERY.$i ; wc -l $file done } do_query $($exe --list | grep $total) $($exe --list | grep -v $total) |
Maakt verder niet uit of je MySQL of Oracle gebruikt. Mijn queries zijn ook onder MySQL te gebruiken. Ik gebruik de PDO variant van Perl, dussuh.. :)quote:Op vrijdag 28 maart 2008 15:11 schreef ursel het volgende:
We werken hier in ieder geval met MySQL.
Weet niet of dat verder consequenties heeft.
Daarnaast, die Perl functie, dat zou betekenen dat ik beide al in een array zal moeten hebben. Weet niet of dat zo tactisch is.. :{
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | my $comp= Array::Compare->new(); open(FH, $csvfile); while(<FH>) { chomp(); # Remove the new line @array_csv = split(/,/, $_); # Do stuff met array_csv to create the SQL code $sql = sprintf "SELECT * FROM example WHERE example_name = '%s'", $array_csv[1]; # ervanuitgaand dat do_query een array returned @array_db = do_query($sql); # Compare werkt met een reference naar een array. if ($comp->compare(\@array_csv, \@array_db)) { # compare is OK } else { # Compare failed } } |
Je kunt met PostgreSQL toch zeker wel geparameteriseerde query's uitvoeren zonder de hele performance om zeep te helpen?quote:Op vrijdag 28 maart 2008 12:50 schreef JeRa het volgende:
Om maar even ontopic te zijn: PDO is leuk en aardig, maar besef dat je in sommige RDBMS'en die partiele indices ondersteunen geen gebruik kunt maken van die indices zodra je prepared statements gebruikt. Voorbeeldje hiervan is PostgreSQL, die het matchen van de indices al tijdens het preparen van de query doet. Door het ontbreken van je condities (je vult ze namelijk pas later in met Statement->bindValue() of ->bindParam()) is het namelijk onmogelijk om te voorspellen wat je query gaat doen.
Dus mijn idee van good practice in deze situatie: prepared statements gebruiken voor situaties waarbij je eenzelfde soort query heel vaak moet uitvoeren of wanneer je niet geavanceerd gebruik maakt van je database, en anders op de 'oude' manier samenstellen en PDO->quote() gebruiken
Oh en hoi.
Dat kan ook wel ja, maar dus niet met partiële indices vanwege de reden die ik noemde. Het is een leuke pitfall in ieder gevalquote:Op zaterdag 29 maart 2008 20:57 schreef SuperRembo het volgende:
[..]
Je kunt met PostgreSQL toch zeker wel geparameteriseerde query's uitvoeren zonder de hele performance om zeep te helpen?
In dat geval lijkt het me good practice om altijd geparameteriseerde query's te gebruiken, tenzij performance een een speciale aanpak vereist.quote:Op zaterdag 29 maart 2008 21:10 schreef JeRa het volgende:
[..]
Dat kan ook wel ja, maar dus niet met partiële indices vanwege de reden die ik noemde. Het is een leuke pitfall in ieder gevalmet MySQL kan ik geen vergelijking geven aangezien die geen partiële indices ként.
Klopt, dat zeg ik (op een beetje vage manier) ookquote:Op zaterdag 29 maart 2008 22:19 schreef SuperRembo het volgende:
[..]
In dat geval lijkt het me good practice om altijd geparameteriseerde query's te gebruiken, tenzij performance een een speciale aanpak vereist.
Dat soort informatie laten ze dus los? Dus in feite weet 9292ov waar ik woon?quote:Op maandag 31 maart 2008 00:00 schreef Geqxon het volgende:
Degene die hier laatst vroeg hoe 9292ov.nl wist waar jij bent (het "Routebestemming vanaf hier" knopje).... dat schijnt dus een samenwerking tussen de telecomproviders en 9292ov.nl te zijn.
dat was ik!quote:Op maandag 31 maart 2008 00:00 schreef Geqxon het volgende:
Degene die hier laatst vroeg hoe 9292ov.nl wist waar jij bent (het "Routebestemming vanaf hier" knopje).... dat schijnt dus een samenwerking tussen de telecomproviders en 9292ov.nl te zijn.
nee, dat niet.quote:Op maandag 31 maart 2008 00:03 schreef Flaccid het volgende:
[..]
Dat soort informatie laten ze dus los? Dus in feite weet 9292ov waar ik woon?
Iemand al suggesties voor mijn probleem??quote:Op vrijdag 28 maart 2008 16:26 schreef ursel het volgende:
Tja, dat is idd een oplossing, alleen misschien nog een belangrijk detail dat ik eigenlijk nog vergeten was, de opzet was ook om de namen in de similar_text te zetten en te kijken of de naam er voor meer dan 90% op lijkt.
Ergens anders kreeg ik eigenlijk ook het advies om de vergelijking door de database te laten uitvoeren middels een FULL outer join. Alleen is eigenlijk dan dus mijn probleem hoe kan ik 2 tabellen met elkaar goed vergelijken welke een match hebben van meer dan 90%.
http://life.tweakers.net/(...)lers-voor-hyves.htmlquote:
nu is het nog de vraag of kpn/hi LBS standaard doorgeeft, en hoe je het kan uitlezen..quote:Op maandag 31 maart 2008 11:32 schreef Geqxon het volgende:
[..]
http://life.tweakers.net/(...)lers-voor-hyves.html
Edit: Ik bedoel:
http://www.9292ov.nl/9292ov1171.asp >> ( Location based services (KPN en Hi) )
Het lijkt me dat ze dat niet zomaar doen. Stel je voor dat Jamba achter mijn adres komt!quote:Op maandag 31 maart 2008 11:49 schreef qu63 het volgende:
[..]
nu is het nog de vraag of kpn/hi LBS standaard doorgeeft, en hoe je het kan uitlezen..
alleen je locatie, en dan nog alleen als je mobielhun site bekijkt.quote:Op maandag 31 maart 2008 11:54 schreef Geqxon het volgende:
[..]
Het lijkt me dat ze dat niet zomaar doen. Stel je voor dat Jamba achter mijn adres komt!
Lastig probleem, hangt van zoveel dingen af...quote:Op maandag 31 maart 2008 11:22 schreef ursel het volgende:
[..]
Iemand al suggesties voor mijn probleem?? O-) :')
Even samenvattend:
- 2 arrays met namen van +/- 10.000 stuks.
- 1 array is al volledig in geheugen aanwezig. (inlezen en opslaan van de cvs file)
- Vergelijken van lijst 1 of de naam in lijst 2 voorkomt.
- Als de naam voor 90% gelijk is, dan een match geven.
1 2 3 4 5 6 7 | $lnames = '"'. join("', '",$names).'"'; mysql_query_blaat("select id from temp_table where name in ($lnames)"); mysql_query_blaat("delete from temp_table where id in ($allfoundids); $names=array_dif($names, $allfoundnames); //en doe dan de rest met similar_text oid ?> |
http://www.marketingfacts(...)tion_based_services/quote:Op maandag 31 maart 2008 11:56 schreef qu63 het volgende:
[..]
alleen je locatie, en dan nog alleen als je mobielhun site bekijkt.
Maar idd is het wel wat privacygevoelig..
quote:Op maandag 31 maart 2008 13:39 schreef Geqxon het volgende:
[..]
http://www.marketingfacts(...)tion_based_services/
Je kunt het dus gewoon bij KPN aanvragen.
Dus voor mijn eigen weblogje denk ik niet dat ik in aanmerking komquote:Flops heeft KPN na 8 maanden nog niet meegemaakt aangezien ze een redelijk uitgebreid proces hebben voordat je als Content Partner een LBS dienst mag aanbieden. Over elke dienst is heel goed nagedacht aangezien elke Content Partner eerst een storyboard (procesbeschrijving) moest aanleveren.
Storyboard maken zou ik zeggenquote:Op maandag 31 maart 2008 14:28 schreef qu63 het volgende:
[..]
[..]
Dus voor mijn eigen weblogje denk ik niet dat ik in aanmerking kom
mja:quote:
Met de filter op 80% heb ik maar 2% matches, wat ook maar de bedoeling is dat er maar weinig opstaan..quote:Op maandag 31 maart 2008 13:06 schreef ralfie het volgende:
[..]
Lastig probleem, hangt van zoveel dingen af...
Misschien een idee om, als er veel namen 100% matchen, om eerst alle namen te zoeken die 100% matchen dmv =, en dan de rest dmv similar_text oid.
een voorbeeld kan dmv een temp tabel, waar je reeds gematchedte namen verwijdert zodat de query elke keer sneller zal gaan.
Je kunt dit deels in php doen, bijv (niet werkende code)
[ code verwijderd ]
Als dit niet lukt vanwege de max lengte van de SQL query, kun je met array_splice de query opsplitsen natuurlijk
1 2 3 4 5 6 7 8 9 10 11 12 13 | class OPNParameters { var $params; function __construct() { $this->params = array(); } function list() { return array_keys($this->params); } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class Config { function __construct() { } # Problemen.. var $test = new OPNParameters; function test() { return new OPNParameters; } ?> |
PHP eist dat de standaardwaarde van een class member een constante expressie is. Dus "hello world" mag wel, maar "hello "."world" mag niet. Er zijn meer voorbeelden in de PHP manual. (Zie Example #3)quote:Op maandag 31 maart 2008 18:43 schreef slacker_nl het volgende:
Uhm.. een object in deze is net zo statisch als de string "hello world"..
als ik var $test = array () en/of $test = array( 1, 2, 3); in de Config klasse gooi dan parsed ie wel. Terwijl dat net zo dynamisch is als een klasse...
Dit is het php-forum hoorquote:Op maandag 31 maart 2008 19:48 schreef Chandler het volgende:
Ik heb een vraagje!
Op een website heb ik een grafieken script die werkt met sessies. Wanneer script.php?ses=sessieID aanroept zal het plaatje gegenereerd worden. Echter wil ik graag middels het zelfde script een AREA's om deze afbeelding heen willen zetten middels een IMAGE MAP. Echter kan ik pas de posities van de AREA's lezen als de afbeelding is gegenereerd. Helaas kan ik niet het plaatje en de resultaten includen omdat het plaatje pas bij user actie geladen wordt en dan dus ook de AREA's pas gemaakt worden van het plaatje.
Nu vraag ik mij af, hoe is het simpel weg mogelijk om middels javascript een veld te vullen met data die pas gelezen wordt wanneer het plaatje geladen is!? en deze IMAGE map dan ook te laten functioneren!.
Anyone? (Als ik niet duidelijk genoeg ben, meld het dan dan probeer ik het beter uit te leggen)
Ik zie niet in waarom je niet dezelfde informatie voor het genereren van je plaatje kunt gebruiken om de pagina met je IMAGE MAP te maken, maar als je geen andere uitweg ziet ben je gebonden aan ajax oid.quote:Op maandag 31 maart 2008 19:48 schreef Chandler het volgende:
Ik heb een vraagje!
Op een website heb ik een grafieken script die werkt met sessies. Wanneer script.php?ses=sessieID aanroept zal het plaatje gegenereerd worden. Echter wil ik graag middels het zelfde script een AREA's om deze afbeelding heen willen zetten middels een IMAGE MAP. Echter kan ik pas de posities van de AREA's lezen als de afbeelding is gegenereerd. Helaas kan ik niet het plaatje en de resultaten includen omdat het plaatje pas bij user actie geladen wordt en dan dus ook de AREA's pas gemaakt worden van het plaatje.
Nu vraag ik mij af, hoe is het simpel weg mogelijk om middels javascript een veld te vullen met data die pas gelezen wordt wanneer het plaatje geladen is!? en deze IMAGE map dan ook te laten functioneren!.
Anyone? (Als ik niet duidelijk genoeg ben, meld het dan dan probeer ik het beter uit te leggen)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | my ($self, $args_1, $args_2, @overige_args) = @_; return functie_2(@overige_args); # of je doet dit: # my $self = shift; # my $args_1 = shift; # my $args_2 = shift; # return functie_2(@_); } sub functie_2 { my ($args1, $args2) = @_; return $args1 + $args2; } |
1 2 3 4 5 6 7 8 9 10 11 | fucntion functie_1() { list($self, $args1, $args2, $overige_args1, $overige_args2) = func_get_args(); return functie_2($overige_args1, $overige_args2); } function functie_2() { list($args1, $args2) = func_get_args(); return $args1 + $args2; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | function test_me() { $args = func_get_args(); call_user_func_array(test_me2, $args); } function test_me2() { $args = func_get_args(); print_r($args); } test_me(1, 2,3,4,5); ?> |
1 2 3 4 5 | function test_me() { call_user_func_array(test_me2, func_get_args()); } ?> |
je kunt toch gewoonquote:Op maandag 31 maart 200822:13 schreef Chandler het volgende:
ralfie, omdat het script die de afbeeldingen maakt de posities doorgeef die ik kan gebruiken om cirkels te maken in een IMAGE MAP.
En inderdaad, denk dat ik maar moet gaan spelen met XMLHTTP
1 2 3 | echo "javascriptjavascriptlalal" . $variable1 . "nog meer javascript" . $variable2; ?> |
Zou je zeggen inderdaad maar helaas, de posities worden pas gemaakt nadat de afbeelding is gegenereerd (ik zou ook de afbeelding 2x kunnen genenreren maar dat is een beetje onzin)quote:Op dinsdag 1 april 2008 12:53 schreef mcDavid het volgende:
[..]
je kunt toch gewoon
[ code verwijderd ]
enz doen?
1 2 3 4 5 6 7 8 9 10 11 | function test($in = array()) { foreach($in AS $x => $y) { // enzo } } test(array(1,2,3,4,5,6)); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | $q = "SELECT * FROM meldingen"; $res=mysql_query($q); while($row = mysql_fetch_array($res)) { $q2 = "SELECT naam FROM user WHERE id = '".$row[2]."' LIMIT 1"; $naam2 = mysql_query($q2); $naam3 = mysql_fetch_array($naam2); $q3 = "SELECT naam FROM user WHERE id = '".$row[1]."' LIMIT 1"; $naam4 = mysql_query($q3); $naam5 = mysql_fetch_array($naam4); echo "<tr>"; echo "<td>".date("d-m-Y H:i",$row[5])."</td>"; echo "<td>".$naam3[0]."</td>"; echo "<td>".$naam5[0]."</td>"; echo "<td><a href=\"meldingen.php?id=".$row[0]."\">".$row[3]."</a></td>"; // echo "<td>".$row[4]."</td>"; // echo "<td>".$row[6]."</td>"; echo "<td>".$row[7]."</td>"; "</tr>"; } ?> |
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 | function p_join() { $args = func_get_args(); $args_count = func_num_args(); if ($args_count > 1) { $sep = array_shift($args); $retVal = array_shift($args); if (is_array($retVal)) { $retVal = join($sep, $retVal); } foreach ($args as $val) { if (is_array($val)) { $val = join($sep, $val); } $retVal .= sprintf("%s%s", $sep, $val); } return $retVal; } trigger_error("p_join requires at least 2 parameters", E_USER_ERROR ); return null; } ?> |
Uhm... Ik snap je vraag niet.quote:Op dinsdag 1 april 2008 13:43 schreef Chandler het volgende:
@slacker_nl: waarom geef je dan geen array mee? en ga je deze benutten?
[ code verwijderd ]
Denk het niet he. Je zal eerst alle resultsets moeten ophalen voordat je weet hoeveel records je ophaalt. Of een query ervoor doen met een count, maar of dat nou zo tof is weet ik ook niet.quote:Tevens een vraag, hoe kun je met PDO zonder een count te doen uitlezen hoeveel resultaten er zijn?
Als die voor mij bedoelt was, hou ik het lekker bij mn ouder scriptjequote:Op dinsdag 1 april 2008 16:52 schreef slacker_nl het volgende:
Een perl_join functie. Deze functie kan arrays aan en strings.. hashes zijn nog niet ondersteund, maar dat komt wel in v2.
[ code verwijderd ]
je query proper escapen... (bijv dmv mysql_escape_string() )quote:Op dinsdag 1 april 2008 19:07 schreef qu63 het volgende:
[ afbeelding ]
Iemand enig idee hoe ik dit kan voorkomen/oplossen?
Houd je mond idd maar. Ik zie nergens in die post een referentie naar jou probleem/code.quote:Op dinsdag 1 april 2008 19:00 schreef qu63 het volgende:
[..]
Als die voor mij bedoelt was, hou ik het lekker bij mn ouder scriptje
Volgens mij is een van de voordelen (heb deze thread verder niet gelezen) dat je makkelijker van DB kan switchen. Je doet alles met PDO en bij het wijzigen van je DB hoef je alleen je DSN te veranderen.quote:Op dinsdag 1 april 2008 18:42 schreef Chandler het volgende:
Wat is dan het voordeel van PDO? (ten opzichte van de mysql_ functies?) nu moet ik dus 2 queries doen om te kijken hoeveel data er is en dan de data uitlezen om het te gebruiken!
hmz, zit wat in jaquote:Op dinsdag 1 april 2008 19:28 schreef ralfie het volgende:
[..]
je query proper escapen... (bijv dmv mysql_escape_string() )
Ja ongetwijfeld, maar wat is het nut nu voor de gewone PHP gebruiker om nu al van PDO gebruik te maken aangezien 90% van alle PHP gebruikers toch standaard MySQL databases gebruiken!. Ik zie het voordeel namelijk absoluut niet. Ik mis functies die ik eerst wel kon gebruikenquote:Op dinsdag 1 april 2008 19:34 schreef whoops het volgende:
[..]
Volgens mij is een van de voordelen (heb deze thread verder niet gelezen) dat je makkelijker van DB kan switchen. Je doet alles met PDO en bij het wijzigen van je DB hoef je alleen je DSN te veranderen.
2cts...
Ten eerste moet je vooral gebruiken wat voor jou het beste werkt, wat die keuze ook isquote:Op dinsdag 1 april 2008 20:39 schreef Chandler het volgende:
[..]
Ja ongetwijfeld, maar wat is het nut nu voor de gewone PHP gebruiker om nu al van PDO gebruik te maken aangezien 90% van alle PHP gebruikers toch standaard MySQL databases gebruiken!. Ik zie het voordeel namelijk absoluut niet. Ik mis functies die ik eerst wel kon gebruiken
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 | /* is_assoc_array and is_sequential_array are STOLEN from: * http://nl3.php.net/manual/en/function.is-array.php#73505 */ function is_assoc_array($var) { return (array_merge($var) !== $var || !is_numeric(implode(array_keys($var)))); } function is_sequential_array($var) { return (array_merge($var) === $var && is_numeric(implode(array_keys($var)))); } function _p_join_assoc($sep, $hash) { $result = ""; foreach ($hash as $k => $v) { $result .= $sep . $k . $sep . $v ; } return $result; } function _p_join_array($sep, $array) { # Turn off notices and return to the old loglevel once we're done. # This is because we stringify an array in some cases.. $old_error_reporting = error_reporting(E_ALL ^ E_NOTICE); $result = join($sep, $array); error_reporting($old_error_reporting); return $result; } function p_join() { $args = func_get_args(); if (count($args) > 1) { $result = ""; $sep = array_shift($args); foreach ($args as $val) { if (is_array($val)) { if (is_assoc_array($val)) { $result .= _p_join_assoc($sep, $val); } else { $result .= $sep . _p_join_array($sep, $val); } continue; } $result .= $sep . $val; } # $result will always start with a $sep, so remove it.. return substr_replace($result, "" ,0, strlen($sep)); } trigger_error(sprintf("%s requires at least 2 parameters", __FUNCTION__), E_USER_WARNING); return null; } /* En een paar voorbeelden, inclusief een gratis warning */ print p_join(",", "string", array("Key" => "Value", "Key 2" => "Value 2"), array("Hello", array("in", "hello", "world"), "array"), "string 2") . "\n"; /* let op, print de indices uit van alle elemente in deze mixed array */ print p_join(",", array(1,2,"Green" => "Apple" , array(1,2))) . "\n"; print "Warning.. "; print p_join(","); ?> |
Nee, PDO zal voor RDBMS'en die prepared statements ondersteunen de parameterized query naar de server sturen die ze alvast kan verwerken en kan plannen (= bekijken hoe de query uitgevoerd gaat worden).quote:Op woensdag 2 april 2008 07:56 schreef Chandler het volgende:
Ik snap het nu van PDO, maar die functies zoals prepare zou je zelf ook kunnen schrijven toch?want voorbeelden zoals :name is gewoon search and replace!
maar goed... ik zal mij er eens nog wat dieper in gaan verdiepen...
Vanwege de loop die noodzakelij is om de hash te kunnen printen. Daarin wordt $sep . $key . $sep . $value aan $result toegekend. Dus op het moment dat je $result print krijg je ',key,value'. Daarom moet ik de eerste separator verwijderen en dat doen we in dit geval met een regexp. Easy does it.quote:Op woensdag 2 april 2008 07:50 schreef SuperRembo het volgende:
(Waarom staat die regexp replace er eigenlijk in?)
Deze mis ikquote:De functie zal een array geven als je "/" als eerst parameter gebruikt
Dan kan je die extra $sep er aan het eind ook af halen. Dan heb je geen speciale behandeling nodig voor het eerste item. (Scheelt een stuk (bijna) dubbele code).quote:Op woensdag 2 april 2008 10:50 schreef slacker_nl het volgende:
[..]
Vanwege de loop die noodzakelij is om de hash te kunnen printen. Daarin wordt $sep . $key . $sep . $value aan $result toegekend. Dus op het moment dat je $result print krijg je ',key,value'. Daarom moet ik de eerste separator verwijderen en dat doen we in dit geval met een regexp. Easy does it.
[..]
1 2 3 4 | { // lees gebruikershost uit } |
1 2 3 4 | { // lees gebruikershost uit } |
Je hebt gelijk, ik had een andere opvatting in bepaalde situaties, maar die bleken onterecht te zijn. Thnx, heb het nu aangepast. Zal vanavond thuis wel ff de post aanpassen, de codebase is nu een stuk kleiner geworden.quote:Op woensdag 2 april 2008 13:18 schreef SuperRembo het volgende:
[..]
Dan kan je die extra $sep er aan het eind ook af halen. Dan heb je geen speciale behandeling nodig voor het eerste item. (Scheelt een stuk (bijna) dubbele code).
quote:Op woensdag 2 april 2008 15:07 schreef Chandler het volgende:
Vraagje, waarom mag het volgende niet
[ code verwijderd ]
en dit wel
[ code verwijderd ]
quote:The default value must be a constant expression, not (for example) a variable or class member.
Hmm.. Ik heb bijvoorbeeld Word documenten in een mapje 'documents' genaamd geplaatst.quote:Op woensdag 2 april 2008 16:36 schreef slacker_nl het volgende:
Zet je includes buiten de "webserver". Dat wil zeggen, op een locatie waar de webserver geen rechten heeft om files te lezen.
Of scherm het af met een .htaccess.
je kan ook een lege index.php of index.html maken, dan laat je webserver alleen die pagina zien (dis dus leeg is)quote:Op woensdag 2 april 2008 16:51 schreef GioStyle het volgende:
[..]
Hmm.. Ik heb bijvoorbeeld Word documenten in een mapje 'documents' genaamd geplaatst.
En als je dan in de url typt website/documents dan zie je dat hele map inclusief inhoud. Dat wil ik dus verbieden en dan moet ik die bestanden buiten de webserver plaatsen?
quote:How can I prevent Directory Listing?
Create an .htaccess file in your main directory (/var/www/html) or a subdirectory of your choice. This file will control settings for the directory it is placed in , plus all subdirectories below it unless they have .htaccess files of their own.
Add this line to that file:
Options -Indexes
Meestal zet ik er een redirect in naar de main page, werkt ook primaquote:Op woensdag 2 april 2008 17:02 schreef qu63 het volgende:
[..]
je kan ook een lege index.php of index.html maken, dan laat je webserver alleen die pagina zien (dis dus leeg is)
Als je werkt met directories dan is het allemaal al netjes voor je geregeld.quote:Op woensdag 2 april 2008 19:35 schreef mcDavid het volgende:
En als ik juist wél een index met alle inhoud wil, moet ik die dan zelf maken? of is dat ook gewoon aan/uit te zetten?
1 2 3 | $included = true; ?> |
1 2 3 4 5 | if(isset($included)) { // toon alles } ?> |
Bij mij niet als ik naar bijv. http://duft.nl/web/ ga.quote:Op woensdag 2 april 200819:38 schreef GioStyle het volgende:
Als je werkt met directories dan is het allemaal al netjes voor je geregeld.
Bijvoorbeeld:
Je hebt een site gemaakt met een directory genaamd 'plaatjes'.
Dan typ je als url: 'www.site.nl/plaatjes' en dan zie je gewoon een index met alle inhoud.
Gebruik je htaccess?quote:Op woensdag 2 april 2008 19:51 schreef mcDavid het volgende:
[..]
Bij mij niet als ik naar bijv. http://duft.nl/web/ ga.
Het is wel gewoon een publieke map.
Hoe verwerk ik dat in?quote:Op woensdag 2 april 2008 19:43 schreef HuHu het volgende:
In index.php doe iets als dit:
[ code verwijderd ]
En dan in reflection.php
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | if(!IsSet($_GET['page'])) { $_GET['page'] = "home"; } switch ($_GET['page']) { case 'home': include('home/home.php'); break; case 'reflection': include('reflection/reflection.php'); break; default: include('home/home.php'); } ?> |
Jup maar daarin staat het niet ingesteld.quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | if(!IsSet($_GET['page'])) { $_GET['page'] = "home"; } $included = true; switch ($_GET['page']) { case 'home': include('home/home.php'); break; case 'reflection': include('reflection/reflection.php'); break; default: include('home/home.php'); } ?> |
1 2 3 4 5 | if(isset($included)) { echo 'Welkom op de Home pagina van deze site!'; } ?> |
Dat lijkt me ook een mogelijke oplossing. Bedankt!quote:Op woensdag 2 april 2008 20:31 schreef mcDavid het volgende:
overigens kun je bestanden ook beschermen in .htacces
<Files reflection.php>
order allow,deny
deny from all
</Files>
Nu krijg je hem iig niet te zien als je naar .../reflection.php surft, volgens mij kunnen scripts er nog wel bij...
Aaaah.. Nu snap ik het.. Ik kan nu ook nog een else command invoeren zodat hij terug gaat naar bijvoorbeeld index.php, want nu laat hij een blanco scherm zien.quote:Op woensdag 2 april 2008 20:32 schreef HuHu het volgende:
[ code verwijderd ]
home.php
[ code verwijderd ]
Dus binnen de if zet je dan de tekst die je alleen wilt tonen als de pagina geinclude wordt. Als hij namelijk niet wordt geinclude, dan bestaat de variabele $included niet.
en done.quote:Op woensdag 2 april 2008 15:59 schreef slacker_nl het volgende:
Zal vanavond thuis wel ff de post aanpassen, de codebase is nu een stuk kleiner geworden.
Stonden idd nog wat settings niet correct, maar had op het moment ff niet de tijd om dat uitgebreid op te zoeken..quote:Op donderdag 3 april 2008 14:27 schreef slacker_nl het volgende:
onder windows?
wat dacht je van je path setten
set PATH=%PATH%:"c:\program files\php\bin"
dat kan makkelijk met getimagesize()quote:Op vrijdag 4 april 2008 10:43 schreef beerten het volgende:
Hoe kan ik middels PHP checken of een besand an ee externe website een jpg is? Ik laat van een externe server jpg's. Die directory is beveiligd met een htaccess IP-check. Als iemand met een incorrect IP-adres een jpg opvraagt wordt er een keruige 403 error getoond. Maar dat beketent ook dat er een resultaat komt, met de bestandsextensie jpg.
Hoe kan ik kijken of het ook daadwerkelijk een echte jpg betreft? Headers, maar hoe?
PDO lijkt heel interessant, maar zijn er veel hosters die het ondersteunen?quote:Op woensdag 2 april 2008 00:52 schreef SuperRembo het volgende:
Het grootste voordeel van PDO is wat mij betreft dat je geparameteriseerde query's kunt gebruiken. Daarmee vermijd je het gevaar van sql injection. Je hebt dan dus geen last meer van problemen zoals die van qu63. Ik vind geparameteriseerde query's meestal beter leesbaar dan query's met telkens mysql_escape_string() er tussen.
Verder sluit 't ook beter aan bij hoe ik query's bouw in .NET, waar ik dagelijks mee werk.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |