abonnement Unibet Coolblue Bitvavo
pi_57330472

cd niet bijgeleverd

Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten w�t er niet lukt en w�lke foutmelding je precies krijgt

Vorige delen:
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

Zie ook:
  • PHP Dataverwerking
  • Offici�le PHP website
  • PHP Documentatie
  • MySQL Reference Manual
  • Yet Another PHP Faq
  • PHP Cheat Sheet
  • PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

    Tutorials:
  • W3Schools PHP
  • W3Schools SQL

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP
  • The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 12 maart 2008 @ 17:36:15 #2
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57330939
    Oe.. ga ook weer eens topic volgen..
    pi_57331393
    Kan iemand mij het voordeel uitleggen als je werkt met MySQL en MySQL wilt blijven gebruiken?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 12 maart 2008 @ 18:21:00 #4
    187069 slacker_nl
    Sicko pur sang
    pi_57331878
    quote:
    Op woensdag 12 maart 2008 17:58 schreef Chandler het volgende:
    Kan iemand mij het voordeel uitleggen als je werkt met MySQL en MySQL wilt blijven gebruiken?
    Jow, het voordeel is dat je MySQL al kent en dus kan blijven gebruiken...

    -edit-

    OWWWWW i get it.

    PDO vs directe mysql stuff bedoel je zeker?

    Perl kent DBI, wat erg lijkt op PDO (voor zover ik de docs gelezen heb). Basicly heb je 1 generieke interface om MySQL, Postgresql, Oracle, etc etc databases te kunnen gebruiken:

    http://dbi.perl.org/about/

    Voordeel is dat je een generieke manier hebt om te kunnen connecten met X databases. En zo kan je dus code wat generieker maken zodat het makkelijker is om te switchen tussen verschillende databases zonder al je code te hoeven aanpassen. Ik gebruik 't onder Perl en het werkt fantastisch.

    [ Bericht 45% gewijzigd door slacker_nl op 12-03-2008 18:27:47 ]
    In theory there is no difference between theory and practice. In practice there is.
      woensdag 12 maart 2008 @ 18:22:38 #5
    62215 qu63
    ..de tijd drinkt..
    pi_57331912
    nog steeds op zoek naar locatie gedoe voor mn foon

    slechte tvp
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57332107
    Maar slacker_nl; er is dus niet echt een voordeel snap ik?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57333097
    quote:
    Op woensdag 12 maart 2008 18:32 schreef Chandler het volgende:
    Maar slacker_nl; er is dus niet echt een voordeel snap ik?
    Ik zou zeggen dat het voordeel is dat je veel makkelijker kan overstappen naar een andere DB zonder je code te hoeven herschrijven.

    Als jij een MySQL DB gebruikt dan is het voor mij simpel om het op Oracle te implementeren. Je kan nml die connection string mysql:user:passwd@host (of wat die syntax ook mogen zijn) heel makkelijk aanpassen naar oracle:user:password@host.

    Voor jou bied het persoonlijk niet veel voordelen, maar als je een CMS maakt kan je op deze manier heel makkelijk meerdere databases supporten zonder al te veel moeite. Alleen zorgen dat je de juiste library gebruikt voor je DB, PDO gebruiken, connection string aanpassen en klaar. Dat is het grote voordeel van PDO als je het mij vraagt.

    En die connection string kan je in een config file proppen waardoor je later helemaal geen code hoeft aan te passen om een andere DB te gebruiken. Als jij de native mysql methodes gebruikt van PHP zal iemand anders (of jijzelf) code moeten wijzigen om andere DB's te ondersteunen. Ondanks dat je alleen MySQL gebruikt zou ik je toch aanraken om PDO te gebruiken, vooral vanwege bovenstaande redenen. Uiteindelijk wordt het ook makkelijker voor jezelf omdat je je niet druk hoeft te maken over je backend aangezien de API generiek is en dus in principe geen kennis hoeft te hebben van je DB. Dat doet PDO wel voor je. Simpel en makkelijk. Het grote voordeel.

    Zie deze documentatie voor Per DBI: http://search.cpan.org/~timb/DBI/DBI.pm , ik gok dat PDO dezelfde principes hanteert.
    quote:
    The DBI is a database access module for the Perl programming language. It defines a set of methods, variables, and conventions that provide a consistent database interface, independent of the actual database being used.

    It is important to remember that the DBI is just an interface. The DBI is a layer of "glue" between an application and one or more database driver modules. It is the driver modules which do most of the real work. The DBI provides a standard interface and framework for the drivers to operate within.

    Architecture of a DBI Application

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                 |<- Scope of DBI ->|
                      .-.   .--------------.   .-------------.
      .-------.       | |---| XYZ Driver   |---| XYZ Engine  |
      | Perl  |       | |   `--------------'   `-------------'
      | script|  |A|  |D|   .--------------.   .-------------.
      | using |--|P|--|B|---|Oracle Driver |---|Oracle Engine|
      | DBI   |  |I|  |I|   `--------------'   `-------------'
      | API   |       | |...
      |methods|       | |... Other drivers
      `-------'       | |...
              
            `-'

    The API, or Application Programming Interface, defines the call interface and variables for Perl scripts to use. The API is implemented by the Perl DBI extension.

    The DBI "dispatches" the method calls to the appropriate driver for actual execution. The DBI is also responsible for the dynamic loading of drivers, error checking and handling, providing default implementations for methods, and many other non-database specific duties.

    Each driver contains implementations of the DBI methods using the private interface functions of the corresponding database engine. Only authors of sophisticated/multi-database applications or generic library functions need be concerned with drivers.


    [ Bericht 49% gewijzigd door slakkie op 12-03-2008 19:18:27 (perl dbi link) ]
    pi_57333159
    quote:
    Op woensdag 12 maart 2008 17:58 schreef Chandler het volgende:
    Kan iemand mij het voordeel uitleggen als je werkt met MySQL en MySQL wilt blijven gebruiken?
    Ik neem aan dat je het over PDO hebt?
    Een voordeel van PDO is dat je met geparameteriseerde query's kunt werken. Daardoor heb je geen gevaar meer van SQL injection. Je hebt dus ook geen mysql_real_escape_string of addslashes nodig.

    "oud"

    1
    2
    3
    $sql = sprintf("SELECT code, name FROM mydata WHERE code LIKE '%s'", 
       mysql_real_escape_string($code))
    $q = mysql_query($sql);

    "nieuw"

    1
    2
    $stm = $db->prepare("SELECT code, name FROM mydata WHERE code LIKE :code");
    $stm->execute(array('code' => $code));

    of

    1
    2
    3
    $stm = $db->prepare("SELECT code, name FROM mydata WHERE code LIKE :code");
    $stmt->bindParam(':code', $code);
    $stm->execute();
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      woensdag 12 maart 2008 @ 19:37:41 #9
    107951 JortK
    Immer kwaliteitsposts
    pi_57334306
    Duidelijk Sr, maar hoe veel servers ondersteunen PDO?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57335079
    TijdVoorPhpen
    pi_57335420
    quote:
    Op woensdag 12 maart 2008 20:05 schreef Chandler het volgende:
    Duidelijk Sr, maar hoe veel servers ondersteunen PDO?
    Het zit standaard bij PHP 5.1...
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      woensdag 12 maart 2008 @ 21:02:39 #13
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_57335550
    Waren er in t vorige topic niet wat posts over PDO ? , best boeiend iets!
    pi_57347292
    quote:
    Op woensdag 12 maart 2008 20:56 schreef SuperRembo het volgende:

    [..]

    Het zit standaard bij PHP 5.1...
    Ok, maar is er geen lijst beschikbaar hoeveel (gemiddeld) van de huidige online servers php 5 of hoger draaien, want volgens mij draaien veel hosters nog steeds php 4.2x
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 13 maart 2008 @ 23:04:49 #15
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_57363809
    ajoh tijd voor een eigen server!
    pi_57366023
    Hoi,

    ik heb subdomains aangemaakt. Nu wil ik graag dat mijn fotoscript op een ander backoffice.subdmain.nl de foto's wegschrijft in het andere foto.subdomain.nl Scrhijfacties op een ander domain staat de server niet toe. Hoe flik ik m dit?
      zondag 16 maart 2008 @ 22:10:42 #17
    71919 wonderer
    Hung like a My Little Pony
    pi_57421324
    Ik las in een artikel ergens "stop je script dat verbinding maakt met de database en wachtwoord en username bevat in een directory die niet vanaf het web is aan te roepen" en dat lijkt me best slim, maar hoe roep ik die dan aan (met require())? Ik dacht dat /home/username/mapje/bestand.php wel zou werken, maar neit dus
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      zondag 16 maart 2008 @ 23:37:24 #18
    37634 wobbel
    Da WoBBeL King
    pi_57423564
    Wat zijn hele goede RegEx cursussen? Heb al zo'n PHPHulp.nl cursusje gevonden maar nog niet echt doorgebladerd....hebben jullie enige suggesties?

    Kunnen jullie tot die tijd niet ff snel een Regex maken die kijkt of een $variable een #hexadeciamele kleur is? Dus: #FF00FF of #123ABC enzo, dus # en dan minimaal 6 tekens (ik gebruik geen3 kleurige hex codes)
      zondag 16 maart 2008 @ 23:38:46 #19
    37634 wobbel
    Da WoBBeL King
    pi_57423592
    quote:
    Op vrijdag 14 maart 2008 00:52 schreef beerten het volgende:
    Hoi,

    ik heb subdomains aangemaakt. Nu wil ik graag dat mijn fotoscript op een ander backoffice.subdmain.nl de foto's wegschrijft in het andere foto.subdomain.nl Scrhijfacties op een ander domain staat de server niet toe. Hoe flik ik m dit?
    zou normaal gesproken moeten werken, omdat je niet buiten je eigen map komt.

    /home/domeinnaam/subdomain/backoffice
    /home/domeinnaam/subdomain/foto

    Je blijft in je eigen map "domeinnaam" dus er zou in princiepe niks fout moeten gaan

    = edit =

    Dat had ook wel in 1 reactie gekund
    pi_57424146
    quote:
    Op zondag 16 maart 2008 23:37 schreef wobbel het volgende:
    Wat zijn hele goede RegEx cursussen? Heb al zo'n PHPHulp.nl cursusje gevonden maar nog niet echt doorgebladerd....hebben jullie enige suggesties?
    Ik lees altijd de handleidingen...
    quote:
    Kunnen jullie tot die tijd niet ff snel een Regex maken die kijkt of een $variable een #hexadeciamele kleur is? Dus: #FF00FF of #123ABC enzo, dus # en dan minimaal 6 tekens (ik gebruik geen3 kleurige hex codes)
    1/^#[0-9a-f]{6}$/i


    [ Bericht 0% gewijzigd door SuperRembo op 17-03-2008 07:22:19 ]
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_57426909
    Uit het Perl topic:

    Reguliere expressies
    * Een quick start guide into Perl regexp'en
    * De regexp tutorial van Perl
    * Learning perl, hoofdstuk 7, regexpenp. Hier kan je zoveel uitleg als kleine oefeningen vinden om reguliere expressies onder de knie te krijgen.

    Verder is het boek Mastering regular expressions een absolute aanrader als je meer wilt weten over reguliere expressies. Het leest prettig, en gaat dieper in op reguliere expressies dan de perl tutorials, en laten zien hoe het in andere talen dan Perl (Java en .Net) gebruikt kunnen worden. Dus ook voor de niet Perllers is het een aanrader.

    http://xkcd.com/208/
      maandag 17 maart 2008 @ 09:46:25 #22
    37634 wobbel
    Da WoBBeL King
    pi_57427009
    @slakkie

    Reguliere expressies zijn dus in elke programmeertaal "universeel" zeg maar?

    @SuperRembo

    Bedankt voor het mij even snel uit de brand helpen
    pi_57427208
    quote:
    Op maandag 17 maart 2008 09:46 schreef wobbel het volgende:
    @slakkie

    Reguliere expressies zijn dus in elke programmeertaal "universeel" zeg maar?
    Nee, er zijn meestal wel verschillen. Perl regexps en perl-stijl regexps in php (preg*) komen grotendeels overeen, maar php heeft wel een paar kleine extra's. In php heb je ook posix stijl regexps (ereg*), die zijn heel anders, en hebben minder mogelijkheden. Regexps in javascript lijken er op die van perl, maar hebben veel minder mogelijkheden. De basis van regexps in .NET lijken erg op perl, maar in de geavanceerdere opties zitten grote verschillen. Dan heb je ook nog de regexps in zoekfuncties in tools as UltraEdit en Visual Studio, die zijn weer anders. En ik kwam laatst regexps tegen voor een firewall, en die waren ook weer totaal anders.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      maandag 17 maart 2008 @ 10:50:36 #24
    187069 slacker_nl
    Sicko pur sang
    pi_57427944
    quote:
    Op maandag 17 maart 2008 09:46 schreef wobbel het volgende:
    @slakkie

    Reguliere expressies zijn dus in elke programmeertaal "universeel" zeg maar?
    Niet geheel, zie het commentaar van superrembo. Er zijn verschillende types regexp engines die door de verschillende talen gebruikt worden. Dat beinvloed hoe regexpen zich gedragen. Maar aangezien PHP perl-like regexpen kent vond ik de Perl docs wel een goed uitgangspunt om te beginnen met lezen. Maar dat boek "Mastering regular expressions" behandeld bijvoorbeeld ook Java en volgens mij ook PHP (maar dit weet ik niet zeker). Dat boek heeft mij enorm geholpen met het gebruik en het beter begrijpen van reguliere expressies.

    Ik gok zo dat je 90% van de uitleg zoals in de Perl docs staat wel 1 op 1 kan toepassen in PHP. Alleen is de syntax wat anders preg_match($regexp, $input) ipv $input =~ m/$regexp/ en preg_replace($regexp, $replace, $input) ipv $input =~ s/$regexp/$replace/

    Ik heb iig geen problemen mee om m'n perl regexp kennis te misbruiken in PHP, aangezien de regexp syntax van perl afgekeken is.

    En hier nog wat cheatsheets:
    http://www.ilovejackdanie(...)essions-cheat-sheet/
    http://www.scottklarr.com(...)ssions-cheat-sheets/

    Zie ook: http://nl2.php.net/manual/en/ref.pcre.php
    In theory there is no difference between theory and practice. In practice there is.
    pi_57437600
    heb hem

    [ Bericht 48% gewijzigd door Qunix op 17-03-2008 20:31:27 ]
    pi_57439861
    quote:
    Op zondag 16 maart 2008 23:38 schreef wobbel het volgende:

    [..]

    zou normaal gesproken moeten werken, omdat je niet buiten je eigen map komt.

    /home/domeinnaam/subdomain/backoffice
    /home/domeinnaam/subdomain/foto

    Je blijft in je eigen map "domeinnaam" dus er zou in princiepe niks fout moeten gaan

    = edit =

    Dat had ook wel in 1 reactie gekund
    Tuurlijk stom, het subdomain verschijnt als map in de root. En daar kan je altijd naar schrijven.
    Thnx, soms is het zoooooooo simpel....
    pi_57470932
    Hoe maak je een script wat laat zien hoeveel leden er online zijn en hoeveel gasten?

    Het gedeelte om te zien hoeveel leden er online zijn is simpel:
    - Bij iedere request op de website een UPDATE uitvoeren op 'last_online'.
    - Een query uitvoeren met met sorteren op alle `last_online` van de laatste 5 minuten.

    Echter hoe doe je het met gasten? Zij zitten niet in de userbase.
    ne okuyon, bokmu var?
      woensdag 19 maart 2008 @ 13:41:17 #28
    187069 slacker_nl
    Sicko pur sang
    pi_57475218
    Cookie zetten, IP loggen en dat vergelijken met je userbase. Als het niet in je userbase zit == gast en kan je de hoeveelheden optellen.. Lijkt me.
    In theory there is no difference between theory and practice. In practice there is.
    pi_57482406
    Cookie? waarom niet een sessie? userid=0 en ip=ip
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57483243
    Ja maar hoe kan ik meten hoeveel gasten er online zijn?

    /edit
    Ik kan natuurlijk checken of het een lid is, zo niet, de IP en de tijd van de gast opslaan in de database.
    Met een cronjob om de 10 minuten alle records verwijderen welke ouders zijn dan 10 minuten, zo hou ik alleen de records over van binnen de 10 minuten.

    Echter vind ik dat omslachtig, moet toch een logischer manier zijn?
    ne okuyon, bokmu var?
    pi_57485575
    Nee, dit is de manier
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57486241
    quote:
    Op woensdag 19 maart 2008 21:16 schreef Chandler het volgende:
    Nee, dit is de manier
    Valt mee dan mezelf, ik kan dus toch nog wel een beetje logisch denken
    ne okuyon, bokmu var?
    pi_57488000
    Om het resterend aantal minuten wat duidelijker te maken heb ik het volgende geschreven om "xxxx minutes remaining" om te toveren naar "1 month, 13 days and 12 seconds remaining".

    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
    <?php
            
        
    if ($runtime 0){
        
            
    $divider ", ";
            
    $divider_last " and ";
            
            
    $parts = array();
            
    $entities = array(    array(    "singular" => "month",
                                        
    "plural" => "months",
                                        
    "minutes" => 60 24 31),
                                        
                                array(    
    "singular" => "day",
                                        
    "plural" => "days",
                                        
    "minutes" => 60 24),
                                        
                                array(    
    "singular" => "hour",
                                        
    "plural" => "hours",
                                        
    "minutes" => 60),
                                        
                                array(    
    "singular" "minute",
                                        
    "plural" => "minutes",
                                        
    "minutes" => 1)    );
                                        
            
            foreach (
    $entities as $entity){
                
    $value floor($runtime $entity["minutes"]);
            
                if (
    $value){
                    
    $parts[] = sprintf(    "%d %s"
                                        
    $value
                                        (
    $value 1) ? $entity["plural"] : $entity["singular"]    );
                    
                }
                                        
                
    $runtime $runtime $entity["minutes"];
            }
                    
            
    $html_parts implode($divider$parts);
            
            if (
    sizeof($parts) > 1) {
                
    $html_parts substr_replace(    $html_parts
                                                
    $divider_last
                                                
    strrpos($html_parts$divider), 
                                                
    strlen($divider)    );
            }
            
            return 
    $html_parts;
        }
    ?>


    Iemand nog tips of aanmerkingen? Ik namelijk dat het goed werkt, en ondanks ik het getest heb ben ik bang dat ik een wiskundige fout heb gemaakt. :)
      woensdag 19 maart 2008 @ 22:30:01 #34
    62215 qu63
    ..de tijd drinkt..
    pi_57488244
    quote:
    Op woensdag 19 maart 2008 22:24 schreef Geqxon het volgende:
    Om het resterend aantal minuten wat duidelijker te maken heb ik het volgende geschreven om "xxxx minutes remaining" om te toveren naar "1 month, 13 days and 12 seconds remaining".
    [ code verwijderd ]

    Iemand nog tips of aanmerkingen? Ik namelijk dat het goed werkt, en ondanks ik het getest heb ben ik bang dat ik een wiskundige fout heb gemaakt. :)
    Ik gebruikte dit op mijn website:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    <?php
    function datediff($start_date,$end_date="now",$unit="D")
            {
                
    $unit strtoupper($unit);
                
    $start=strtotime($start_date);
                if (
    $start === -1) {
                    print(
    "invalid start date");
                }
                
                
    $end=strtotime($end_date);            
                if (
    $end === -1) {
                    print(
    "invalid end date");
                }
                
                if (
    $start $end) {
                    
    $temp $start;
                    
    $start $end;
                    
    $end $temp;
                }
                
                
    $diff $end-$start;
                
                
    $day1 date("j"$start);
                
    $mon1 date("n"$start);
                
    $year1 date("Y"$start);
                
    $day2 date("j"$end);
                
    $mon2 date("n"$end);
                
    $year2 date("Y"$end);
                
                switch(
    $unit) {
                    case 
    "D":
                        echo 
    intval($diff/(24*60*60));
                        break;
                    case 
    "M":
                        if(
    $day1>$day2) {
                            
    $mdiff = (($year2-$year1)*12)+($mon2-$mon1-1);
                        } else {
                            
    $mdiff = (($year2-$year1)*12)+($mon2-$mon1);
                        }
                        echo 
    $mdiff;
                        break;
                    case 
    "Y":
                        if((
    $mon1>$mon2) || (($mon1==$mon2) && ($day1>$day2))){
                            
    $ydiff $year2-$year1-1;
                        } else {
                            
    $ydiff $year2-$year1;
                        }
                        echo 
    $ydiff;
                        break;
                    case 
    "YM":
                        if(
    $day1>$day2) {
                            if(
    $mon1>=$mon2) {
                                
    $ymdiff 12+($mon2-$mon1-1);
                            } else {
                                
    $ymdiff $mon2-$mon1-1;
                            }
                        } else {
                            if(
    $mon1>$mon2) {
                                
    $ymdiff 12+($mon2-$mon1);
                            } else {
                                
    $ymdiff $mon2-$mon1;
                            }
                        }
                        echo 
    $ymdiff;
                        break;
                    case 
    "YD":
                        if((
    $mon1>$mon2) || (($mon1==$mon2) &&($day1>$day2))) {
                            
    $yddiff intval(($end mktime(000$mon1$day1$year2-1))/(24*60*60));                        
                        } else {
                            
    $yddiff intval(($end mktime(000$mon1$day1$year2))/(24*60*60));
                        }
                        echo 
    $yddiff;
                        break;
                    case 
    "MD":
                        if(
    $day1>$day2) {
                            
    $mddiff intval(($end mktime(000$mon2-1$day1$year2))/(24*60*60));                        
                        } else {
                            
    $mddiff intval(($end mktime(000$mon2$day1$year2))/(24*60*60));
                        }
                        echo 
    $mddiff;
                        break;
                    default:
                     print(
    "{Datedif Error: Unrecognized \$unit parameter. Valid values are 'Y', 'M', 'D', 'YM'. Default is 'D'.}");
                    
                }

            }
    ?>
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57491533
    edit

    opgelost

    [ Bericht 42% gewijzigd door Qunix op 20-03-2008 00:58:39 ]
    pi_57494563
    quote:
    Op woensdag 19 maart 2008 19:13 schreef Chandler het volgende:
    Cookie? waarom niet een sessie? userid=0 en ip=ip
    Sessies worden toch in een cookie bewaard of niet?
    pi_57496550
    Kan iemand mij helpen om de volgende code goed te schrijven:
    Ik heb een include script gebruikt om alle pagina's dynamisch te krijgen.
    Het menu (boven aan de site) heeft 4 kopjes, daarvan wil ik dat 2 kopjes weer een extra menu krijgen. (zijkant)

    Hoe kan ik dat het best oplossen met php?
    Met if / else / include?

    Ik had zelf gedacht aan zoiets:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    if personal.php {
     include(
    "mennu_personal.php");
    }

    if 
    portfolio.php {
     include(
    menu_portfolio.php");
    }

    else {
     leave blank
    }
    ?>


    De code klopt niet, dat weet ik, maar het gaat om het principe.
    pi_57497451
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    switch ($_GET['page']) {
      case 
    "personal":
        
    $inc_page "inc/menu_personal.inc.php";
        break;
      case 
    "portfolio":
        
    $inc_page "inc/menu_portfolio.inc.php";
        break;
      default:
        
    $inc_page "inc/menu_default.inc.php";
    }

    include 
    $inc_page;
    ?>
    ne okuyon, bokmu var?
    pi_57497524
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    <a href="page.php&personal=do">personal</a><br />
    <
    a href="page.php&portfolio=do">portfolio</a>

    if(isset([
    'personal'])) {
        include(
    "personal.php");
    }
    elseif(isset([
    'portfolio'])) {
        include(
    'portfolio.php');
    }

    //Of je doet iets met:
    echo $_SERVER[PHP_SELF];
    ?>


    [ Bericht 11% gewijzigd door Tarabass op 20-03-2008 15:30:54 ]
    pi_57499504
    quote:
    Op donderdag 20 maart 2008 12:12 schreef Tarabass het volgende:

    [ code verwijderd ]
    Ik zou je code eens goed nakijken
    ne okuyon, bokmu var?
    pi_57500974
    quote:
    Op donderdag 20 maart 2008 12:10 schreef saban het volgende:

    [ code verwijderd ]
    Dat werkt perfect! Dank u!!
    pi_57501473
    quote:
    Op donderdag 20 maart 2008 09:48 schreef slakkie het volgende:

    [..]

    Sessies worden toch in een cookie bewaard of niet?
    Sessies worden op de server bewaard. De koppeling tussen sessie en gebruiker (sessie-id) wordt meestal in een cookie bij de gebruiker opgeslagen.
      donderdag 20 maart 2008 @ 18:23:34 #43
    37634 wobbel
    Da WoBBeL King
    pi_57504924
    Deze regex zorgt ervoor dat ik alleen a-z/A-Z/0-9 karakters mogen, maar hoe zorg ik ervoor dat de _ (underscore) en de . (punt) ook worden teogestaan?

    Regex die ik nu heb:
    $SQL_BestandsNaam = preg_replace("/[^a-zA-Z0-9]/", "", $SQL_BestandsNaam);

    moet dus ook _ en . toelaten
    pi_57505352
    quote:
    Op donderdag 20 maart 2008 18:23 schreef wobbel het volgende:
    Deze regex zorgt ervoor dat ik alleen a-z/A-Z/0-9 karakters mogen, maar hoe zorg ik ervoor dat de _ (underscore) en de . (punt) ook worden teogestaan?

    Regex die ik nu heb:
    $SQL_BestandsNaam = preg_replace("/[^a-zA-Z0-9]/", "", $SQL_BestandsNaam);

    moet dus ook _ en . toelaten :)
    1
    2
    3
    <?php
    $SQL_BestandsNaam 
    preg_replace("/[^a-zA-Z0-9]_\./"""$SQL_BestandsNaam);
    ?>
      donderdag 20 maart 2008 @ 19:47:29 #45
    71919 wonderer
    Hung like a My Little Pony
    pi_57506630
    Als ik dit heb:
    1
    2
    3
    4
    1    david    3
    2    david    5
    3    joris     4
    4    arjan    4


    met welke query kan ik dan het totaal van alles wat david (8 dus) eruit krijgen? Daar is vast wel een handigheidje voor...
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_57508225
    quote:
    Op donderdag 20 maart 2008 19:47 schreef wonderer het volgende:
    Als ik dit heb:
    [ code verwijderd ]

    met welke query kan ik dan het totaal van alles wat david (8 dus) eruit krijgen? Daar is vast wel een handigheidje voor...
    SELECT naam, sum(punten) as totaal FROM table WHERE naam = "david" GROUP BY naam
      donderdag 20 maart 2008 @ 21:17:52 #47
    71919 wonderer
    Hung like a My Little Pony
    pi_57508771
    quote:
    Op donderdag 20 maart 2008 20:54 schreef Light het volgende:

    [..]

    SELECT naam, sum(punten) as totaal FROM table WHERE naam = "david" GROUP BY naam
    Dank u wel!

    Scheelt me weer twee uur geprobeeer
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      vrijdag 21 maart 2008 @ 15:40:38 #48
    32768 DionysuZ
    Respect my authority!
    pi_57522087
    zo heb je naast SUM ook COUNT,MAX,MIN,AVG, in combinatie met GROUP by =) =)
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      vrijdag 21 maart 2008 @ 16:05:22 #49
    71919 wonderer
    Hung like a My Little Pony
    pi_57522545
    Ik kende de "sum" enzo wel, maar het was me waarschijnlijk compleet ontschoten dat er nog een "group by" bij zou moeten.

    Waarom moet dat eigenlijk? (als ik het begrijp, is het makkelijker te onthouden).
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      vrijdag 21 maart 2008 @ 17:11:46 #50
    32768 DionysuZ
    Respect my authority!
    pi_57523573
    quote:
    Op vrijdag 21 maart 2008 16:05 schreef wonderer het volgende:
    Ik kende de "sum" enzo wel, maar het was me waarschijnlijk compleet ontschoten dat er nog een "group by" bij zou moeten.

    Waarom moet dat eigenlijk? (als ik het begrijp, is het makkelijker te onthouden).
    group by doet eigenlijk al wat het zegt: het groepeert.

    Zonder group by zou een functie als sum of count op alle kolommen toegepast worden. Maar vaak wil je de sum of de count van bepaalde groepen/kolommen.

    Klein voorbeeldje:

    1
    2
    3
    4
    5
    6
      nickname  |  aantal_posts  |  topic_id

    * wonderer     5                1134706
    * DionysuZ     10               1134706
    * wonderer     2                221341
    * bla          25               2131441


    En we willen het totaal aantal posts weten voor iedere persoon.

    Voeren we nu de volgende query uit:

    SELECT nickname, SUM(aantal_posts) FROM tabel

    Dan is het resultaat:
    1
    2
    3
    4
    5
    6
      nickname  |  SUM(aantal_posts)

    * wonderer     42          
    * DionysuZ     42         
    * wonderer     42          
    * bla          42              

    Zoals je ziet wordt de som genomen van de volledige kolom, ipv de waarden die je wilt hebben. Daar hebben we de GROUP BY constructie voor:

    SELECT nickname, SUM(aantal_posts) FROM tabel GROUP BY nickname
    1
    2
    3
    4
    5
      nickname  |  SUM(aantal_posts)

    * wonderer     7          
    * DionysuZ     10         
    * bla          25              
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      vrijdag 21 maart 2008 @ 17:25:07 #51
    71919 wonderer
    Hung like a My Little Pony
    pi_57523782
    Hah! Dank je wel, heel helder.
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_57524745
    Omdat ik er niet meer uit kom vraag ik het hier maar.
    Ik ben bezig voor het FOK Whatpulse team de subteams stats te maken,
    echter heb ik sinds gisteren last van een heel vreemd probleem,
    namelijk de getallen (keys) lopen niet meer van hoog naar laag maar allemaal door elkaar

    Misschien wel handige informatie:
    Mysql Query
    1
    2
    3
    4
    <?php
    $query 
    "SELECT teamnaam ,COUNT(naam),SUM(keyz), SUM(clicks), SUM(miles) FROM team1 GROUP BY teamnaam ORDER BY keyz DESC"
    $result mysql_query($query) or die(mysql_error());
    ?>


    Het draaiende script is te vinden op http://thuis.w8effe.nl/pulse/

    Mocht er nog meer code benodigd zijn laat het even weten
    Typ mee! FOK!Whatpulse
    PSN OnlineID: LightLuke92
      vrijdag 21 maart 2008 @ 18:57:25 #53
    71919 wonderer
    Hung like a My Little Pony
    pi_57525374
    Gokje:

    SUM(keyz) AS total_keyz (...) ORDER BY total_keyz

    ?
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_57525468
    quote:
    Op vrijdag 21 maart 2008 18:57 schreef wonderer het volgende:
    Gokje:

    SUM(keyz) AS total_keyz (...) ORDER BY total_keyz

    ?
    Goed gegokt
    Ontzettend bedankt
    Typ mee! FOK!Whatpulse
    PSN OnlineID: LightLuke92
    pi_57597976
    Is het mogelijk om via PHP de laatste changes uit een SVN repository te lezen? Ik kon er op Google niet veel nuttigs over vinden.
    pi_57601685
    Ok, ik ga een poging doen tot het maken van een mySQL database. TVP dus.
    pi_57606324
    Vraagje,
    hoe zit het eigenlijk met de veiligheid/beveiliging van een mySQL database?

    Kunnen de gegevens daarin alleen opgeroepen worden door mijn eigen scripts? En moet ik extra voorzorgsmaatregelen nemen om te zorgen dat mensen niet via een externe site/script mijn database kunnen aanpassen?

    Passwords en eventuele encryptie wacht ik denk ik nog maar even mee
      dinsdag 25 maart 2008 @ 22:27:22 #58
    37634 wobbel
    Da WoBBeL King
    pi_57610529
    quote:
    Op dinsdag 25 maart 2008 19:47 schreef mcDavid het volgende:
    Vraagje,
    hoe zit het eigenlijk met de veiligheid/beveiliging van een mySQL database?

    Kunnen de gegevens daarin alleen opgeroepen worden door mijn eigen scripts? En moet ik extra voorzorgsmaatregelen nemen om te zorgen dat mensen niet via een externe site/script mijn database kunnen aanpassen?

    Passwords en eventuele encryptie wacht ik denk ik nog maar even mee
    niemand kan daar in princiepe van buitenaf bij (de meeste servers staan alleen connecties van de lokale machine toe)
      dinsdag 25 maart 2008 @ 22:39:05 #59
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_57610853
    en zijn er vaak leks met phpmyadmin?
    pi_57611506
    Mijn webhost heeft wel phpmyadmin geinstalleerd staan. Maar ik denk dat ik er toch maar vanuit kan gaan dat dat veilig genoeg is.
    Voor zover ik het begrijp hoef ik me dus geen zorgen te maken over mijn databases, zolang de pagina's met scripts om de boel te bewerken maar goed beveiligd zijn.
    pi_57623254
    Ik ben op zoek naar smilies. Nu zijn er voldoende smilies te vinden op het web. Maar ik zie nergens een complete array met smilies, compleet met test-shortcut
    Waar vind ik zulks? De bijbehorende functie om in een tekst te veranderen naar een plaatje is niet moeilijk (te vinden)
    Dit idee
    = smilie.gif
    = wink.gif
    = sad.gif
      woensdag 26 maart 2008 @ 17:59:03 #62
    187069 slacker_nl
    Sicko pur sang
    pi_57626853
    Wat dacht je van een hash:

    my %hash = ( ':)' => smiley.gif );

    In PHP syntax:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $smileys = array(
        ':)' => "smiley.gif", 
        ':(' => 'sad.gif', 
        'etc' => 'etc.gif',
    );

    # En dan verder op in je code.. 

    function get_smiley($key) {
        if (array_key_exists($key, $smileys)) {
            print "$smileys[$key]\n"; 
        }
    }


    Als je hier dan een object van maakt kan je die daarna overal gebruiken.

    [ Bericht 39% gewijzigd door slacker_nl op 26-03-2008 18:11:14 ]
    In theory there is no difference between theory and practice. In practice there is.
    pi_57629948
    quote:
    Op woensdag 26 maart 2008 17:59 schreef slacker_nl het volgende:
    Wat dacht je van een hash:

    my %hash = ( ':)' => smiley.gif );

    In PHP syntax:
    [ code verwijderd ]

    Als je hier dan een object van maakt kan je die daarna overal gebruiken.
    Ik redt me met het scripten van smilies, da's geen probleem.

    Maar ik zoek de plaatjes, compleet met de bijbehorende tekst-tekens. Die heb ik nodig, niet de code. De plaatje smet de tekens.
    pi_57632133
    volgens mij zit je dan in een verkeerd topic..
    pi_57632445
    quote:
    Op woensdag 26 maart 200820:01 schreef beerten het volgende:

    [..]

    Ik redt me met het scripten van smilies, da's geen probleem.

    Maar ik zoek de plaatjes, compleet met de bijbehorende tekst-tekens. Die heb ik nodig, niet de code. De plaatje smet de tekens.
    In de tijd die je tot nu toe aan zoeken besteed hebt had je al 20 van die arrays zelf kunnen typen.
      woensdag 26 maart 2008 @ 21:40:08 #66
    62215 qu63
    ..de tijd drinkt..
    pi_57633133
    quote:
    Op woensdag 26 maart 2008 20:01 schreef beerten het volgende:

    [..]

    Ik redt me met het scripten van smilies, da's geen probleem.

    Maar ik zoek de plaatjes, compleet met de bijbehorende tekst-tekens. Die heb ik nodig, niet de code. De plaatje smet de tekens.
    sla alle plaatjes op de je hier kunt vinden: http://forum.fok.nl/rde/post_reply/1134706
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57635644
    quote:
    Op woensdag 26 maart 2008 21:40 schreef qu63 het volgende:

    [..]

    sla alle plaatjes op de je hier kunt vinden: http://forum.fok.nl/rde/post_reply/1134706

    zo blond ben ik ook niet. Wat the fuck zijn alle tekencombinaties?
    Daar moeten toch ergens kant en klare arrays op een site staan die ik kan knippen en plakken, compleet met een zipje met smilies?
      woensdag 26 maart 2008 @ 22:50:33 #68
    62215 qu63
    ..de tijd drinkt..
    pi_57635748
    quote:
    Op woensdag 26 maart 2008 22:47 schreef beerten het volgende:

    [..]

    zo blond ben ik ook niet. Wat the fuck zijn alle tekencombinaties?
    Daar moeten toch ergens kant en klare arrays op een site staan die ik kan knippen en plakken, compleet met een zipje met smilies?
    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
    <?php
    # De smilies
       
    $smiliesDir "images/"
        
    // locatie van de smilies, verander het naar jouw website url!!! Sluit af met /
       
    $smilies = array(':)'    =>    "smile.gif"            ,
                           
    ':D'    =>    "biggrin.gif"        ,
                        
    '_O-'    =>    "schater.gif "        ,
                        
    ':\')'    =>    "emo.gif"            ,
                        
    '>:)'    =>    "devil.gif"            ,
                        
    '})'    =>    "devilish.gif"        ,
                        
    'O-)'    =>    "hypocrite.gif"        ,
                        
    '*)'    =>    "shiny.gif"            ,
                        
    ':P'    =>    "puh2.gif"            ,
                        
    ':9~'    =>    "kwijl.gif"            ,
                        
    ':9'    =>    "yummie.gif"        ,
                        
    ';)'    =>    "wink.gif"            ,
                        
    ':7'    =>    "loveit.gif"        ,
                        
    ':+'    =>    "clown.gif"            ,
                        
    '*)'    =>    "coool.gif"            ,
                        
    'B-)'    =>    "shadey.gif"        ,
                        
    ':Y)'    =>    "vork.gif"            ,
                        
    ':z'    =>    "sleephappy.gif"    ,
                        
    ':W'    =>    "bye.gif"            ,
                        
    '*O*'    =>    "static.gif"        ,
                        
    '~O>'    =>    "swhip.gif"            ,
                        
    ':s)'    =>    "spinsmile.gif"        ,
                        
    '^O^'    =>    "thumbsup.gif"        ,
                        
    '_O_'    =>    "worshippy.gif"        ,
                        
    '|:('    =>    "frusty.gif"        ,
                        
    ':('    =>    "frown.gif"            ,
                        
    ':r'    =>    "pukey.gif"            ,
                        
    '-O-'    =>    "nopompom.gif"        ,
                        
    ':{'    =>    "nosmile.gif"        ,
                        
    ':{w'    =>    "we.gif"            ,
                        
    ':O'    =>    "yawnee.gif"        ,
                        
    ':Z'    =>    "sleepey.gif"        ,
                        
    '}:|'    =>    "sm_eerie.gif"        ,
                        
    ':\'('    =>    "cry.gif"            ,
                        
    ';('    =>    "sadley.gif"        ,
                        
    '):O'    =>    "rc5.gif"            ,
                        
    ':6'    =>    "bupatih.gif"        ,
                        
    ':N'    =>    "nooo.gif"            ,
                        
    ':Y'    =>    "yes_new.gif"        ,
                        
    ':X'    =>    "shutup.gif"        ,
                        
    ':?'    =>    "confused.gif"        ,
                        
    ':o'    =>    "redface.gif"        ,
                        
    '8)7'    =>    "bonk.gif"            ,
                        
    ':@'    =>    "bloos.gif"            ,
                        
    'c_/'    =>    "koffie.gif"        ,
                        
    'oO<'    =>    "chicksmiley.gif"    ,
                        
    '(8>'    =>    "michel.gif"        ,
                        
    'O+'    =>    "heart.gif"            ,
                        
    ':*'    =>    "puh.gif"            ,
                        
    '*;'    =>    "loveys.gif"        ,
                        
    '^)'    =>    "marrysmile.gif"    ,
                        
    'o|O'    =>    "sbatje.gif"        ,
                        );

                        
    ## Alle smilie codes vervangen en $bericht wijzigen
                        
    foreach ($smilies AS $find => $character)
                        {
                           
    $bericht str_replace(htmlentities($find), "<img src=\"images\\".$character ."\" />"$bericht);
                        }
    ?>

    alsje, plaatjes zoek je zelf maar. Ze komen toch allemaal van fok
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57636907
    is copyrighted heh
      donderdag 27 maart 2008 @ 01:31:51 #70
    62215 qu63
    ..de tijd drinkt..
    pi_57639586
    wat doe ik fout in deze query?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    if(isset($_POST['submit'])){
            
    $user1 mysql_real_escape_string($_POST['user1']);
            
    $van_datum mysql_real_escape_string($_POST['van_datum']);
            
    $naar_datum mysql_real_escape_string($_POST['naar_datum']);
            
    $van_plaats mysql_real_escape_string($_POST['van_plaats']);
            
    $naar_plaats mysql_real_escape_string($_POST['naar_plaats']);
            
    $km mysql_real_escape_string($_POST['km']);
            
    $prijs mysql_real_escape_string($_POST['prijs']);
            
    $pax mysql_real_escape_string($_POST['pax']);
            
    $q "INSERT INTO rit (user1, van_datum, naar_datum, van_plaats, naar_plaats, km, prijs, pax) 
                VALUES ('"
    .$user1."','".$van_datum."','".$naar_datum."','".$van_plaats."','".$naar_plaats."','".$km."','".$prijs."','".$pax."')";
                
    mysql_query($q) or die(mysql_errno());
    ?>
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57640433
    Ten eerste, maak je queries overzichtelijk

    bv

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $q = "INSERT INTO rit (user1, van_datum, naar_datum, van_plaats, naar_plaats, km, prijs, pax)
          VALUES ('" . $user1 . "',
                  '" . $van_datum . "',
                  '" . $naar_datum . "',
                  '" . $van_plaats . "',
                  '" . $naar_plaats . "',
                  '" . $km . "',
                  '" . $prijs . "',
                  '" . $pax . "')";
    mysql_query($q) or die(mysql_errno());


    en vertel eens wat er fout gaat? krijg je een error? want je query op zich bevat geen fouten :)
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57640830
    quote:
    Op donderdag 27 maart 2008 07:21 schreef Chandler het volgende:
    Ten eerste, maak je queries overzichtelijk

    bv
    [ code verwijderd ]

    en vertel eens wat er fout gaat? krijg je een error? want je query op zich bevat geen fouten
    Als je het dan toch overzichtelijk wilt maken, maak dan gebruik van sprintf. Dan heb je niet die "lelijke" . $string . "constructie".

    1
    2
    3
    4
    5
    $q = sprintf("INSERT INTO rit (user1, van_datum, naar_datum, van_plaats, naar_plaats, km, 
      prijs, pax) VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )", 
      $user, $van_date, $naar_date, $van_plaats, $naar_plaats, $km, $prijs, $pax);

    # More code here... 
      donderdag 27 maart 2008 @ 09:40:40 #73
    32768 DionysuZ
    Respect my authority!
    pi_57641788
    ik zou even checken of alle velden die je wilt vullen wel echt die naam hebben. Bijvoorbeeld als veld user1 in de db user heet dan gaat je query al niet door.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      donderdag 27 maart 2008 @ 09:51:14 #74
    62215 qu63
    ..de tijd drinkt..
    pi_57641958
    quote:
    Op donderdag 27 maart 2008 09:40 schreef DionysuZ het volgende:
    ik zou even checken of alle velden die je wilt vullen wel echt die naam hebben. Bijvoorbeeld als veld user1 in de db user heet dan gaat je query al niet door.
    dat klopt allemaal
    quote:
    Op donderdag 27 maart 2008 07:21 schreef Chandler het volgende:
    Vertel eens wat er fout gaat? krijg je een error? want je query op zich bevat geen fouten
    Ik krijg niks te zien, gewoon een lege pagina. Er wordt niks toegevoegd in mn database, en als ik de query weg laat krijg ik de pagina wel te zien
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 10:13:02 #75
    187069 slacker_nl
    Sicko pur sang
    pi_57642254
    Wat gebeurd er als je die insert statement direct in mysql invoert (dus niet via PHP)?

    Heeft je user waarmee je deze wijzigingen wilt doen wel de juiste rechten? Check de mysql.users table hiervoor.

    [ Bericht 41% gewijzigd door slacker_nl op 27-03-2008 10:21:33 ]
    In theory there is no difference between theory and practice. In practice there is.
      donderdag 27 maart 2008 @ 10:49:58 #76
    62215 qu63
    ..de tijd drinkt..
    pi_57642992
    quote:
    Op donderdag 27 maart 2008 10:13 schreef slacker_nl het volgende:
    Wat gebeurd er als je die insert statement direct in mysql invoert (dus niet via PHP)?

    Heeft je user waarmee je deze wijzigingen wilt doen wel de juiste rechten? Check de mysql.users table hiervoor.
    user is root, dus die heeft wel de juiste rechten

    foutje(s) zaten in het feit dat er ook nog een user2 was die niet leeg mocht zijn, en ik voer verkeerde datetime velden in, dus dat moet ik nog ff uitzoeken

    alleen weet ik nog niet of dat alle foutjes waren omdat mn server niets meer doet

    Behalve pagina's zoeken en na heeel lang een error 500 geven
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 11:36:53 #77
    62215 qu63
    ..de tijd drinkt..
    pi_57643943
    damn, mn server werkt op zich goed, behalve als die query
    1
    2
    INSERT INTO rit (user1, van_datum, naar_datum, van_plaats, naar_plaats, km, prijs, pax) 
             VALUES ('user1','2008-27-03 21:30:00',2008-27-03 22:30:00','van_plaats','naar_plaats','km','prijs','pax')

    uitgevoerd moet worden, dan krijg ik een error 500 -O-
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 11:37:13 #78
    187069 slacker_nl
    Sicko pur sang
    pi_57643953
    Heb een SQL vraag (DB is Oracle en geen MySQL).

    Uitganspunt:
    1
    2
    3
    4
    5
    6
    7
    create table test_me (
            reg_date                        varchar2(20),
            reg_user                        varchar2(20)
    );

    INSERT INTO test_me (reg_date, reg_user) VALUES ('20080101', 'username');
    INSERT INTO test_me (reg_date, reg_user) VALUES ('20080303', 'username');


    Nu wil ik alleen het record hebben met de grootste reg_date. Hoe krijg ik dit voor elkaar?

    Nu heb ik het heel simplistisch proberen te doen met de volgende query:

    1select reg_user, reg_date from test_me where reg_user = reg_user and reg_date > reg_date;


    Maar dit werkt niet zoals ik had gehoopt (mijn hoop was, hij fetched de 2 rows, en kan dan per row gaan checken of reg_date groter is aan de andere entry). Maar dat gebeurd dus niet..

    Iemand een idee hoe ik dit wel kan bereiken?
    In theory there is no difference between theory and practice. In practice there is.
      donderdag 27 maart 2008 @ 11:38:59 #79
    62215 qu63
    ..de tijd drinkt..
    pi_57644004
    quote:
    Op donderdag 27 maart 2008 11:36 schreef qu63 het volgende:
    damn, mn server werkt op zich goed, behalve als die query
    [ code verwijderd ]

    uitgevoerd moet worden, dan krijg ik een error 500
    er miste een '
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 11:39:21 #80
    187069 slacker_nl
    Sicko pur sang
    pi_57644007
    quote:
    Op donderdag 27 maart 2008 11:36 schreef qu63 het volgende:
    damn, mn server werkt op zich goed, behalve als die query
    [ code verwijderd ]

    uitgevoerd moet worden, dan krijg ik een error 500
    Apache geeft een 500 error? of mysql?

    Als je nou eerst zorgt dat je die query kan draaien buiten PHP om dan ben je half way there.
    In theory there is no difference between theory and practice. In practice there is.
      donderdag 27 maart 2008 @ 11:40:55 #81
    62215 qu63
    ..de tijd drinkt..
    pi_57644047
    quote:
    Op donderdag 27 maart 2008 11:39 schreef slacker_nl het volgende:

    [..]

    Apache geeft een 500 error? of mysql?

    Als je nou eerst zorgt dat je die query kan draaien buiten PHP om dan ben je half way there.
    ik draaide de query via phpmyadmin, en mn server (abyss) gaf de error 500 ja
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 11:49:06 #82
    62215 qu63
    ..de tijd drinkt..
    pi_57644228
    Hmz, fout lijkt te zitten in het feit dat ik 3 input-velden disabled heb, en dat die waarden dus niet verstuurd worden
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 11:54:43 #83
    62215 qu63
    ..de tijd drinkt..
    pi_57644348
    quote:
    Op donderdag 27 maart 2008 11:49 schreef qu63 het volgende:
    Hmz, fout lijkt te zitten in het feit dat ik 3 input-velden disabled heb, en dat die waarden dus niet verstuurd worden
    readonly does the trick!
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57649623
    Mijn vraag betreft niet MySQL maar MS SQL, maar wellicht dat jullie het toch wel weten.

    Ik heb een tabel. Eén van de kolommen bevat een CHECK-constraint, deze constraint moet ervoor zorgen dat bij bepaalde waarde, bijvoorbeeld als er in deze kolom de waarde "A" voorkomt, dat er gecheckt wordt dat in een andere kolom van dezelfde tupel, de waarde groter moet zijn dan bijvoorbeeld "300".

    Waar ik zelf aan dacht is dat je een soort if-lus maken in de check, alleen dat is niet mogelijk... Voor de rest heb ik al bijna alle predicates geprobeerd...
    Aan dit bericht kunnen geen rechten worden ontleend.
      donderdag 27 maart 2008 @ 16:46:57 #85
    62215 qu63
    ..de tijd drinkt..
    pi_57650400
    Ik heb 2 tabellen
    - meldingen
    - user

    Nu wil ik de meldingen uitlezen, alleen daar staat dus van_id en voor_id in. Hoe kan ik er nou voor zorgen dat ik ipv van_id de naam van de persoon krijg?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 16:54:07 #86
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57650543
    quote:
    Op donderdag 27 maart 2008 16:46 schreef qu63 het volgende:
    Ik heb 2 tabellen
    - meldingen
    - user

    Nu wil ik de meldingen uitlezen, alleen daar staat dus van_id en voor_id in. Hoe kan ik er nou voor zorgen dat ik ipv van_id de naam van de persoon krijg?
    SELECT A.*, B.naam from meldingen A LEFT JOIN user B where A.van_id = B.voor_id
      donderdag 27 maart 2008 @ 16:58:34 #87
    62215 qu63
    ..de tijd drinkt..
    pi_57650638
    quote:
    Op donderdag 27 maart 2008 16:54 schreef ursel het volgende:

    [..]

    SELECT A.*, B.naam from meldingen A LEFT JOIN user B where A.van_id = B.voor_id
    SELECT meldingen.*, user.naam FROM meldingen meldingen LEFT JOIN user users WHERE meldingen.van_id = user.id

    In mijn geval?

    -edit-

    niet dus
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57650699
    een query voor de tabel user erachteraan gooien, met zoiets van "SELECT username FROM user WHERE id = $van_id

    Toch?
      donderdag 27 maart 2008 @ 17:02:43 #89
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57650725
    quote:
    Op donderdag 27 maart 2008 16:58 schreef qu63 het volgende:

    [..]

    SELECT meldingen.*, user.naam FROM meldingen meldingen LEFT JOIN user users where meldingen.van_id = user.id

    In mijn geval?
    SELECT meldingen.*, user.naam FROM meldingen LEFT JOIN user where meldingen.van_id = user.id

    De A en B zijn alleen maar voor korte notatie gebruik. Zeker als je maar een aantal velden getoont wilt hebben is het niet handig om elke keer meldingen ervoor te moeten zetten.
      donderdag 27 maart 2008 @ 17:03:57 #90
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57650749
    quote:
    Op donderdag 27 maart 2008 17:01 schreef mcDavid het volgende:
    een query voor de tabel user erachteraan gooien, met zoiets van "SELECT username FROM user WHERE id = $van_id

    Toch?
    Waarom dubbele DB verbinding als het in 1 query ook kan??
      donderdag 27 maart 2008 @ 17:04:37 #91
    62215 qu63
    ..de tijd drinkt..
    pi_57650767
    quote:
    Op donderdag 27 maart 2008 17:02 schreef ursel het volgende:

    [..]

    SELECT meldingen.*, user.naam FROM meldingen LEFT JOIN user where meldingen.van_id = user.id

    De A en B zijn alleen maar voor korte notatie gebruik. Zeker als je maar een aantal velden getoont wilt hebben is het niet handig om elke keer meldingen ervoor te moeten zetten.
    helaas niet

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where meldingen . van_id = user . id
    LIMIT 0, 30' at line 1
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 17:13:11 #92
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57650927
    quote:
    Op donderdag 27 maart 2008 17:04 schreef qu63 het volgende:

    [..]

    helaas niet

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where meldingen . van_id = user . id
    LIMIT 0, 30' at line 1
    De punt is een koppel teken. Probeer het eens met de spaties ertussenuit.
      donderdag 27 maart 2008 @ 17:13:17 #93
    187069 slacker_nl
    Sicko pur sang
    pi_57650932
    select meldingen.*, user.name from meldingen, user where meldingen.van_id = user.id
    In theory there is no difference between theory and practice. In practice there is.
      donderdag 27 maart 2008 @ 17:14:27 #94
    62215 qu63
    ..de tijd drinkt..
    pi_57650962
    quote:
    Op donderdag 27 maart 2008 17:13 schreef ursel het volgende:

    [..]

    De punt is een koppel teken. Probeer het eens met de spaties ertussenuit.
    zo heb ik em ook ingeveord, phpmyadmin plakt de spties er tussen bij de foutmelding
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 17:14:47 #95
    187069 slacker_nl
    Sicko pur sang
    pi_57650968
    en is het niet

    FROM meldingen LEFT JOIN user ON meldingen.van_id = user.id
    In theory there is no difference between theory and practice. In practice there is.
      donderdag 27 maart 2008 @ 17:20:14 #96
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57651076
    quote:
    Op donderdag 27 maart 2008 17:14 schreef slacker_nl het volgende:
    en is het niet

    FROM meldingen LEFT JOIN user ON meldingen.van_id = user.id
    Dat ook ja..
      donderdag 27 maart 2008 @ 17:20:42 #97
    62215 qu63
    ..de tijd drinkt..
    pi_57651082
    quote:
    Op donderdag 27 maart 2008 17:13 schreef slacker_nl het volgende:
    select meldingen.*, user.name from meldingen, user where meldingen.van_id = user.id
    zo krijg ik wel resultaten, maar dan ook alle resultaten. Ik wil juist alleen de meldingen laten zien voor deze gebruiker
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 17:26:28 #98
    62215 qu63
    ..de tijd drinkt..
    pi_57651215
    quote:
    Op donderdag 27 maart 2008 17:14 schreef slacker_nl het volgende:
    en is het niet

    FROM meldingen LEFT JOIN user ON meldingen.van_id = user.id
    hmz, nogniet helemaal

    1
    2
    3
    4
    5
    6
    7
     id        van_id        voor_id        titel        inhoud        datum        gelezen        naam
    1    1    2    Titel Ongelezen    Ongelezen    1206710100    1    Jantje
    1    1    2    Titel Ongelezen    Ongelezen    1206710100    1    Hiephoi!
    2    2    1    Titel Gelezen    Gelezen    1206710100    1    NULL
    3    1    2    Titel Gelezen    Gelezen    1206621950    1    Jantje
    3    1    2    Titel Gelezen    Gelezen    1206621950    1    Hiephoi!
    4    2    1    Titel Ongelezen    Ongelezen    1206621950    0    NULL


    terwijl dit alleen in mn database staat:
    meldingen:
    1
    2
    3
    4
    5
     id        van_id        voor_id        titel        inhoud        datum        gelezen
    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

    user
    1
    2
    3
     id        naam        inlog        ww        email        sessid
    1     Jantje     qu63     WEG     WEG     WEG
    2     Hiephoi!     admin     WEG     WEG     WEG
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 18:54:33 #99
    62215 qu63
    ..de tijd drinkt..
    pi_57653130
    Ik snap er nog minder van nu -O-

    sql-query:
    1
    2
    3
    4
    5
    6
    <?php
    $q 
    "SELECT * FROM meldingen";
    $res=mysql_query($q);
    $berichten mysql_fetch_array($res);
    print_r($berichten);
    ?>

    Er staan 4 rijen in mn tabel, maar de enige output is dit:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Array
    (
        [0] => 1
        [id] => 1
        [1] => 1
        [van_id] => 1
        [2] => 2
        [voor_id] => 2
        [3] => Titel Ongelezen
        [titel] => Titel Ongelezen
        [4] => Ongelezen
        [inhoud] => Ongelezen
        [5] => 1206710100
        [datum] => 1206710100
        [6] => 1
        [gelezen] => 1
    )


    Wat gaat er nou allemaal fout hier :?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57653218
    quote:
    Op donderdag 27 maart 200817:03 schreef ursel het volgende:

    [..]

    Waarom dubbele DB verbinding als het in 1 query ook kan??
    ja sorry, ik heb tot nu toe in mijn hele leven 3 query's gebouwd (de eerste eergisteren)
    pi_57653496
    quote:
    Op donderdag 27 maart 2008 18:54 schreef qu63 het volgende:
    Ik snap er nog minder van nu

    sql-query:
    [ code verwijderd ]

    Er staan 4 rijen in mn tabel, maar de enige output is dit:
    [ code verwijderd ]

    Wat gaat er nou allemaal fout hier
    Het haalt zowel de associatieve array op als de nummerieke. Je moet even specificeren welke wordt weergegeven

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $q = "SELECT * FROM meldingen";
    $res=mysql_query($q);
    $i=0;
    while($berichten = mysql_fetch_array($res))
     {
      print $berichten[$i];
      $i++;
     }
    ?>


    Zo zou het wel moeten werken.
      donderdag 27 maart 2008 @ 19:13:39 #102
    62215 qu63
    ..de tijd drinkt..
    pi_57653626
    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.
    Dan nog krijg ik maar 1 rij te zien.

    En als ik mysql_fetch_array vervang door mysql_fetch_row krijg ik nog steeds 1 rij terug
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57653877
    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.
      donderdag 27 maart 2008 @ 19:48:04 #104
    62215 qu63
    ..de tijd drinkt..
    pi_57654716
    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
    id        van_id        voor_id        titel        inhoud        datum        gelezen
    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

    dat is de inhoud van de tabel 'meldingen', en die wil ik gewoon in een keer neerplempen. Tot nu toe poept ie alleen de eerste rij er uit -O-
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 27 maart 2008 @ 20:07:39 #105
    32768 DionysuZ
    Respect my authority!
    pi_57655396
    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.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      donderdag 27 maart 2008 @ 20:11:04 #106
    62215 qu63
    ..de tijd drinkt..
    pi_57655508
    quote:
    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.
    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
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57655745
    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
    Nee, je krijgt het nulde element van rij 0, het eerste element van rij 1, het tweede element van rij 2, etc.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $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>';
    ?>
    pi_57657576
    Of met PDO :)
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $q 
    "SELECT * FROM meldingen";
    $stm $pdo->prepare($q);
    $berichten $stm->fetchAll(PDO::FETCH_ASSOC);
    echo 
    '<pre>';
    var_dump($berichten);
    echo 
    '</pre>';
    ?>
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      donderdag 27 maart 2008 @ 21:31:20 #109
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57658115
    quote:
    Op donderdag 27 maart 2008 21:15 schreef SuperRembo het volgende:
    Of met PDO
    [ code verwijderd ]
    Eindelijk iemand ontopic..
    Denk alleen dat qu63 er weinig aan heeft...
      donderdag 27 maart 2008 @ 21:58:03 #110
    62215 qu63
    ..de tijd drinkt..
    pi_57659160
    quote:
    Op donderdag 27 maart 2008 21:31 schreef ursel het volgende:

    [..]

    Eindelijk iemand ontopic..
    Denk alleen dat qu63 er weinig aan heeft...
    precies
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57661659
    Ik heb een stdClass met een aantal members. Hoe kan ik die omzetten naar een key/value array? Recursief als het kan.

    edit:
    Ah, gewoon casten naar een array.
    1
    2
    3
    <?php
    $Array 
    = (array) $Object
    ?>


    Is dan wel niet recursief maar hier kom ik wel uit.
    pi_57671080
    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.
      vrijdag 28 maart 2008 @ 14:20:30 #113
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57672989
    Ik zit momenteel eigenlijk met de volgende situatie:

    Eens in de 2 weken moet ik een lijst van zo'n 10.000 namen, welke ik via een csv file binnen krijg, vergelijken met alle namen in onze huidige database. Dit zijn er ook zo'n 10.000 stuks.

    Uiteindelijk moeten alle namen uit de csv file ook in een tijdelijke db opgeslagen worden.

    Nu zit ik een beetje in een dilema wat nu het beste te doen is qua performance. In ons systeem is een generieke functie welke bestanden van een ftp server afhaalt en de gegevens van de file inleest en terug geeft in een array per regel. Pas daarna wordt gekeken welk bestand het is en dus ook wat er moet gebeuren.

    Elke keer per regel een query uitvoeren om te kijken of er een match is vergt enorm veel queries achter elkaar. Aan de andere kant ben ik bang dat als ik beide in een array ga plaatsen dat dit ook enorm veel resources van de server gaat vergen.

    Iemand enig idee hoe het in performance het beste aan te pakken is om 2 grote arrays met elkaar te vergelijken?
      vrijdag 28 maart 2008 @ 14:58:42 #114
    187069 slacker_nl
    Sicko pur sang
    pi_57673831
    Toevallig ben ik met een soort gelijk iets bezig. Onder perl heb je een Array::Compare functie waarbij je 2 arrays met elkaar kan vergelijken.

    Echter ben ik het op een andere manier aan het doen.

    Ik laad m'n csv file in Oracle (sqlldr is een heel handige tool daarvoor), en vervolgens laat ik een een x-aantal queries los op de DB die de incorrecte entries eruit vist (en ook de correcte entries). De resultaten van elke query worden in cvs format uitgespuugd.

    Doordat je alles in de DB gooit kan je over je gehele base checken of alles goed is, ipv per record/naam.

    1 tool is verantwoordelijk voor het inladen van de data, een andere tool is verantwoordelijk voor de queries en nog een andere wordt gebruikt om alle mogelijke queries uit te voeren waarna de output naar een file wordt geredirect, en ik een wc -l gebruik om het aantal resultaten weer te geven:

    De applicatie die verantwoordelijk is voor de queries heeft een hash waarin alle queries zijn gedefinieerd:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    my %queries = ( name_of_query => {
       description => "Description",
       sql => qq{
    SELECT * FROM table
    WHERE key = value
    -- insert more sql code here
    }, # end of qq
    }, # end of name_of_query
    );


    Vervolgens is er 1 functie die de queries uitvoert op basis van userinput:

    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
    sub sql2csv {
        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;
        }
    }


    Vervolgens kan ik alle checks uitvoeren door hetvolgende:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/bin/bash

    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)


    Voordeel is dat ik het grootste gedeelte in de DB zelf afhandel, en ik zelf niet moeilijk hoef te gaan doen om arrays met elkaar te vergelijken. Ander pluspunt, maar die had ik al aangegeven, ik hoef niet per record een aparte query uit te voeren.
    In theory there is no difference between theory and practice. In practice there is.
      vrijdag 28 maart 2008 @ 15:11:03 #115
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57674039
    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..
      vrijdag 28 maart 2008 @ 16:09:21 #116
    187069 slacker_nl
    Sicko pur sang
    pi_57675300
    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.. :{
    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.. :)

    In beide gevallen een array? ow, voor array::compare, maar als je alles door de DB laat checken heb je dat helemaal niet nodig, en als je het wel nodig hebt, kan je 2 arrays aanmaken, je csv file line by line inlezen, query bakken aan de hand van je csv file, en die loslaten, vervolgens de arrays gaan vergelijken, dan krijg je zoiets:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    my (@array_db, @array_csv);
    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
        }
    }


    Enige lelijke is wat je al aangaf, de hoeveelheid nagenoeg identieke queries. Maar daarom zou ik je csv file in je DB laden zodat je alles met SQL kan checken.

    Waarom moet jij moeilijk gaan proggen als je de DB al het moeilijke werk kan laten doen door een paar goed gekozen queries.
    In theory there is no difference between theory and practice. In practice there is.
      vrijdag 28 maart 2008 @ 16:26:58 #117
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57675708
    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%.
    pi_57703567
    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.
    Je kunt met PostgreSQL toch zeker wel geparameteriseerde query's uitvoeren zonder de hele performance om zeep te helpen?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_57703891
    quote:
    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?
    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 geval met MySQL kan ik geen vergelijking geven aangezien die geen partiële indices ként.
    pi_57705701
    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 geval met MySQL kan ik geen vergelijking geven aangezien die geen partiële indices ként.
    In dat geval lijkt het me good practice om altijd geparameteriseerde query's te gebruiken, tenzij performance een een speciale aanpak vereist.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_57705929
    quote:
    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.
    Klopt, dat zeg ik (op een beetje vage manier) ook ik gebruik zelf echter veel partiële indices om de update-performance te verhogen van mijn database, en dan is dat in de praktijk vrij vervelend.
    pi_57717631
    Welk cms is het makkelijkst skinbaar? Wat je dan kan gebruiken om te implementeren in websites van klanten?
    pi_57727949
    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.
    pi_57728009
    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 soort informatie laten ze dus los? Dus in feite weet 9292ov waar ik woon?
      maandag 31 maart 2008 @ 00:10:54 #125
    62215 qu63
    ..de tijd drinkt..
    pi_57728156
    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!

    heb je een bron daarvoor?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 31 maart 2008 @ 00:11:51 #126
    62215 qu63
    ..de tijd drinkt..
    pi_57728180
    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?
    nee, dat niet.

    Als je 9292ov.nl op je mobiel gebruikt, geeft je telefoon je locatie door. Op basis van de zendmasten, dus niet geheel accuraat
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 31 maart 2008 @ 11:22:27 #127
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57733470
    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%.
    Iemand al suggesties voor mijn probleem??
    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.
    pi_57733699
    quote:
    Op maandag 31 maart 2008 00:10 schreef qu63 het volgende:

    [..]

    dat was ik!

    heb je een bron daarvoor?
    http://life.tweakers.net/(...)lers-voor-hyves.html

    Edit: Ik bedoel:

    http://www.9292ov.nl/9292ov1171.asp >> ( Location based services (KPN en Hi) )
      maandag 31 maart 2008 @ 11:49:24 #129
    62215 qu63
    ..de tijd drinkt..
    pi_57734058
    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) )
    nu is het nog de vraag of kpn/hi LBS standaard doorgeeft, en hoe je het kan uitlezen..
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57734159
    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..
    Het lijkt me dat ze dat niet zomaar doen. Stel je voor dat Jamba achter mijn adres komt!
      maandag 31 maart 2008 @ 11:56:42 #131
    62215 qu63
    ..de tijd drinkt..
    pi_57734210
    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!
    alleen je locatie, en dan nog alleen als je mobielhun site bekijkt.

    Maar idd is het wel wat privacygevoelig..
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 31 maart 2008 @ 13:06:11 #132
    85514 ralfie
    !Yvan eht nioj
    pi_57735441
    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.
    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)
    1
    2
    3
    4
    5
    6
    7
    <?php
    $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
    ?>

    Als dit niet lukt vanwege de max lengte van de SQL query, kun je met array_splice de query opsplitsen natuurlijk
    pi_57736028
    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..
    http://www.marketingfacts(...)tion_based_services/

    Je kunt het dus gewoon bij KPN aanvragen.
      maandag 31 maart 2008 @ 14:28:00 #134
    62215 qu63
    ..de tijd drinkt..
    pi_57736998
    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.
    quote:
    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.
    Dus voor mijn eigen weblogje denk ik niet dat ik in aanmerking kom
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 31 maart 2008 @ 14:32:47 #135
    107951 JortK
    Immer kwaliteitsposts
    pi_57737100
    quote:
    Op maandag 31 maart 2008 14:28 schreef qu63 het volgende:

    [..]


    [..]

    Dus voor mijn eigen weblogje denk ik niet dat ik in aanmerking kom
    Storyboard maken zou ik zeggen
      maandag 31 maart 2008 @ 14:34:59 #136
    62215 qu63
    ..de tijd drinkt..
    pi_57737142
    quote:
    Op maandag 31 maart 2008 14:32 schreef JortK het volgende:

    [..]

    Storyboard maken zou ik zeggen
    mja:
    1) invoerpagina, locatie wordt meegestuurd
    2) verwerking, locatie wordt omgezet naar google-maps locatie
    3) leuk plaatje met allemaal stipjes waar ik een item toegevoegd heb

    That's it
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 31 maart 2008 @ 14:45:22 #137
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57737315
    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
    Met de filter op 80% heb ik maar 2% matches, wat ook maar de bedoeling is dat er maar weinig opstaan..
    Op zich is het wel een idee om uit te werken.
    Ga er ff mee aan de slag..
      maandag 31 maart 2008 @ 18:14:55 #138
    187069 slacker_nl
    Sicko pur sang
    pi_57741629
    Ben van het weekend mezelf wat meer gaan verdiepen in PHP.

    Ik heb een klasse gemaakt, en die wilde ik aanroepen in een andere klasse, maar als ik dat doe krijg ik telkens de foutmelding:

    Parse error: syntax error, unexpected T_NEW in /home/wesleys/sbox/php/lib/OPN/Config.php on line 12


    In het kort:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    class OPNParameters {

            var 
    $params;

            function 
    __construct() {
                    
    $this->params = array();
            }

            function list() {
                  return 
    array_keys($this->params);
            }
    ?>


    De klasse die daarvan gebruik van moet maken:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    class Config {

            function 
    __construct() {

            }

            
    # Problemen..
            
    var $test = new OPNParameters;

            function 
    test() {
                    return new 
    OPNParameters;
            }
    ?>


    Zodra je de new OPNParameters niet in een functie zet, dan krijg je dus de error die ik hierboven beschreven heb.

    Waarom is dit?
    In theory there is no difference between theory and practice. In practice there is.
      maandag 31 maart 2008 @ 18:36:20 #139
    85514 ralfie
    !Yvan eht nioj
    pi_57742147
    vars buiten constructors en member-functies mogen alleen met statisch materiaal geladen worden (strings, integers, etc). Voor al het andere zijn constructors bedoeld
      maandag 31 maart 2008 @ 18:43:06 #140
    187069 slacker_nl
    Sicko pur sang
    pi_57742274
    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...
    In theory there is no difference between theory and practice. In practice there is.
    pi_57743114
    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...
    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)
    pi_57743659
    Haha, daar heeft het mee te maken... OK. Heb dat stuk een paar keer gelezen, maar is niet bij me opgekomen. Thnx.
    pi_57743675
    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)
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57745236
    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)
    Dit is het php-forum hoor
    pi_57747116
    Het heeft met PHP te maken (sessies) en de manier hoe ik dit het beste kan realiseren
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      maandag 31 maart 2008 @ 21:57:44 #146
    85514 ralfie
    !Yvan eht nioj
    pi_57747331
    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)
    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.
    pi_57747726
    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
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 1 april 2008 @ 11:21:17 #148
    187069 slacker_nl
    Sicko pur sang
    pi_57757003
    Ik zit met een "probleem".

    In Perl kan ik hetvolgende doen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    sub functie_1 {
       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;
    }


    Echter in PHP is dit onmogelijk om te doen.

    Met func_get_args() kan ik wel alle argumenten ophalen, en dan krijg ik een array terug, maar ik kan niet deze array doorgeven aan de volgende functie zoals in Perl.
    Ik moet alle variablen uitspellen zodat ik ze daarna weer kan doorgeven aan de volgende functie.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    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;
    }
    ?>


    Mijn vraag is, hoe lossen jullie dit op? Of hebben jullie hier geen problemen mee, omdat jullie het altijd op manier X doen..

    --edit--

    Never mind, de volgende code lost dit probleem op:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    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(12,3,4,5);
    ?>


    1 ding stoor ik me nog wel aan, dat je func_get_* stuff niet kan uitvoeren om door te geven aan een functie. Je moet ten alle tijde een tijdelijke variable toekennen om die door te geven.

    dus..

    1
    2
    3
    4
    5
    <?php
    function test_me() {
         
    call_user_func_array(test_me2func_get_args());
    }
    ?>


    Is niet geldige code..
    Fatal error: func_get_args(): Can't be used as a function parameter in /home/wesleys/sbox/php/bin/x.php on line 32

    [ Bericht 14% gewijzigd door slacker_nl op 01-04-2008 18:46:03 (perl functies in php is lelijk) ]
    In theory there is no difference between theory and practice. In practice there is.
    pi_57758794
    quote:
    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
    je kunt toch gewoon
    1
    2
    3
    <?php
    echo "javascriptjavascriptlalal" $variable1 "nog meer javascript" $variable2
    ?>


    enz doen?
    pi_57759740
    quote:
    Op dinsdag 1 april 2008 12:53 schreef mcDavid het volgende:

    [..]

    je kunt toch gewoon
    [ code verwijderd ]

    enz doen?
    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)

    Heb het nu opgelost met xmlhttp (werkt nog niet infiref0x) zie http://test.ipcounter.nl/stat/ipcounter/datum.html en ga maar eens met je muis over de afbeelding heen (vooral daar waar rondjes te vinden zijn )
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57759777
    @slacker_nl: waarom geef je dan geen array mee? en ga je deze benutten?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    function test($in = array())
    {
        foreach(
    $in AS $x => $y)
        {
        
    // enzo
        
    }
    }

    test(array(1,2,3,4,5,6));
    ?>


    Tevens een vraag, hoe kun je met PDO zonder een count te doen uitlezen hoeveel resultaten er zijn?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 1 april 2008 @ 13:51:54 #152
    62215 qu63
    ..de tijd drinkt..
    pi_57759941
    Goed, ik heb nu zelf dit weten te brouwen, maar het kan vast korter :P
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    $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>";
    }
    ?>
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      dinsdag 1 april 2008 @ 16:52:57 #153
    187069 slacker_nl
    Sicko pur sang
    pi_57762932
    Een perl_join functie. Deze functie kan arrays aan en strings.. hashes zijn nog niet ondersteund, maar dat komt wel in v2.

    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
    <?php
    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;
    }
    ?>


    [ Bericht 9% gewijzigd door slacker_nl op 01-04-2008 17:17:15 ]
    In theory there is no difference between theory and practice. In practice there is.
      dinsdag 1 april 2008 @ 17:40:05 #154
    187069 slacker_nl
    Sicko pur sang
    pi_57763599
    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 ]
    Uhm... Ik snap je vraag niet.
    quote:
    Tevens een vraag, hoe kun je met PDO zonder een count te doen uitlezen hoeveel resultaten er zijn?
    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.

    Maar als je DB het ondersteund: http://nl3.php.net/manual/en/function.PDOStatement-rowCount.php
    In theory there is no difference between theory and practice. In practice there is.
    pi_57764537
    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!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 1 april 2008 @ 18:54:10 #156
    187069 slacker_nl
    Sicko pur sang
    pi_57764724
    Ok, I'll bite. Waarom moet je eerst weten hoeveel records je ophaalt voordat je er wat mee gaat doen?
    In theory there is no difference between theory and practice. In practice there is.
      dinsdag 1 april 2008 @ 19:00:21 #157
    62215 qu63
    ..de tijd drinkt..
    pi_57764824
    quote:
    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 ]
    Als die voor mij bedoelt was, hou ik het lekker bij mn ouder scriptje
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      dinsdag 1 april 2008 @ 19:07:40 #158
    62215 qu63
    ..de tijd drinkt..
    pi_57764948


    Iemand enig idee hoe ik dit kan voorkomen/oplossen?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      dinsdag 1 april 2008 @ 19:28:39 #159
    85514 ralfie
    !Yvan eht nioj
    pi_57765356
    quote:
    Op dinsdag 1 april 2008 19:07 schreef qu63 het volgende:
    [ afbeelding ]

    Iemand enig idee hoe ik dit kan voorkomen/oplossen?
    je query proper escapen... (bijv dmv mysql_escape_string() )
    pi_57765414
    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
    Houd je mond idd maar. Ik zie nergens in die post een referentie naar jou probleem/code.
      dinsdag 1 april 2008 @ 19:34:59 #161
    65490 whoops
    Home is where the heart is...
    pi_57765465
    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!
    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...
    In the beginning, the universe was created. This made a lot of people very angry and has been widely regarded as a bad move.
      dinsdag 1 april 2008 @ 19:58:31 #162
    62215 qu63
    ..de tijd drinkt..
    pi_57765863
    quote:
    Op dinsdag 1 april 2008 19:28 schreef ralfie het volgende:

    [..]

    je query proper escapen... (bijv dmv mysql_escape_string() )
    hmz, zit wat in ja

    niet mn eigen cms, dus t was ff zoeken naar de fout

    bedankt!
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57766565
    quote:
    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...
    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
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 1 april 2008 @ 21:26:37 #164
    65490 whoops
    Home is where the heart is...
    pi_57767372
    quote:
    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
    Ten eerste moet je vooral gebruiken wat voor jou het beste werkt, wat die keuze ook is

    Zelf ben ik van mening dat je altijd bereid moet zijn op eventuele wijzigingen, zeker wat dit betreft. Je weet nooit wat voor DB's je in de toekomst tegenkomt. En dan is PDO echt niet de enige manier om dat te doen, je kan ook gewoon zelf een generieke wrapper schrijven waarmee je meerdere DB's kan aanspreken. Ik neig er naar om steeds meer SQLite DB's te gebruiken op plekken waar het gebruik van een MySQL server teveel overhead is. Hiervoor is PDO ideaal want als ik het project moet opschalen kan ik het altijd eenvoudig naar MySQL of Oracle porten. 1 regel aanpassen en gaan...

    Het feit dat het Object Oriented is kan een keuze zijn om voor PDO te kiezen. Als je hele project OO geprogrammeerd is het wel zo netjes om ook je DB zo te benaderen.

    Prepared statements zijn erg goed. Ik heb er zelf alleen maar even aan geroken maar het biedt veel meer mogelijkheden over het handmatig queries samenstellen. Om met de beveiliging te beginnen?

    Snap je van bovenstaande punten de voordelen echt niet, ookal gaan die voordelen voor jou op dit moment misschien niet op?
    In the beginning, the universe was created. This made a lot of people very angry and has been widely regarded as a bad move.
    pi_57771860
    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.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_57772625
    p_join is klaar.

    Hij doet vrijwel hetzelfde als de implode en/of join van PHP, echter accepteert p_join naast arrays ook hashes en strings. In elke willekeurige volgorde. De functie "print" de arrays/hashes (in PHP zijn ze hetzelfde datatype) niet recursief. Je zal 'Array' in je output zien in dat geval. Dit is ook de reden dat tijdens de join op reguliere arrays error reporting is aangepast.

    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
    <?php
    /* 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"" ,0strlen($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(",");
    ?>


    Output:
    string,Key,Value,Key 2,Value 2,Hello,Array,array,string 2
    0,1,1,2,Green,Apple,2,Array
    Warning..

    Warning: p_join requires more then 1 parameter in <file> on line <line_no>

    [ Bericht 4% gewijzigd door slakkie op 02-04-2008 23:40:12 ]
    pi_57773322
    De functie zal een array geven als je "/" als eerst parameter gebruikt
    (Waarom staat die regexp replace er eigenlijk in?)
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_57773344
    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...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_57773707
    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...
    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).

    Stel dat je er niet onderuit komt om één query duizend keer uit te voeren, dan kun je 'm beter preparen en vervolgens duizend keer executen met verschillende parameters
      woensdag 2 april 2008 @ 10:50:22 #170
    187069 slacker_nl
    Sicko pur sang
    pi_57775413
    quote:
    Op woensdag 2 april 2008 07:50 schreef SuperRembo het volgende:
    (Waarom staat die regexp replace er eigenlijk in?)
    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:
    De functie zal een array geven als je "/" als eerst parameter gebruikt
    Deze mis ik Maar kan volgens mij wel problemen opleveren in de regexp dus moet dat ff testen...

    Gaf problemen met de regexp, gekozen voor de volgende oplossing:

    Volgende is vervangen:

    $result .= _p_join_assoc($sep, $val);
    $result = preg_replace("/^$sep/", "", $result);

    Door:

    $result = substr_replace( _p_join_assoc($sep, $val), "" ,0, strlen($sep));

    [ Bericht 7% gewijzigd door slacker_nl op 02-04-2008 11:22:31 ]
    In theory there is no difference between theory and practice. In practice there is.
    pi_57778216
    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.
    [..]
    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).
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_57780678
    Vraagje, waarom mag het volgende niet

    1
    2
    3
    4
    function getHost ($ip = $_SERVER['REMOTE_ADDR'])
    {
        // lees gebruikershost uit
    }


    en dit wel

    1
    2
    3
    4
    function getHost ($ip = "ipadres")
    {
        // lees gebruikershost uit
    }
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 2 april 2008 @ 15:59:11 #173
    187069 slacker_nl
    Sicko pur sang
    pi_57781837
    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).
    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.

    [ Bericht 16% gewijzigd door slacker_nl op 02-04-2008 16:05:35 ]
    In theory there is no difference between theory and practice. In practice there is.
      woensdag 2 april 2008 @ 16:02:10 #174
    37869 TieMeZ
    Eigen negers eerst!
    pi_57781895
    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 ]



    moet een scalar zijn

    http://nl.php.net/manual/(...)ns.arguments.default

    quote:
    The default value must be a constant expression, not (for example) a variable or class member.
    pi_57782164
    Is het mooi werk als je een site maakt wat als volgt in elkaar steekt:

    Je hebt een index.php.
    In die index include je 3 dingen:
    -clock
    -side_menu
    -data
    deze drie dingen stop je in een mapje genaamd 'scripts'.
    Die side_menu en data zijn 2 switch opstellingen die diverse menu's + bijbehorende tekst bevatten.

    Dus eigenlijk gebruik ik in de index include scriptjes en dan bij side_menu en data weer.
    Is dat ok?

    Hoe kan ik mappen en pagina's beveiligen? Bijvoorbeeld dat je niet in mappen kan kijken als je dat in de url typt en pagina's waarvan de link niet op de site staan. Moet ik dan werken met array's?

    [ Bericht 12% gewijzigd door GioStyle op 02-04-2008 16:21:40 ]
      woensdag 2 april 2008 @ 16:36:32 #176
    187069 slacker_nl
    Sicko pur sang
    pi_57782627
    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.
    In theory there is no difference between theory and practice. In practice there is.
    pi_57782965
    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.
    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?
      woensdag 2 april 2008 @ 17:02:05 #178
    62215 qu63
    ..de tijd drinkt..
    pi_57783166
    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?
    je kan ook een lege index.php of index.html maken, dan laat je webserver alleen die pagina zien (dis dus leeg is)
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57783341
    Als er helemaal geen directory's gelist mogen worden, en je dus alles via links wilt aanbieden, dan kun je natuurlijk met apache-instellingen directory listing verbieden
      woensdag 2 april 2008 @ 17:13:48 #180
    187069 slacker_nl
    Sicko pur sang
    pi_57783414
    Directory listings en index.html's plaatsen verhinderd niemand om de files alsnog op te vragen... Als je niet wilt dat mensen die files kunnen lezen moet je dat expliciet configgen.
    In theory there is no difference between theory and practice. In practice there is.
    pi_57783506
    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

    Dit bedoelde ik dus!
      woensdag 2 april 2008 @ 19:27:33 #182
    84926 WyriHaximus
    Release the hounds smithers!
    pi_57786346
    quote:
    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)
    Meestal zet ik er een redirect in naar de main page, werkt ook prima .
    phluphy for president!
    pi_57786539
    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?
    pi_57786598
    Nu heb ik nog een klein ander vraagje:

    Hoe kan je een .php bestand dat geincluded wordt alleen laten weergeven wanneer deze geincluded wordt.
    Voorbeeld:
    site.nl/index.php?page=reflection

    Reflection wordt geincluded.
    Maar deze pagina kan je ook bekijken als je bijvoorbeeld het volgende typt:
    site.nl/reflection.php

    Maar dan zie je alleen tekst zonder lay-out, omdat deze als include gebruikt wordt.
    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?
    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.
    pi_57786706
    In index.php doe iets als dit:

    1
    2
    3
    <?php
    $included 
    true;
    ?>


    En dan in reflection.php

    1
    2
    3
    4
    5
    <?php
    if(isset($included)) {
      
    // toon alles
    }
    ?>
    pi_57786943
    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.
    Bij mij niet als ik naar bijv. http://duft.nl/web/ ga.
    Het is wel gewoon een publieke map.
    pi_57787030
    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.
    Gebruik je htaccess?
    pi_57787650
    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 ]

    Hoe verwerk ik dat in? :

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

    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');

    }
    ?>
    pi_57787768
    quote:
    Op woensdag 2 april 200819:54 schreef GioStyle het volgende:

    [..]

    Gebruik je htaccess?
    Jup maar daarin staat het niet ingesteld.
    Options Indexes erin zetten zorgt alleen maar dat álle indexpagina's het niet meer doen
    pi_57788013
    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...
    pi_57788053
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    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');

    }
    ?>


    home.php

    1
    2
    3
    4
    5
    <?php
    if(isset($included)) {
      echo 
    'Welkom op de Home pagina van deze site!';
    }
    ?>


    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.
    pi_57788861
    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...
    Dat lijkt me ook een mogelijke oplossing. Bedankt!
    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.
    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.
    pi_57794674
    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.
    en done.
      donderdag 3 april 2008 @ 14:18:29 #194
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57804282
    Wie weet er ook alweer hoe ik ervoor kan zorgen dat ik in de command prompt alleen PHP hoef in te tikken ipv de gehele locatie van waar PHP geinstalleerd staat?

    Dus eigenlijk alleen:

    PHP PHP_FILE_TO_OPEN.php
      donderdag 3 april 2008 @ 14:27:56 #195
    187069 slacker_nl
    Sicko pur sang
    pi_57804467
    onder windows?

    wat dacht je van je path setten

    set PATH=%PATH%:"c:\program files\php\bin"
    In theory there is no difference between theory and practice. In practice there is.
    pi_57823174
    Het is zeker niet mogelijk om PHP_EOL aan te passen op script level?
      vrijdag 4 april 2008 @ 10:01:52 #197
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57823395
    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"
    Stonden idd nog wat settings niet correct, maar had op het moment ff niet de tijd om dat uitgebreid op te zoeken..
    Zo vaak doe ik PHP nou ook weer niet installeren..

    Iig bedankt..
    pi_57824229
    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?
      vrijdag 4 april 2008 @ 12:27:03 #199
    85514 ralfie
    !Yvan eht nioj
    pi_57826624
    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?
    dat kan makkelijk met getimagesize()
    pi_57827172
    quote:
    Op vrijdag 4 april 2008 12:27 schreef ralfie het volgende:

    [..]

    dat kan makkelijk met getimagesize()
    Het werkt, thnx. Ik wist dat het zoiets simpels zou moeten zijn.
    pi_57834172
    Ik wil binnenkort een nieuw project beginnen met nette PHP5 OOP code, ajax etc.
    Dit is voor mij ook heel duidelijk allemaal, echter zit ik de laatste dagen te twijfelen over bepaalde punten. Bijv. hoe te includen, hoe classes, variables benaderen.

    Enkele punten:

    De database class zou binnen in de constructor vaste VAR properties kunnen hebben zoals username, pass. Maar dit kan natuurlijk ook via globale variables($_GLOBALS) vanuit een config bestand. Dus globaal benaderen, intern defineren, of juist meegeven aan constructor via globals?

    Het zelfde bij classes die bijv. de Database class gebruiken heb ik mijn vragen. Het database object kan ik meegeven aan een andere class. OF deze constructor maakt gebruik van de globale DB variable van het config bestand. Dat laatste klinkt makkelijk, maar dan is de class weer erg afhankelijk van die global en naamgeving.

    Verder emmer ik over of ik gewoon een loader.php moet maken die meteen alles aanmaakt, maargoed dan worden dus op elke pagina alle classes ingeladen terwijl ik ze soms niet eens nodig heb. Maar dat maakt wel weer veel kortere code in bijv. index.php, home.php

    Hoe denken jullie hierover? Ik hoor graag van de ervaren PHP'ers
    pi_57834908
    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.
    PDO lijkt heel interessant, maar zijn er veel hosters die het ondersteunen?
    pi_57836897
    quote:
    Op vrijdag 4 april 2008 18:57 schreef mausie het volgende:
    Verder emmer ik over of ik gewoon een loader.php moet maken die meteen alles aanmaakt, maargoed dan worden dus op elke pagina alle classes ingeladen terwijl ik ze soms niet eens nodig heb. Maar dat maakt wel weer veel kortere code in bijv. index.php, home.php
    In PHP 5 kun je een __autoload() functie definiëren die automatisch de benodigde files kan includen op het moment dat je een bepaalde class gebruikt.
    quote:
    Op vrijdag 4 april 2008 19:34 schreef Light het volgende:
    PDO lijkt heel interessant, maar zijn er veel hosters die het ondersteunen?
    Of het er veel zijn weet ik niet, maar Ik ben onlangs overgestapt naar een andere hoster die PHP 5 draait
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_57837111
    quote:
    Op vrijdag 4 april 2008 21:02 schreef SuperRembo het volgende:

    Of het er veel zijn weet ik niet, maar Ik ben onlangs overgestapt naar een andere hoster die PHP 5 draait
    Volgens mij is PHP5 geen garantie dat PDO wordt ondersteund. Helaas.
    pi_57837444
    quote:
    Op vrijdag 4 april 2008 18:57 schreef mausie het volgende:
    verhaaltje
    offtopic
    Waarom ga je je bekommeren over het maken van database class terwijl er al zoveel zijn waarom denken mensen altijd het wiel twee keer te moeten uitvinden. Gebruik gewoon frameworks ofzo. Igg gebruik ik gewoon zend, niet echt een framework maar goed gaat even om het punt . Ga echt geen moeite meer doen om zulke dingen zelf te maken terwijl er zoveel mooiere dingen zijn gemaakt dan de mijne ooit zal worden (In de beperkte tijd die ik dan heb)
      zaterdag 5 april 2008 @ 13:53:48 #206
    62215 qu63
    ..de tijd drinkt..
    pi_57848764
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $to      
    'qu63@qu63.com';
    $subject 'Test-bericht';
    $message 'Dit is een test-bericht';
    $headers 'From: Test-user <iBus@ahrenstravel.nl>' "\r\n" .
        
    'Reply-To: iBus@ahrenstravel.nl' "\r\n" .
        
    'X-Mailer: PHP/' phpversion();

    mail($to$subject$message$headers);
    ?>


    geeft een foutmelding:
    Warning: mail() [function.mail]: SMTP server response: 501 5.5.4 Invalid Address in mail.php on line 11

    Ik weet dat de fout zit in regel 5, nl "Test-user <iBus@ahrenstravel.nl>", als ik het doe zoals in regel 6 werkt het wel. Wat doe ik fout in regel57?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57848862
    quote:
    Op zaterdag 5 april 2008 13:53 schreef qu63 het volgende:

    [ code verwijderd ]

    geeft een foutmelding:
    Warning: mail() [function.mail]: SMTP server response: 501 5.5.4 Invalid Address in mail.php on line 11

    Ik weet dat de fout zit in regel 5, nl "Test-user <iBus@ahrenstravel.nl>", als ik het doe zoals in regel 6 werkt het wel. Wat doe ik fout in regel57?
    Mogelijk door het minteken, ik heb wat RFCs doorgelezen maar kom er niet echt achter waarom het niet werkt. Probeer dit eens:
    1From: "Test-user" <iBus@ahrenstravel.nl>
      zaterdag 5 april 2008 @ 14:07:07 #208
    62215 qu63
    ..de tijd drinkt..
    pi_57848958
    quote:
    Op zaterdag 5 april 2008 14:00 schreef JeRa het volgende:

    [..]

    Mogelijk door het minteken, ik heb wat RFCs doorgelezen maar kom er niet echt achter waarom het niet werkt. Probeer dit eens:
    [ code verwijderd ]
    nope, zelfde melding.

    en ook met

    From: Testuser <iBus@ahrenstravel.nl>

    krijg ik dezelfde melding.

    wat wel werkt is:

    From: iBus@ahrenstravel.nl

    Maar zo wil ik het dus niet
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57849703
    quote:
    Op zaterdag 5 april 2008 13:53 schreef qu63 het volgende:

    [ code verwijderd ]

    geeft een foutmelding:
    Warning: mail() [function.mail]: SMTP server response: 501 5.5.4 Invalid Address in mail.php on line 11

    Ik weet dat de fout zit in regel 5, nl "Test-user <iBus@ahrenstravel.nl>", als ik het doe zoals in regel 6 werkt het wel. Wat doe ik fout in regel57?
    Werkt het zo wel?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $to      
    'qu63@qu63.com';
    $subject 'Test-bericht';
    $message 'Dit is een test-bericht';
    $from 'From: Test-user <iBus@ahrenstravel.nl>\r\n';
    $reply 'Reply-To: iBus@ahrenstravel.nl\r\n'
    $params 'X-Mailer: PHP/' phpversion();

    $headers $from.$reply.$params;

    mail($to$subject$message$headers);
    ?>


    Bovendien begrijp ik niet waarom je achter het mailadres de string breekt met een punt om vervolgens de string gelijk weer te vervolgen met een \r\n en een " ipv een '.

    1
    2
    3
    <?php
    'From: Test-user <iBus@ahrenstravel.nl>' "\r\n"
    ?>

    zou zo moeten:
    1
    2
    3
    <?php
    'From: Test-user <iBus@ahrenstravel.nl>\r\n'
    ?>
    pi_57849744
    @Tarabass

    Die escape characters werken niet in single quoted strings. Mensen (zoals ik) die het liefste met single quoted strings werken zetten daarom die escape characters in losse, double quoted strings
      zaterdag 5 april 2008 @ 15:05:54 #211
    62215 qu63
    ..de tijd drinkt..
    pi_57849855
    quote:
    Op zaterdag 5 april 2008 14:56 schreef Tarabass het volgende:

    [..]

    Werkt het zo wel?
    [ code verwijderd ]

    Bovendien begrijp ik niet waarom je achter het mailadres de string breekt met een punt om vervolgens de string gelijk weer te vervolgen met een \r\n en een " ipv een '.
    [ code verwijderd ]

    zou zo moeten:
    [ code verwijderd ]
    Ik heb het direct over genomen van http://nl2.php.net/manual/en/function.mail.php (example #2),

    En helaas werkt jouw code ook niet, in eerste instantie omdat er een ; miste, maar daarna kreeg ik weer een server response: 501 5.5.4 Invalid Address terug
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57849908
    quote:
    Op zaterdag 5 april 2008 15:05 schreef qu63 het volgende:

    [..]

    Ik heb het direct over genomen van http://nl2.php.net/manual/en/function.mail.php (example #2),

    En helaas werkt jouw code ook niet, in eerste instantie omdat er een ; miste, maar daarna kreeg ik weer een server response: 501 5.5.4 Invalid Address terug
    Je zou tijdelijk PHPMailer kunnen proberen om te kijken of het probleem 'm in het adres ligt of bij de server ?
      zaterdag 5 april 2008 @ 15:18:07 #213
    62215 qu63
    ..de tijd drinkt..
    pi_57850063
    quote:
    Op zaterdag 5 april 2008 15:09 schreef JeRa het volgende:

    [..]

    Je zou tijdelijk PHPMailer kunnen proberen om te kijken of het probleem 'm in het adres ligt of bij de server ?
    ik kopieër het letterlijk van de php.net site. Het probleem zal dus aan mijn server liggen, gok ik.
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zaterdag 5 april 2008 @ 15:20:11 #214
    62215 qu63
    ..de tijd drinkt..
    pi_57850087
    quote:
    Op zaterdag 5 april 2008 15:18 schreef qu63 het volgende:

    [..]

    ik kopieër het letterlijk van de php.net site. Het probleem zal dus aan mijn server liggen, gok ik.
    jup, geupload naar een andere server en daar werkt het wel.
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57850999
    Dat die escapes niet werkte met enkele quote's wist ik niet, heb het inderdaad in mijn classe met dubbele quote's staan. Weer wat geleerd

    @qu63
    Dat we niet zagen waar het aan lag is dus niet gek te noemen Mooi dat het iig werkt op die andere server, dan weet je wat je te doen staat


    Ik heb trouwens ook een vraagje. Ik geef nu variables mee in de url, maar ik wil dat het dus in de browser gezien wordt als folders. Voorbeeldje:
    1
    2
    3
    4
    <a href="index.php?<php echo $naam; ?>=do&id=<?php echo $id; ?>">link</a>

    //Resultaat
    http://www.mijnwebsite.nl/tarabass/1/


    [ Bericht 19% gewijzigd door Tarabass op 05-04-2008 16:44:32 ]
      zaterdag 5 april 2008 @ 16:31:04 #216
    62215 qu63
    ..de tijd drinkt..
    pi_57851053
    quote:
    Op zaterdag 5 april 2008 16:26 schreef Tarabass het volgende:
    Dat we niet zagen waar het aan lag is dus niet gek te noemen Mooi dat het iig werkt op die andere server, dan weet je wat je te doen staat
    Ehm, ja en nee eigenlijk

    Ik weet dat het dus aan mijn pc ligt, maar geen idee aan welke instellingen e.d., of dat het mn provider (Planet) is die het niet accepteerd
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zaterdag 5 april 2008 @ 21:18:34 #217
    32768 DionysuZ
    Respect my authority!
    pi_57856465
    quote:
    Op zaterdag 5 april 2008 16:26 schreef Tarabass het volgende:
    Dat die escapes niet werkte met enkele quote's wist ik niet, heb het inderdaad in mijn classe met dubbele quote's staan. Weer wat geleerd

    @qu63
    Dat we niet zagen waar het aan lag is dus niet gek te noemen Mooi dat het iig werkt op die andere server, dan weet je wat je te doen staat


    Ik heb trouwens ook een vraagje. Ik geef nu variables mee in de url, maar ik wil dat het dus in de browser gezien wordt als folders. Voorbeeldje:
    [ code verwijderd ]


    mod_rewrite =)
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_57856657
    quote:
    Op zaterdag 5 april 2008 21:18 schreef DionysuZ het volgende:

    [..]

    mod_rewrite =)
    Thx! Het was hier al eens voorbij gekomen volgens mij maar was het alweer kwijt. Ga me maar eens inlezen
      maandag 7 april 2008 @ 12:54:32 #219
    86072 thatsme
    and That's you!
    pi_57887407
    Ik heb een probleem

    Ik heb mijn pagina opgebouwd en doormiddel van een header en een footer wordt de pagina in de juiste layout gezet.
    In de header staat ook een verwijzing naar een stylesheet (relatief). In de root is het in het script:
    include("header.php)
    in een submap
    include("../header.php)
    het probleem is dat dat de header "denkt" dat die in die submap staat waardoor deze de stylesheet niet meer kan vinden. Is er een manier om de header te includen zonder dat ik de url naar de stylesheet "vast" moet zetten met de complete url?
    I never joke about my work!
    1: Ik heb altijd gelijk
    2: Zo niet dan treedt regel 1 vanzelf in werking.
    pi_57888789
    quote:
    Op maandag 7 april 2008 12:54 schreef thatsme het volgende:
    Ik heb een probleem

    Ik heb mijn pagina opgebouwd en doormiddel van een header en een footer wordt de pagina in de juiste layout gezet.
    In de header staat ook een verwijzing naar een stylesheet (relatief). In de root is het in het script:
    include("header.php)
    in een submap
    include("../header.php)
    het probleem is dat dat de header "denkt" dat die in die submap staat waardoor deze de stylesheet niet meer kan vinden. Is er een manier om de header te includen zonder dat ik de url naar de stylesheet "vast" moet zetten met de complete url?
    Als je echt met submappen wilt werken dan kun je dit oplossen met de volgende HTML-tag in je <head>-sectie:
    1<base href="http://mijndomein.nl/hoofdmap/" />

    Alle relatieve locaties (zoals die naar je CSS-bestanden en al je relatieve hyperlinks) zullen zich nu baseren op die base locatie

    [ Bericht 6% gewijzigd door JeRa op 07-04-2008 14:15:17 ]
      maandag 7 april 2008 @ 14:32:01 #221
    32768 DionysuZ
    Respect my authority!
    pi_57889183
    of gewoon je style links omschrijven van styles.css naar /hoofdmap/styles.css
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_57889852
    quote:
    Op maandag 7 april 200812:54 schreef thatsme het volgende:
    Is er een manier om de header te includen zonder dat ik de url naar de stylesheet "vast" moet zetten met de complete url?
    Waarom zou je dat in hemelsnaam niet willen? een makkelijkere manier is er niet.
      maandag 7 april 2008 @ 15:51:20 #223
    84926 WyriHaximus
    Release the hounds smithers!
    pi_57890582
    quote:
    Op maandag 7 april 2008 14:09 schreef JeRa het volgende:

    [..]

    Als je echt met submappen wilt werken dan kun je dit oplossen met de volgende HTML-tag in je <head>-sectie:
    [ code verwijderd ]

    Alle relatieve locaties (zoals die naar je CSS-bestanden en al je relatieve hyperlinks) zullen zich nu baseren op die base locatie
    Weet wel dat slecht gebouwde bots die tag compleet negeren of slecht intrepetreren en gaan loopen als je pech hebt. Is iig iets om in je achterhoofd te houden . De kans dat het zon bot langs komt is niet ontzettend hoog maar als het fout gaat kan je dat flink wat dataverkeer kosten of in het ergste geval een server die op ze bek gaat.
    phluphy for president!
      maandag 7 april 2008 @ 16:52:09 #224
    187069 slacker_nl
    Sicko pur sang
    pi_57891782
    Hoezo zou die bot gaan loopen dan? owja, slecht geschreven bots
    In theory there is no difference between theory and practice. In practice there is.
      maandag 7 april 2008 @ 18:09:09 #225
    84926 WyriHaximus
    Release the hounds smithers!
    pi_57893270
    quote:
    Op maandag 7 april 2008 16:52 schreef slacker_nl het volgende:
    Hoezo zou die bot gaan loopen dan? owja, slecht geschreven bots
    Moet er nog een keer detectie voor gaan schrijven. Had er laatst een die had er 2.5GB in een uurtje of 8 door heen geschoten . Nu we toch in dit straat je zitten, hebben jullie veel last van dit soort shit (loopende botjes, remote file inclusions, sql injections) en zo ja wat doen jullie er tegen? Zelf ban ik alles wat http:// ergens na de host bit in de URL heeft.
    phluphy for president!
    pi_57896332
    quote:
    Op maandag 7 april 2008 18:09 schreef WyriHaximus het volgende:
    [..]
    Zelf ban ik alles wat http:// ergens na de host bit in de URL heeft.
    Dus als ik op jouw site zoek op "http://" dan ben ik meteen gebanned?

    Ik heb er zelf (nog) geen last van gehad, zoveel bezoekers krijg ik ook niet. Het valt me wel op dat sommige bots idioot vaak langs komen, vooral BaiduBot en Yahoo!Slurp.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_57896632
    quote:
    Op zaterdag 5 april 2008 16:31 schreef qu63 het volgende:

    [..]

    Ehm, ja en nee eigenlijk

    Ik weet dat het dus aan mijn pc ligt, maar geen idee aan welke instellingen e.d., of dat het mn provider (Planet) is die het niet accepteerd
    Gebruik je mail-adres eens van Planet als afzender.
    ne okuyon, bokmu var?
      maandag 7 april 2008 @ 20:56:15 #228
    84926 WyriHaximus
    Release the hounds smithers!
    pi_57896834
    quote:
    Op maandag 7 april 2008 20:32 schreef SuperRembo het volgende:

    [..]

    Dus als ik op jouw site zoek op "http://" dan ben ik meteen gebanned?

    Ik heb er zelf (nog) geen last van gehad, zoveel bezoekers krijg ik ook niet. Het valt me wel op dat sommige bots idioot vaak langs komen, vooral BaiduBot en Yahoo!Slurp.
    Zolang het in de URL staat wel. Draait al een half jaar en nog nooit false positives gehad, hou het nog steeds wel in de gaten. Het begon op een gegeven moment op te vallen dat er zeker 20 van dat soort aanvallen per dag waren. Heb toen maar stukje code gemaakt wat de reuqest uri checkt of er z'n soort aanval in zit of niet en IP ban als er zon aanval in zit.

    BaiduBot of Slurpzie ik niet zo bar vaak, google veel vaker. MSN kont ook redelijk vaak langs maar goed dat zijn lieve bots .
    phluphy for president!
      maandag 7 april 2008 @ 21:53:23 #229
    62215 qu63
    ..de tijd drinkt..
    pi_57898147
    quote:
    Op maandag 7 april 2008 20:47 schreef saban het volgende:

    [..]

    Gebruik je mail-adres eens van Planet als afzender.
    he, das een goeie, maar ik kan vanaf huis ook met andere mailadressen mailen (maar die gebruiken dan wel een andere smtp-host idd..)

    ff proberen!
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 7 april 2008 @ 22:00:14 #230
    62215 qu63
    ..de tijd drinkt..
    pi_57898315
    quote:
    Op maandag 7 april 2008 21:53 schreef qu63 het volgende:

    [..]

    he, das een goeie, maar ik kan vanaf huis ook met andere mailadressen mailen (maar die gebruiken dan wel een andere smtp-host idd..)

    ff proberen!
    dat was het probleem dus niet

    verzenden lukt ook met een ander mailadres als afzender (ibus@ahrenstravel.nl), maar als ik het uitgebreider wil (testuser <ibus@ahrenstravel.nl>) dan hangt ie dus. Het zit em dus echt in de <>'s, en niet in de domeinnaam..
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      dinsdag 8 april 2008 @ 08:26:33 #231
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57903713
    Kan iemand mij eigenlijk vertellen wat het daadwerkelijke verschil is tussen FLOAT en DECIMAL in MySQL?

    Merk bijv. dat FLOAT getallen ver achter de komma wil veranderen. Dus als ik 6.2 opsla terwijl de FLOAT (22,10) is, dan maakt hij er 6.1999999980 van ofzoiets. Maar vaak niet exact. DECIMAL doet dat wel. Maar wat is dan het nut van het gebruik van FLOAT?
    pi_57904190
    quote:
    Op dinsdag 8 april 2008 08:26 schreef ursel het volgende:
    Kan iemand mij eigenlijk vertellen wat het daadwerkelijke verschil is tussen FLOAT en DECIMAL in MySQL?

    Merk bijv. dat FLOAT getallen ver achter de komma wil veranderen. Dus als ik 6.2 opsla terwijl de FLOAT (22,10) is, dan maakt hij er 6.1999999980 van ofzoiets. Maar vaak niet exact. DECIMAL doet dat wel. Maar wat is dan het nut van het gebruik van FLOAT?
    Een float neemt minder geheugen/schijfruimte in en is qua berekeningen sneller.
      dinsdag 8 april 2008 @ 09:12:17 #233
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57904261
    quote:
    Op dinsdag 8 april 2008 09:08 schreef JeRa het volgende:

    [..]

    Een float neemt minder geheugen/schijfruimte in en is qua berekeningen sneller.
    Ok, maar waarom slaat hij de waardes zo raar op dan?
    Aangezien de nauwkeurigheid belangrijker is dan performance zullen we denk ik wel een switch gaan maken.

    Is dit verschil zo groot dan eigenlijk?
    pi_57904339
    quote:
    Op dinsdag 8 april 2008 09:12 schreef ursel het volgende:

    [..]

    Ok, maar waarom slaat hij de waardes zo raar op dan?
    Float waardes worden vaak als 32-bits of 64-bits (ik geloof zo in MySQL) getallen opgeslagen. In plaats van alle cijfers naar binaire codes om te zetten wordt er een wiskundige formule toegepast en de parameters van die formule worden opgeslagen. Door die formule wordt het mogelijk om een belachelijk groot getalbereik te specificeren, maar doordat je maar 64 bits hebt kun je niet élk mogelijk getal vastleggen. Dan wordt het meest dichtstbijzijnde getal gekozen, en dat zorgt voor rare resultaten zoals 9,99999997.
    quote:
    Aangezien de nauwkeurigheid belangrijker is dan performance zullen we denk ik wel een switch gaan maken.

    Is dit verschil zo groot dan eigenlijk?
    Ja, absoluut. Een DECIMAL kent geen verlies van data, voor zover je de precisie hebt gespecificeerd. Op het moment dat je 4 getallen achter de komma nodig hebt en je hebt je DECIMAL gespecificeerd als 2 getallen achter de komma, dan raak je alsnog gegevens kwijt. Maar deze nieuwe getallen zijn wél accuraat en hier kun je ook gewoon mee verder rekenen.

    Voor dingen zoals financiële toepassingen wil je absoluut DECIMALs gebruiken, je kunt je het niet veroorloven om opeens centen te laten verdwijnen
      dinsdag 8 april 2008 @ 09:21:22 #235
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57904406
    quote:
    Op dinsdag 8 april 2008 09:17 schreef JeRa het volgende:

    [..]

    Float waardes worden vaak als 32-bits of 64-bits (ik geloof zo in MySQL) getallen opgeslagen. In plaats van alle cijfers naar binaire codes om te zetten wordt er een wiskundige formule toegepast en de parameters van die formule worden opgeslagen. Door die formule wordt het mogelijk om een belachelijk groot getalbereik te specificeren, maar doordat je maar 64 bits hebt kun je niet élk mogelijk getal vastleggen. Dan wordt het meest dichtstbijzijnde getal gekozen, en dat zorgt voor rare resultaten zoals 9,99999997.
    [..]

    Ja, absoluut. Een DECIMAL kent geen verlies van data, voor zover je de precisie hebt gespecificeerd. Op het moment dat je 4 getallen achter de komma nodig hebt en je hebt je DECIMAL gespecificeerd als 2 getallen achter de komma, dan raak je alsnog gegevens kwijt. Maar deze nieuwe getallen zijn wél accuraat en hier kun je ook gewoon mee verder rekenen.

    Voor dingen zoals financiële toepassingen wil je absoluut DECIMALs gebruiken, je kunt je het niet veroorloven om opeens centen te laten verdwijnen
    Okido. Verhelderend. Gaat in dit geval inderdaad om een financiële toepassing..
    pi_57904472
    quote:
    Op maandag 7 april 2008 18:09 schreef WyriHaximus het volgende:
    Moet er nog een keer detectie voor gaan schrijven. Had er laatst een die had er 2.5GB in een uurtje of 8 door heen geschoten . Nu we toch in dit straat je zitten, hebben jullie veel last van dit soort shit (loopende botjes, remote file inclusions, sql injections) en zo ja wat doen jullie er tegen? Zelf ban ik alles wat http:// ergens na de host bit in de URL heeft.
    Weet jij wat je tegen die loopende bots kan doen? Ik word d'r helemaal gestoord van namelijk, vooral omdat ik mezelf een mail stuur bij een 404 .... andere problemen heb ik niet zover ik weet, maar die loopende bots zijn vervelend....
      dinsdag 8 april 2008 @ 10:39:42 #237
    86072 thatsme
    and That's you!
    pi_57905817
    quote:
    Op maandag 7 april 2008 15:11 schreef mcDavid het volgende:

    [..]

    Waarom zou je dat in hemelsnaam niet willen? een makkelijkere manier is er niet.
    Omdat dat lokaal de site niet meer naar behoren draait.
    I never joke about my work!
    1: Ik heb altijd gelijk
    2: Zo niet dan treedt regel 1 vanzelf in werking.
      dinsdag 8 april 2008 @ 11:44:44 #238
    84926 WyriHaximus
    Release the hounds smithers!
    pi_57906959
    quote:
    Op dinsdag 8 april 2008 09:25 schreef Xcalibur het volgende:

    [..]

    Weet jij wat je tegen die loopende bots kan doen? Ik word d'r helemaal gestoord van namelijk, vooral omdat ik mezelf een mail stuur bij een 404 .... andere problemen heb ik niet zover ik weet, maar die loopende bots zijn vervelend....
    1Deny from IP
    Regeltje in je .htaccess werkt erg goed .
    phluphy for president!
    pi_57909211
    quote:
    Op dinsdag 8 april 2008 09:17 schreef JeRa het volgende:
    [..]
    Float waardes worden vaak als 32-bits of 64-bits (ik geloof zo in MySQL) getallen opgeslagen. In plaats van alle cijfers naar binaire codes om te zetten wordt er een wiskundige formule toegepast en de parameters van die formule worden opgeslagen. Door die formule wordt het mogelijk om een belachelijk groot getalbereik te specificeren, maar doordat je maar 64 bits hebt kun je niet élk mogelijk getal vastleggen. Dan wordt het meest dichtstbijzijnde getal gekozen, en dat zorgt voor rare resultaten zoals 9,99999997.
    [..]
    Floats en decimals worden allebei binair opgeslagen, het enige verschil is eigenlijk dat bij een decimal de positie van de komma vast is, en bij een float variabel (drijvend/floating). Een decimal heeft een vast aantal decimalen, een float heeft een vast aantal significante cijfers.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      dinsdag 8 april 2008 @ 16:07:29 #240
    62215 qu63
    ..de tijd drinkt..
    pi_57912514
    Wat klopt er niet aan deze query?
    1
    2
    3
    4
    <?php
    $q 
    "UPDATE rit SET (user1, user2, van_datum, naar_datum, vertrek, aankomst, km, prijs, pax, opmerkingen) VALUES ( 'TESTUSER', '', '1206710100', '1206710100', 'Bussum', 'Naarden', '15', '250', '12', 'dus' ) WHERE rit_id = 7";
    mysql_query($q);
    ?>
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57912641
    quote:
    Op dinsdag 8 april 2008 13:44 schreef SuperRembo het volgende:

    [..]

    Floats en decimals worden allebei binair opgeslagen, het enige verschil is eigenlijk dat bij een decimal de positie van de komma vast is, en bij een float variabel (drijvend/floating). Een decimal heeft een vast aantal decimalen, een float heeft een vast aantal significante cijfers.
    Op het eerste gezicht zou je dat wel zeggen. Echter wordt een float opgeslagen als een IEEE 754-1985 floating point, terwijl een decimal de exacte getallen opslaat. Dat is ook de reden waarom de opslagvereisten voor een float neerkomen op 4 danwel 8 bytes (afhankelijk van de vereiste precisie) en een decimal afhankelijk van de grootte van de precisieparameters veel groter kan zijn. Zie ook deze pagina
      dinsdag 8 april 2008 @ 16:18:31 #242
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57912822
    quote:
    Op dinsdag 8 april 2008 16:07 schreef qu63 het volgende:
    Wat klopt er niet aan deze query?
    [ code verwijderd ]
    Je combineert de insert en de update.

    Update moet als het ware zo:

    1
    2
    3
    <?php
    $sql 
    "UPDATE tabelnaam SET kolom1='waarde1', kolom2='waarde2' WHERE kolom3='waarde3'"
    ?>
    pi_57912933
    quote:
    Op dinsdag 8 april 2008 16:07 schreef qu63 het volgende:
    Wat klopt er niet aan deze query?
    [ code verwijderd ]
    1
    2
    3
    4
    <?php
    $q 
    "UPDATE rit SET user1 = 'TESTUSER', user2 = '', van_datum = '1206710100', naar_datum = '1206710100', vertrek = 'Bussum', aankomst = 'Naarden', km = 15, prijs = 250, pax = 12, opmerkingen = 'dus' WHERE rit_id = 7";
    mysql_query($q);
    ?>


    Deze syntax kwam ik op tegen, maar niet getest. Weet ook niet of je user2 gewoon weg kan laten aangezien die leeg is. En weet ook niet of je datums strings zijn..

    [edit]Spuit 11 enzo[/edit]
      dinsdag 8 april 2008 @ 16:33:50 #244
    62215 qu63
    ..de tijd drinkt..
    pi_57913146
    quote:
    Op dinsdag 8 april 2008 16:18 schreef ursel het volgende:

    [..]

    Je combineert de insert en de update.

    Update moet als het ware zo:
    [ code verwijderd ]
    thanks!
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      dinsdag 8 april 2008 @ 16:42:52 #245
    62215 qu63
    ..de tijd drinkt..
    pi_57913318
    op de een of andere manier werkt dit niet:
    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
    <?php
    if(isset($_GET['editid']) and isset($_POST['submit']) and $_POST['submit'] == "ok");
        {
            
    $user1 mysql_real_escape_string($_POST['user1']);
            
    $user2 mysql_real_escape_string($_POST['user2']);
            
    $van_datum strtotime(mysql_real_escape_string($_POST['van_datum']));
            
    $naar_datum strtotime(mysql_real_escape_string($_POST['naar_datum']));
            
    $vertrek mysql_real_escape_string($_POST['vertrek']);
            
    $aankomst mysql_real_escape_string($_POST['aankomst']);
            
    $km mysql_real_escape_string($_POST['km']);
            
    $prijs mysql_real_escape_string($_POST['prijs']);
            
    $pax mysql_real_escape_string($_POST['pax']);
            
    $opmerkingen mysql_real_escape_string($_POST['opmerkingen']);
            
    $q "UPDATE rit SET user1 = '".$user1."', user2 = '".$user2."', van_datum = '".$van_datum."', naar_datum = '".$naar_datum."', vertrek = '".$vertrek."', aankomst = '".$aankomst."', km = '".$km."', prijs = '".$prijs."', pax = '".$pax."', opmerkingen = '".$opmerkingen."' WHERE rit_id = ".$_GET['editid']."";
            if(
    mysql_query($q))
            {
            echo 
    $q;
            
    $succes true;
            }
            else
            {
            echo 
    $q;
            }
        }
    ?>


    Hij voert het gewoon uit, ook al is de $_POST leeg
    waardoor nu rit_id 7 helemaal leeg is

    iemand een tip over hoe dit beter kan en/of waar de fout zit?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57914260
    quote:
    Op dinsdag 8 april 2008 16:12 schreef JeRa het volgende:

    [..]

    Op het eerste gezicht zou je dat wel zeggen. Echter wordt een float opgeslagen als een IEEE 754-1985 floating point, terwijl een decimal de exacte getallen opslaat. Dat is ook de reden waarom de opslagvereisten voor een float neerkomen op 4 danwel 8 bytes (afhankelijk van de vereiste precisie) en een decimal afhankelijk van de grootte van de precisieparameters veel groter kan zijn. Zie ook deze pagina
    Idd, fixed point is exact. Ik was uit gegaan van de manier waarop MSSql z'n decimals opslaat, maar sinds versie 5 gebruikt MySQL ook voor decimals een binair formaat. Alleen vreemd dat de decimalen (het deel achter de komma) blijkbaar apart wordt opgeslagen, in MSSql wordt 1 getal opgeslagen + de positie van de komma.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      dinsdag 8 april 2008 @ 17:52:44 #247
    187069 slacker_nl
    Sicko pur sang
    pi_57914676
    quote:
    Op dinsdag 8 april 2008 16:42 schreef qu63 het volgende:
    op de een of andere manier werkt dit niet:
    [ code verwijderd ]

    Hij voert het gewoon uit, ook al is de $_POST leeg :{
    waardoor nu rit_id 7 helemaal leeg is :')

    iemand een tip over hoe dit beter kan en/of waar de fout zit?
    Zoiezo de ; na je if weghalen.

    En..

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $_GET 
    = array ("editid" => 1);
    $_POST = array ("submit" => 'ok');


    if(isset(
    $_GET['editid']) and isset($_POST['submit']) and $_POST['submit'] == "ok") {
                    
    print_r($_POST);
                    
    // Waarom check je de rest van $_POST niet?
    }
    ?>
    In theory there is no difference between theory and practice. In practice there is.
    pi_57914678
    Met .htaccess kan je urls herschrijven, alleen ik kom er niet helemaal uit.

    Voorbeeld:

    Ik heb nu een link: http://blabla.nl/index.php?page=contact
    Ik zou het mooier vinden als bovenstaande link als volgt wordt weergegeven: http://blabla.nl/contact

    Hoe zet ik dit in .htacces?
    Ik heb het nu wat niet werkt:

    RewriteEngine On
    RewriteRule http://blabla.nl/contact/(.*)/ index.php?page=$1

    Hmm.. ik moet nog veel leren zo te zien haha..
    pi_57915524
    Hoi.

    Mijn mysql-db wordt dagelijks gebackupd naar een gmail-adres.
    Nu wil ik eigenlijk dat de db ook dagelijks in een excelbestand gegooid wordt.
    Ik kan wel handmatig elke dag die query draaien, maar dat schiet niet op.
    Is zoiets te automatiseren?
    Ik heb me ooit eens laten vertellen dat dit met een cronjob kan? Maar dan moet je toch nog handmatig bevestigen? Bijv. bij het opslaan van het bestand?

    Alvast bedankt voor het meedenken.
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
    pi_57916031
    quote:
    Op dinsdag 8 april 200817:52 schreef GioStyle het volgende:
    Met .htaccess kan je urls herschrijven, alleen ik kom er niet helemaal uit.

    Voorbeeld:

    Ik heb nu een link: http://blabla.nl/index.php?page=contact
    Ik zou het mooier vinden als bovenstaande link als volgt wordt weergegeven: http://blabla.nl/contact

    Hoe zet ik dit in .htacces?
    Ik heb het nu wat niet werkt:

    RewriteEngine On


    Hmm.. ik moet nog veel leren zo te zien haha..
    RewriteRule ^/(.*)/$ http://blabla.nl/index.php?page=$1
      dinsdag 8 april 2008 @ 19:17:40 #251
    62215 qu63
    ..de tijd drinkt..
    pi_57916183
    quote:
    Op dinsdag 8 april 2008 17:52 schreef slacker_nl het volgende:

    [..]

    Zoiezo de ; na je if weghalen.

    En..
    [ code verwijderd ]
    het was die ; idd, thanks!

    En de rest van $_POST controleer ik niet omdat alle velden vast staan, en het door een select aantal mensen gebruikt gaat worden.
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57918005
    Ik heb nu wamp server op mijn pc voor php en mysql te testen. Hoe kan ik eenvoudig zorgen dat PHP niet alleen in de www folder hoef te zetten, maar dat dat het overal doet?
    pi_57918194
    Je kan je document root wel ergens instellen (waar precies weet ik niet, ik gebruik MAMP, met de M van Macintosh)
    pi_57921793
    quote:
    Op dinsdag 8 april 2008 20:44 schreef super-muffin het volgende:
    Je kan je document root wel ergens instellen (waar precies weet ik niet, ik gebruik MAMP, met de M van Macintosh)
    Ok. Maar waar?
    pi_57922804
    quote:
    Op dinsdag 8 april 2008 19:10 schreef mcDavid het volgende:

    [..]

    RewriteRule ^/(.*)/$ http://blabla.nl/index.php?page=$1
    Dat werkt helaas ook niet. Weet iemand anders een andere manier om mooier urls te maken?
      dinsdag 8 april 2008 @ 23:20:56 #256
    137676 TommyGun
    Stik er maar in!
    pi_57923174
    Beste allen,

    Binnen mijn (game) website heb ik een overzicht van a t/m z welke alle games uit mijn database toont, maar gezien het grote aantal heb ik dit gelimit op 20 per letter.

    Dus er worden 20 games beginnende met de letter 'a' getoond, 20 met 'b', en ga zo maar verder. Nu wil ik echter ook de mogelijkheid om alle games beginnende met 'a', 'b' etc te tonen, maar hier zit ik mee in de knoop.

    Het stukje code dat ik gebruik voor het a t/m z overzicht:

    index.php

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
            
    if($_GET['games'] == "alle"){            
                        
    $indexnr 0;
                        
    $limit 20;
                        
    $order "desc";
                        
    $arr = array();
                        
    // generate all letters
                        
    for ($i 97$i 123$i++) {
                           
    $indexnr $indexnr +1;
                           
    $t1[$indexnr] =  chr($i);
                        }
                
    $mode "alphabet";
                foreach(
    $t1 as $key => $letter){
                    echo(
    "<div id=\"colOne\"><h3>$letter</h3> <div class=\"bg1\"><ul>");    
                    include(
    'pre_list_games.php');
                    echo(
    "<br> <i><a href=\"index.php\">Terug naar de index</a></i>");
                    
                    echo(
    "</ul></div></div> \n");
                }
                
                exit();
            }
    ?>


    pre_list_games.php

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    if($mode == "alphabet") {
            
    $rowheight 0;
            
    $minrows 10;
            
    $m "<i>Nog geen spelletjes</i>";
            
    $sql3 "SELECT t01.id, t01.title, t01.photo, t01.descr from games t01 where t01.active = 1 AND lower(t01.title) LIKE '$letter%' order by t01.title asc limit $limit";
            
    $result3 mysql_query($sql3) or die ("ERROR: " mysql_error());
            
            while (
    $rij3 mysql_fetch_array($result3)){
            if(
    $rij3['photo'] == ""){
                
    $rij3['photo'] = "images/no_thumb.gif";
            }
            
    $title $rij3['title'];
            if(
    strlen($title)>20) {
            
    $title substr($title020); 
            
    $title "" $title "..."; }
            echo(
    "<a ONMOUSEOVER=\"popup('<img src=".$rij3['photo']." width=$settings2->sizex height=$settings2->sizex>','0')\"; ONMOUSEOUT=\"stopthumb()\" href=\"index2.php?game=".$rij3['id']."&name=".str_replace(" ""_"$rij3['title'])."\" $target>".$title."</a><br> \n");
            
    $m="";
            
    $rowheight $rowheight+1;
            }
            echo(
    $m);
            for ( 
    $i $rowheight$i $minrows$i++) { echo("<br>"); }
    }
    ?>


    Het zal waarschijnlijk zeer simpel zijn maar ik krijg het niet voor elkaar om een pagina te creeren voor elke letter die vervolgens alle games beginnende met die letter toont. Misschien dat iemand mij hier verder mee kan helpen?

    B.v.d
    pi_57923272
    quote:
    Op dinsdag 8 april 200823:10 schreef GioStyle het volgende:

    [..]

    Dat werkt helaas ook niet. Weet iemand anders een andere manier om mooier urls te maken?
    Welwaar

    ohwacht misschien moet die / na het ^ weg. En misschien moet er nog [L] achter
      dinsdag 8 april 2008 @ 23:28:21 #258
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_57923422
    quote:
    Op dinsdag 8 april 2008 18:39 schreef -J-D- het volgende:
    Hoi.

    Mijn mysql-db wordt dagelijks gebackupd naar een gmail-adres.
    Nu wil ik eigenlijk dat de db ook dagelijks in een excelbestand gegooid wordt.
    Ik kan wel handmatig elke dag die query draaien, maar dat schiet niet op.
    Is zoiets te automatiseren?
    Ik heb me ooit eens laten vertellen dat dit met een cronjob kan? Maar dan moet je toch nog handmatig bevestigen? Bijv. bij het opslaan van het bestand?

    Alvast bedankt voor het meedenken.
    Een cronjob kan ook gewoon een PHP file opstarten. Daarvoor hoeft niks bevestigd te worden.
    Zou het trouwens als CSV file laten uitspuwen dan..
    pi_57923557
    quote:
    Op dinsdag 8 april 2008 23:23 schreef mcDavid het volgende:

    [..]

    Welwaar

    ohwacht misschien moet die / na het ^ weg. En misschien moet er nog [L] achter
    Hmm het werkt alsnog niet. Moet ik misschien de links in de index ook veranderen?
      dinsdag 8 april 2008 @ 23:47:04 #260
    65490 whoops
    Home is where the heart is...
    pi_57923982
    quote:
    Op dinsdag 8 april 2008 23:10 schreef GioStyle het volgende:

    [..]

    Dat werkt helaas ook niet. Weet iemand anders een andere manier om mooier urls te maken?
    Je zou voor een 'poor mans' mod_rewrite kunnen gaan... Als url gebruik je dan bijvoorbeeld http://example.com/test.php/topic/1134706/6/60 , en in je code parse je de url die je aanroept..

    test.php
    1
    2
    3
    4
    5
    6
    7
    <?php
    echo '<pre>';
    $querystring=$_SERVER['PATH_INFO'];
    $elements=split('/',$querystring);
    print_r($elements);
    echo 
    '</pre>';
    ?>


    Je output is dan zoiets, hier kan je dan mee verder.
    1
    2
    3
    4
    5
    6
    7
    8
    Array
    (
        [0] => 
        [1] => topic
        [2] => 1134706
        [3] => 6
        [4] => 60
    )


    Mod_rewrite is zeker de moeite waard om goed uit te zoeken, maar ik heb iets als bovenstaande wel eens gebruikt waar ik mod_rewrite niet kon toepassen...
    In the beginning, the universe was created. This made a lot of people very angry and has been widely regarded as a bad move.
    pi_57924407
    quote:
    Op dinsdag 8 april 200823:32 schreef GioStyle het volgende:

    [..]

    Hmm het werkt alsnog niet. Moet ik misschien de links in de index ook veranderen?
    Het moet gewoon werken. Anders doe je iets raars met de url's, of je .htaccess wordt niet herkend.
    pi_57925306
    quote:
    Op woensdag 9 april 2008 00:00 schreef mcDavid het volgende:

    [..]

    Het moet gewoon werken. Anders doe je iets raars met de url's, of je .htaccess wordt niet herkend.
    Kan het komen omdat ik gebruik maak van de volgende script:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    if(!IsSet($_GET['page'])) { 
      
    $_GET['page'] = "home"


    switch (
    $_GET['page']) {
      case 
    'home':
        include(
    'home/home.php');
        break;
      default:
        include(
    'home/home.php');
    ?>


    Hmm.. Ik snap er niets meer van. Haha..
    pi_57926191
    @GioStyle


    RewriteEngine On
    RewriteRule ^test/(.*) /~wesleys/index.php?id=$1 [L]


    In dit geval is http://web.server.nl/~wesleys/test/1 hetzelfde als http://web.server.nl/~wesleys/index.php?id=1
    pi_57926224
    quote:
    Op woensdag 9 april 2008 00:00 schreef mcDavid het volgende:
    Het moet gewoon werken. Anders doe je iets raars met de url's, of je .htaccess wordt niet herkend.
    Je voorbeeld is precies het omgekeerde van wat hij wilt bereiken.
    pi_57926348
    quote:
    Op dinsdag 8 april 2008 23:20 schreef TommyGun het volgende:
    Beste allen,

    Binnen mijn (game) website heb ik een overzicht van a t/m z welke alle games uit mijn database toont, maar gezien het grote aantal heb ik dit gelimit op 20 per letter.

    Dus er worden 20 games beginnende met de letter 'a' getoond, 20 met 'b', en ga zo maar verder. Nu wil ik echter ook de mogelijkheid om alle games beginnende met 'a', 'b' etc te tonen, maar hier zit ik mee in de knoop.

    Het stukje code dat ik gebruik voor het a t/m z overzicht:

    index.php
    [ code verwijderd ]
    Het korte antwoord: Haal de limit weg uit je query, dan krijg je alle resultaten terug.

    Ik zou dit stukje code trouwens herschrijven:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // generate all letters
    for ($i = 97; $i < 123; $i++) {
        $indexnr = $indexnr +1;
        $t1[$indexnr] =  chr($i);
    }
    // snip
    foreach($t1 as $key => $letter){
        echo("<div id=\"colOne\"><h3>$letter</h3> <div class=\"bg1\"><ul>");    
        include('pre_list_games.php');
        echo("<br> <i><a href=\"index.php\">Terug naar de index</a></i>");
        echo("</ul></div></div> \n");
    }


    Naar:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    include_once('pre_list_games.php');

    // generate all letters
    for ($i = 97; $i < 123; $i++) {
        $letter = chr($i);
        echo("<div id=\"colOne\"><h3>$letter</h3> <div class=\"bg1\"><ul>");    
        /* pre_list_games($mode, $letter); functie hier */
        echo("<br> <i><a href=\"index.php\">Terug naar de index</a></i>");
        echo("</ul></div></div> \n");
    }


    Waarom?

    Je doet 2x een loop, je maakt een array aan die je foreached (waarbij je geen reference naar de foreach gooit, waardoor er een kopie van de array wordt gemaakt) wat weer kostbaar is en dan ga je ook nog de key opvragen terwijl je die niet gebruikt: foreach($array as $value) had dan ook gekund.

    Verder heeft het weinig zin om 26 keer een file te includen (include_once gebruiken btw). Als je het doet omdat de enige code in die file ook echt in je post staat. Maak er een functie van. Die kan je dan tig keer aanroepen maar daar heb je dan niet 23 IO acties voor nodig.

    function pre_list_games($mode, $letter) { /* Je originele code van pre_list_games.php hier plakken */ }

    Verder zou ik zou een foreach loop uitvoeren:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $array = array(1,2,3,4);
    $array_ref  =& $array;

    # Foreach gebruikt nu de referentie, en is dus sneller
    # omdat er geen kopie van de array wordt gemaakt
    foreach($array_ref as $value) { print "$value\n" }

    # En wil je echt slim doen (vanaf PHP5): 
    # We maken nu ook geen kopie aan van $value, maar gebruiken 
    # de referentie
    foreach($array_ref as &$value_ref) { print "$value_ref\n" }


    Maar meer hierover is te vinden in de notes van http://php.net/foreach

    [ Bericht 0% gewijzigd door slakkie op 09-04-2008 03:13:21 ]
    pi_57927570
    quote:
    Op woensdag 9 april 2008 02:18 schreef slakkie het volgende:
    @GioStyle


    RewriteEngine On
    RewriteRule ^test/(.*) /~wesleys/index.php?id=$1 [L]


    In dit geval is http://web.server.nl/~wesleys/test/1 hetzelfde als http://web.server.nl/~wesleys/index.php?id=1
    Hmm.. En als ik nou alleen een index heb met een pagina's.
    Dan zou hij als zo moeten zijn:

    RewriteEngine On
    RewriteRule ^test/(.*) /index.php?page=$1 [L]

    Maar dan werkt hij nog niet...
    Wel heb ik dan nog als link bijvoorbeeld: index.php?page=personal, maar die moet dan door .htaccess mooier worden weergegeven.
    pi_57928083
    @slakkie

    Gebruik van references in PHP5 is echt alleen nuttig als je de variabele in de oorspronkelijke scope wilt aanpassen.
    1) Gebruik van references om een grote array te benaderen en zo de performance te verbeteren is nutteloos aangezien PHP intern al references en copy-on-write gebruikt. Dat houdt in dat de array pas gekopieerd wordt op het moment dat je 'm gaat wijzigen. Dit kun je controleren door memory_get_usage() te gebruiken.
    2) Hetzelfde geldt voor de 'value' van de foreach-loop, die is echt alleen nuttig als je de waarde in de array wilt aanpassen en niet alleen de waarde zelf.

    Punt 1 geldt natuurlijk ook voor functies en class methods, en performancetests met foreach hebben al uitgewezen dat werken met een reference zelfs tráger is dan het PHP zelf laten afhandelen. PHP5 is zelf prima in staat om de nodige optimalisaties waar nodig door te voeren Lees de pagina's onder References Explained anders eens door en let erop dat het over PHP5 gaat en niet PHP4 (want daar viel inderdaad veel performancewinst te behalen).
    pi_57928986
    Jera, ik ga eens wat meer spelen met references en de verschillen uitvogelen. Alleen als ik lees:
    quote:
    Unless the array is referenced, foreach operates on a copy of the specified array and not the array itself.
    dan kan ik niet anders concluderen dat het werken met een reference sneller is dan met de kopie van een array.
    pi_57929240
    quote:
    Op woensdag 9 april 2008 10:25 schreef slakkie het volgende:
    Jera, ik ga eens wat meer spelen met references en de verschillen uitvogelen. Alleen als ik lees:
    [..]

    dan kan ik niet anders concluderen dat het werken met een reference sneller is dan met de kopie van een array.
    Dan concludeer je dat fout; je werkt inderdaad op een kopie van de array, echter wordt die kopie pas echt gemaakt zodra je de array gaat wijzigen. Dus het staat er goed, de implementatie verschilt echter van de documentatie.

    Gebruik van references != performancewinst. In PHP5 is dit steeds vaker waar.

    [ Bericht 11% gewijzigd door JeRa op 09-04-2008 10:42:35 ]
      woensdag 9 april 2008 @ 11:04:47 #270
    187069 slacker_nl
    Sicko pur sang
    pi_57929917
    Waarom hebben ze dan references in de taal zitten? In Perl gebruik ik ze alleen maar..
    In theory there is no difference between theory and practice. In practice there is.
    pi_57929958
    quote:
    Op woensdag 9 april 200802:26 schreef slakkie het volgende:

    [..]

    Je voorbeeld is precies het omgekeerde van wat hij wilt bereiken.
    Ik doe zelf precies het zelfde met precies dezelfde regel. Alleen dan met 2 variables.
      woensdag 9 april 2008 @ 11:17:44 #272
    187069 slacker_nl
    Sicko pur sang
    pi_57930231
    quote:
    Op woensdag 9 april 2008 09:01 schreef GioStyle het volgende:

    [..]

    Hmm.. En als ik nou alleen een index heb met een pagina's.
    Dan zou hij als zo moeten zijn:

    RewriteEngine On
    RewriteRule ^test/(.*) /index.php?page=$1 [L]

    Maar dan werkt hij nog niet...
    Wel heb ik dan nog als link bijvoorbeeld: index.php?page=personal, maar die moet dan door .htaccess mooier worden weergegeven.
    Als je /test/personal opvraagt moet het gewoon worden.

    Als het niet doet wat je verwacht, gebruik de [R] flag ff (dan wordt je geredirect en zie je dus direct in je browser wat hij zou doen als je [L] gebruikt). Als je klaar bent met testen kan je de [R] weer door [L] vervangen.

    Verder zou ik je rewritelog enablen in je httpd.conf. En ik zou ff een apart topic aanmaken hiervoor aangezien mod_rewrite helemaal niks met PHP te maken heeft.
    In theory there is no difference between theory and practice. In practice there is.
    pi_57934735
    quote:
    Op woensdag 9 april 2008 11:04 schreef slacker_nl het volgende:
    Waarom hebben ze dan references in de taal zitten? In Perl gebruik ik ze alleen maar..
    Om de taal wat dynamischer te maken. Je kunt variabelen zo aan andere inhoud koppelen, of de inhoud van de variabelen in de originele scope aanpassen:
    1
    2
    3
    4
    5
    6
    <?php
    $a 
    3;
    $b =& $a;
    $b++;
    echo 
    $a;   // output 4
    ?>

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $getal 
    1;
    function 
    verhoog(&$var) {
        
    $var++;
    }
    verhoog($getal);
    echo 
    $getal;   // output 2
    ?>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    class Test {
        private 
    $memberVariabele;
        public function &
    getMemberVariabele() {
            return 
    $this->memberVariabele;
        }
        public function 
    output() {
            echo 
    $this->memberVariabele;
        }
    }
    $a = new Test();
    $b =& $a->getMemberVariabele();
    $b 'whieeeee';
    $a->output();    // output 'whieeeee'
    ?>
      woensdag 9 april 2008 @ 16:40:48 #274
    85514 ralfie
    !Yvan eht nioj
    pi_57937214
    In veel, zoniet alle talen zijn referencies veeel sneller als kopieen hoor. Pointers in c++, java, byref in vb, allemaal veel sneller. Vind het zelf ook apart dat dit in php anders lijkt/is, maar dat heeft meer met het compileren an sich te maken denk ik.
      woensdag 9 april 2008 @ 17:41:47 #275
    187069 slacker_nl
    Sicko pur sang
    pi_57938393
    quote:
    Op woensdag 9 april 2008 16:40 schreef ralfie het volgende:
    In veel, zoniet alle talen zijn referencies veeel sneller als kopieen hoor. Pointers in c++, java, byref in vb, allemaal veel sneller. Vind het zelf ook apart dat dit in php anders lijkt/is, maar dat heeft meer met het compileren an sich te maken denk ik.
    Ja, maar als je naar de PHP references kijkt zijn het geen pointers/references zoals ik die ken. Dat geven ze ook aan, maar ik snap dan niet dat ze zeggen, bij een foreach bla bla bla en vervolgens blijkt met die get_usage call dat ik idd meer memory gebruik als ik de referentie gebruik ipv de daadwerkelijke array. Erg frustrerend.

    Verder vind ik het ook irritant dat ik niet iets kan dereferencen.

    1
    2
    3
    4
    5
    $a = 5;
    $b =& $a;

    # Nu wil ik niet meer een reference hebben, maar een kopie.. 
    <syntax missing>


    In perl gaat het zo:

    1
    2
    3
    4
    5
    $a = 5;
    $b = \$a;

    # nu wil ik niet meer een reference hebben, maar een kopie.. 
    $c = $$b;


    Maar goed, dat komt zeer waarschijnlijk omdat de PHP references eigenlijk geen references zijn....
    In theory there is no difference between theory and practice. In practice there is.
      woensdag 9 april 2008 @ 18:09:04 #276
    137676 TommyGun
    Stik er maar in!
    pi_57938856
    quote:
    Op woensdag 9 april 2008 02:51 schreef slakkie het volgende:

    [..]

    Het korte antwoord: Haal de limit weg uit je query, dan krijg je alle resultaten terug.

    Ik zou dit stukje code trouwens herschrijven:
    [ code verwijderd ]

    Naar:
    [ code verwijderd ]

    Waarom?

    Je doet 2x een loop, je maakt een array aan die je foreached (waarbij je geen reference naar de foreach gooit, waardoor er een kopie van de array wordt gemaakt) wat weer kostbaar is en dan ga je ook nog de key opvragen terwijl je die niet gebruikt: foreach($array as $value) had dan ook gekund.

    Verder heeft het weinig zin om 26 keer een file te includen (include_once gebruiken btw). Als je het doet omdat de enige code in die file ook echt in je post staat. Maak er een functie van. Die kan je dan tig keer aanroepen maar daar heb je dan niet 23 IO acties voor nodig.

    function pre_list_games($mode, $letter) { /* Je originele code van pre_list_games.php hier plakken */ }

    Verder zou ik zou een foreach loop uitvoeren:
    [ code verwijderd ]

    Maar meer hierover is te vinden in de notes van http://php.net/foreach
    Het is inmiddels al gelukt, maar toch bedankt!
    pi_57939047
    quote:
    Op woensdag 9 april 2008 16:40 schreef ralfie het volgende:
    In veel, zoniet alle talen zijn referencies veeel sneller als kopieen hoor. Pointers in c++, java, byref in vb, allemaal veel sneller. Vind het zelf ook apart dat dit in php anders lijkt/is, maar dat heeft meer met het compileren an sich te maken denk ik.
    Je raakte me kwijt bij 'pointers in Java' en ja, dat heeft te maken met het compileren. PHP is gewoon heel efficient en snel met code zonder references daarom references alleen gebruiken wanneer je het implementatiewijs gezien nodig hebt.
      woensdag 9 april 2008 @ 18:22:55 #278
    187069 slacker_nl
    Sicko pur sang
    pi_57939141
    quote:
    Op woensdag 9 april 2008 11:06 schreef mcDavid het volgende:

    [..]

    Ik doe zelf precies het zelfde met precies dezelfde regel. Alleen dan met 2 variables.
    I stand corrected, gisteravond liggen slapen fzo
    In theory there is no difference between theory and practice. In practice there is.
    pi_57940153
    quote:
    Op woensdag 9 april 2008 17:41 schreef slacker_nl het volgende:

    [..]

    Ja, maar als je naar de PHP references kijkt zijn het geen pointers/references zoals ik die ken. Dat geven ze ook aan, maar ik snap dan niet dat ze zeggen, bij een foreach bla bla bla en vervolgens blijkt met die get_usage call dat ik idd meer memory gebruik als ik de referentie gebruik ipv de daadwerkelijke array. Erg frustrerend.

    Verder vind ik het ook irritant dat ik niet iets kan dereferencen.
    [ code verwijderd ]

    In perl gaat het zo:
    [ code verwijderd ]

    Maar goed, dat komt zeer waarschijnlijk omdat de PHP references eigenlijk geen references zijn....
    Wat jij wil is simpel te bewerkstelligen:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    // $a verwijst naar de waarde 3
    $a 3;

    // $b verwijst vanaf nu naar de waarde waar $a naartoe verwijst, op dit moment 3
    $b =& $a;

    // $c krijgt een kopie van de waarde van $b, wat een verwijzing is naar de waarde van $a
    $c $b;
    ?>

    Je moet in PHP goed beseffen dat er een verschil is in het handelen met primitieven (zoals hierboven) en met objecten. Vanaf PHP5 werk je alleen nog maar met de verwijzingen naar objecten, en niet naar de objecten zelf (zoals in PHP4).
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    // $a verwijst naar de 'pointer' naar Object
    $a = new Object();

    // $b krijgt een kopie van de 'pointer' naar Object (hetzelfde object dus!)
    $b $a;

    // $c verwijst naar de waarde van $a, op dit moment de 'pointer', en dus ook naar hetzelfde object
    $c =& $a;

    // $d bevat nu een kopie van het object
    $d = clone $a;
    ?>

    Hierdoor werk je in PHP5 standaard een stuk sneller met objecten, waarbij je niet eens references nodig hebt (in vrijwel alle gevallen).
      woensdag 9 april 2008 @ 23:40:19 #280
    85514 ralfie
    !Yvan eht nioj
    pi_57947079
    quote:
    Op woensdag 9 april 2008 18:18 schreef JeRa het volgende:

    [..]

    Je raakte me kwijt bij 'pointers in Java'
    woops
    Daar heten het 'references', wat net zon veredelde meuk is als bij javascript... Nee, geef mij maar lekker de pure pointer uit c++, erg basaal dus wat makkelijker te bevatten (voor mij althans).
      donderdag 10 april 2008 @ 00:02:21 #281
    62215 qu63
    ..de tijd drinkt..
    pi_57947659
    Is het mogelijk om een JavaScript waarde in php in te laden?
    1
    2
    3
    <?php
    echo "var test = ".$_GET['waarde']."";
    ?>


    Maar dan dus andersom:
    1
    2
    3
    <?php
    $afstand 
    document.getElementById("test").innerHTML =    gdir.getDistance().html;
    ?>

    maar dat werkt dus niet Iemand enig idee hoe ik het er wel in krijg, behalve de pagina verversen en er een $_GET-waarde aan plakken?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 10 april 2008 @ 00:32:55 #282
    85514 ralfie
    !Yvan eht nioj
    pi_57948285
    quote:
    Op donderdag 10 april 2008 00:02 schreef qu63 het volgende:
    Is het mogelijk om een JavaScript waarde in php in te laden?
    [ code verwijderd ]

    Maar dan dus andersom:
    [ code verwijderd ]

    maar dat werkt dus niet Iemand enig idee hoe ik het er wel in krijg, behalve de pagina verversen en er een $_GET-waarde aan plakken?
    meestal als je php draait is de pagina al geladen of ben je bezig een nieuwe te genereren. Hoe had je dit in gedachten?
    pi_57948386
    quote:
    Op donderdag 10 april 200800:32 schreef ralfie het volgende:

    [..]

    meestal als je php draait is de pagina al geladen of ben je bezig een nieuwe te genereren. Hoe had je dit in gedachten?
    Niet meestal, altijd.

    PHP draait serverside, en stuurt de output door naar de client.
    Javascript draait client side, en gaat dus pas wat doen als de client de pagina heeft binnen gehaald (en het PHP-script dus voltooid is).
    pi_57950427
    quote:
    Op woensdag 9 april 2008 23:40 schreef ralfie het volgende:

    [..]

    woops
    Daar heten het 'references', wat net zon veredelde meuk is als bij javascript... Nee, geef mij maar lekker de pure pointer uit c++, erg basaal dus wat makkelijker te bevatten (voor mij althans).
    Het grappige is dat door het ontbréken van pointers in Java, de compiler veel beter kan optimaliseren dan de meeste C/C++ compilers doordat hij weet waar je precies mee bezig bent (met pointers is het vaak nogal gissen, als je bijvoorbeeld door een array loopt). Dat zorgt ervoor dat Java in nogal wat gevallen sneller is dan C++

    Voor PHP geldt ongeveer hetzelfde laat de compiler de references maar afhandelen, als je die handmatig gaat invoeren kost dat alleen maar meer overhead en uiteindelijk zul je er weinig (of totaal niets) mee behalen.
      donderdag 10 april 2008 @ 09:24:04 #285
    62215 qu63
    ..de tijd drinkt..
    pi_57950857
    quote:
    Op donderdag 10 april 2008 00:32 schreef ralfie het volgende:

    [..]

    meestal als je php draait is de pagina al geladen of ben je bezig een nieuwe te genereren. Hoe had je dit in gedachten?
    Ik ben bezig een soort van Google Maps iets in te bouwen, maar ik bedenk me nu ineens dat AJAX nog een optie is, en dat ik natuurlijk ook alls in een iframe kan plaatsen en javascript het in het hoofddocument kan laten plaatsen..
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 10 april 2008 @ 15:37:26 #286
    37634 wobbel
    Da WoBBeL King
    pi_57958903
    Mm....kan dit niet?

    1
    2
    3
    4
    DELETE FROM SHOP_Subcategory 
    INNER JOIN SHOP_Subcategory_Lang 
    ON ( SHOP_Subcategory.IdSubcategory = SHOP_Subcategory_Lang.SubcategoryId ) 
    WHERE SHOP_Subcategory.CategoryId = '1'


    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN SHOP_Subcategory_Lang ON ( SHOP_Subcategory.IdSubcat' at line 3
    pi_57961574
    Ik heb een MySQL database met projecten erin die ik wil kunnen sorteren. Nu worden ze op ID (auto_increment) of op datum gesorteerd, maar ik wil gewoon een nieuwe entry maken (ik denk integer?) waarmee ik de volgorde van boven (1) tot onder (85) kan instellen, en waarbij ik een al bestaand project in volgorde kan wisselen door hem een een lager nummer te geven, waarbij de hele volgorde automatisch mee veranderd.
    Ook moet ik nieuwe projecten bovenin in kunnen voeren (1) of halverwege (bijv. plek 2) en dat de hele lijst met bestaande projecten dan automatisch verschuift.

    Welke MySQL functies kan ik gebruiken, en of heb ik dan een php scriptje nodig? Ik zou al erg geholpen zijn als iemand me kan vertellen WAAR ik moet beginnen met zoeken en vooral naar welke functies ik moet zoeken (*trefwoorden)

    Alvast bedankt
    never underestimate the power of stupid people in large groups
      donderdag 10 april 2008 @ 18:07:27 #288
    62215 qu63
    ..de tijd drinkt..
    pi_57961915
    quote:
    Op donderdag 10 april 2008 09:24 schreef qu63 het volgende:

    [..]

    Ik ben bezig een soort van Google Maps iets in te bouwen, maar ik bedenk me nu ineens dat AJAX nog een optie is, en dat ik natuurlijk ook alls in een iframe kan plaatsen en javascript het in het hoofddocument kan laten plaatsen..
    ha! het werkt! *O*

    Afstand berekenen tussen 2 plaatsen via GoogleMaps:
    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
    <?php
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=KEY type="text/javascript"></script>
    <script type="
    text/javascript">
     
        var map;
        var gdir;
        var geocoder = null;
        var addressMarker;
        
        function reken()
            {
                if (GBrowserIsCompatible()) {      
                   gdir = new GDirections(map, document.getElementById("
    directions"));
                GEvent.addListener(gdir, "
    load", onGDirectionsLoad);
                GEvent.addListener(gdir, "
    error", handleErrors);
                var van = document.getElementById("
    van").value;
                var naar = document.getElementById("
    naar").value
                setDirections(van, naar, "
    nl_NL");
            }
        }
        
        function setDirections(fromAddress, toAddress, locale) {
          gdir.load("
    from" + fromAddress + " to" + toAddress,
                    { "
    locale": locale });
        }

        function handleErrors(){
              alert("
    Fout!");
        }

        function onGDirectionsLoad(){ 
            var afstand = Math.round((gdir.getDistance().meters/1000)*10)/10;
            document.getElementById("
    reken").value = afstand + " km";
            var sec = Math.round(gdir.getDuration().seconds/60);
            document.getElementById("
    tijd").value = sec + " minuten";
            var gem = Math.round(gdir.getDistance().meters/gdir.getDuration().seconds*3.6);
            document.getElementById("
    gem").value = gem + " km/h";
        }
        </script>

      </head>
      <body>
    <input type="
    text" id="van" value=""><input type="text" id="naar" value=""><input type="button" onclick="reken()"><input type="text" id="reken"><input type="text" id="tijd"><input type="text" id="gem">
    ?>

    Die inputs zijn alleen om te testen, je moet alleen wel ff je eigen key aanmaken en die bovin plaatsen :)
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_57962695
    quote:
    Op donderdag 10 april 2008 15:37 schreef wobbel het volgende:
    Mm....kan dit niet? :P
    [ code verwijderd ]

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN SHOP_Subcategory_Lang ON ( SHOP_Subcategory.IdSubcat' at line 3
    1
    2
    3
    4
    DELETE SHOP_Subcategory
    FROM SHOP_Subcategory s
    INNER JOIN SHOP_Subcategory_Lang l ON s.IdSubcategory = l.SubcategoryId
    WHERE s.CategoryId = 1


    Maar ik weet niet vanaf welke versie dit ondersteund wordt
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_58001312
    Wat is er mis met mijn query?

    SELECT sum(`unique`) AS statValue
    FROM stats_date
    WHERE QUARTER(`date`) > QUARTER(CURRENT_DATE) - 1 QUARTER
    AND statID = '1'

    Zelfde geld voor deze query

    SELECT sum(`hits`) AS statValue
    FROM stats_date
    WHERE MONTH(`date`) > (MONTH(CURRENT_DATE) - 6 MONTH)
    AND statID = '1'

    error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MONTH) AND statID = '1'' at line 3

    voor over ik kan zien is er namelijk niets mis mee

    [ Bericht 35% gewijzigd door Chandler op 12-04-2008 13:11:11 (-nog eentje-) ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      zaterdag 12 april 2008 @ 13:42:25 #291
    107951 JortK
    Immer kwaliteitsposts
    pi_58002024
    quote:
    Op zaterdag 12 april 2008 13:02 schreef Chandler het volgende:
    Wat is er mis met mijn query?

    SELECT sum(`unique`) AS statValue
    FROM stats_date
    WHERE QUARTER(`date`) > QUARTER(CURRENT_DATE) - 1 QUARTER
    AND statID = '1'

    Zelfde geld voor deze query

    SELECT sum(`hits`) AS statValue
    FROM stats_date
    WHERE MONTH(`date`) > (MONTH(CURRENT_DATE) - 6 MONTH)
    AND statID = '1'

    error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MONTH) AND statID = '1'' at line 3

    voor over ik kan zien is er namelijk niets mis mee
    INTERVAL ?
    pi_58002442
    quote:
    Op zaterdag 12 april 2008 13:02 schreef Chandler het volgende:
    Wat is er mis met mijn query?
    De functies QUARTER() en MONTH() geven gewoon een integer terug. Het resultaat moet je dus ook gewoon vergelijken met een integer. De QUARTER en MONTH aan het eind van de regel horen daar dus niet te staan.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_58004601
    Klopt, al werkte interval ook maar goed. Even een andere vraag, hoe kan ik alles binnen nu en een half jaar geleden uitlezen?

    MONTH(`date`) > (MONTH(CURRENT_DATE) - INTERVAL 6 MONTH) dit werkte iig niet
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      zaterdag 12 april 2008 @ 16:33:20 #294
    107951 JortK
    Immer kwaliteitsposts
    pi_58005214
    quote:
    Op zaterdag 12 april 2008 15:57 schreef Chandler het volgende:
    Klopt, al werkte interval ook maar goed. Even een andere vraag, hoe kan ik alles binnen nu en een half jaar geleden uitlezen?

    MONTH(`date`) > (MONTH(CURRENT_DATE) - INTERVAL 6 MONTH) dit werkte iig niet
    Je zult ook je jaar erbij moeten betrekken
    pi_58005601
    quote:
    Op zaterdag 12 april 2008 15:57 schreef Chandler het volgende:
    Klopt, al werkte interval ook maar goed. Even een andere vraag, hoe kan ik alles binnen nu en een half jaar geleden uitlezen?

    MONTH(`date`) > (MONTH(CURRENT_DATE) - INTERVAL 6 MONTH) dit werkte iig niet :{
    1`date` > DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      zaterdag 12 april 2008 @ 22:55:47 #296
    137690 Pizzahut
    Het Bora Bora Gebergte
    pi_58012419
    Even kort vraagje:
    ben bezig met een soort nieuws/blog systeempje welke ik wil laten sorteren op datum van invoer.
    query vb: select bla from nieuws order by date desc (klein voorbeeld)
    kan ik bij het invoeren van het bericht beter mktime(); of date(); gebruiken?

    in de database is het date veld uiteraart date (0000-00-00).

    hoe kan ik dit het beste en het meest effectiefst doen?
    Disturbed Mind
    Het leven: Soms ben je de duif, soms het standbeeld.
      zaterdag 12 april 2008 @ 23:01:41 #297
    62215 qu63
    ..de tijd drinkt..
    pi_58012516
    Ben ik nu net eindelijk klaar met mn script wat de afstand tussen plaatsen enzo uitrekent, weet ik niet meer hoe ik het in wilde bouwen in mn site

    ach, weer een paar dagen 'nuttig' besteed

    Maar ik kom er vanzelf wel weer op
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58013693
    quote:
    Op zaterdag 12 april 2008 22:55 schreef Pizzahut het volgende:
    Even kort vraagje:
    [...]
    hoe kan ik dit het beste en het meest effectiefst doen?
    Je kunt ook direct CURRENT_DATE inserten.
    quote:
    Op zaterdag 12 april 2008 23:01 schreef qu63 het volgende:
    Ben ik nu net eindelijk klaar met mn script wat de afstand tussen plaatsen enzo uitrekent, weet ik niet meer hoe ik het in wilde bouwen in mn site
    De afstand hemelsbreed tussen twee lat/long coördinaten of de afstand over de weg?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      zondag 13 april 2008 @ 01:19:12 #299
    62215 qu63
    ..de tijd drinkt..
    pi_58014694
    quote:
    Op zondag 13 april 2008 00:06 schreef SuperRembo het volgende:
    De afstand hemelsbreed tussen twee lat/long coördinaten of de afstand over de weg?
    Afstand via de weg, met een beetje hulp van Google Maps
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_58016330
    quote:
    Op zaterdag 12 april 2008 16:56 schreef SuperRembo het volgende:
    [ code verwijderd ]
    Tnx SR, Dat werkte iig perfect!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_58017394
    Een beetje een n00b vraag...

    MySQL tabelrijen kan je voorzien van een index. Nu begrijp ik dat dit omwille van doorzoekbaarheid gedaan kan worden.

    Wat is nu precies een index, welke kolommen komen hier voor in aanmerking?
    Ik vind allerlei info over het hoe, maar niet het waarom.
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')