abonnement Unibet Coolblue Bitvavo
pi_47714043

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


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

    [ Bericht 2% gewijzigd door splendor op 27-03-2007 16:23:54 ]
  • -
    pi_47714076
    Weet er iemand toevallig een UML tool voor PHP? Dat ik zelf een UML maak en op een knop duw en de code (vooral classes) wordt aangepast? Java heeft JBuilder, zoiets zoek ik ook.
    -
    pi_47714653
    Thnx Splendor, smesjz & hmail @ het vorige topic.
    de functie mysql_insert_id doet het truukje!
    pi_47715817
    41 al weer
      dinsdag 27 maart 2007 @ 16:28:51 #5
    12880 CraZaay
    prettig gestoord
    pi_47716135
    teeveepee
    pi_47716489
    quote:
    Op dinsdag 27 maart 2007 16:28 schreef CraZaay het volgende:
    teeveepee
    pi_47719155
    Humor, het ziet er naar uit dat mijn mktime nog in wintertijd denkt (alsin > mktime(0,0,0,xxx,xxx,xxx) levert 23:00 uur) , is dat ergens aan te passen? Mijn script loopt nu nogal in de soep
      dinsdag 27 maart 2007 @ 19:03:50 #8
    51748 H4ze
    wait...what?
    pi_47721428
    <?php

    echo 'tvp';

    ?>
    *BURP*
      dinsdag 27 maart 2007 @ 19:17:11 #9
    107951 JortK
    Immer kwaliteitsposts
    pi_47722385
    quote:
    Op dinsdag 27 maart 2007 17:55 schreef Geqxon het volgende:
    Humor, het ziet er naar uit dat mijn mktime nog in wintertijd denkt (alsin > mktime(0,0,0,xxx,xxx,xxx) levert 23:00 uur) , is dat ergens aan te passen? Mijn script loopt nu nogal in de soep
    Al gekeken naar de is_dst parameter van mktime?
    pi_47722669
    Vraagje van een vriend waar ik geen antwoord op weet.

    Hoe lees / open je een URL in PHP waar een htaccess beveiligings user/ww voor zit?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_47723587
    quote:
    Op dinsdag 27 maart 2007 19:27 schreef JeRa het volgende:

    [..]

    Al gekeken naar de is_dst parameter van mktime?
    Die heb ik niet ingevuld, en dit probleem is pas sinds zondag. Moet ik dan elke tijdswisseling mijn source aanpassen?
    pi_47724205
    Misschien een stomme opmerking, maar ligt dat niet aan je server? Als die server niet aan zomertijd doet..
    -
    pi_47725565
    quote:
    Op dinsdag 27 maart 2007 19:36 schreef Chandler het volgende:
    Vraagje van een vriend waar ik geen antwoord op weet.

    Hoe lees / open je een URL in PHP waar een htaccess beveiligings user/ww voor zit?
    De CURL module van PHP gebruiken of zelf een HTTP request de deur uitdoen
    pi_47727372
    quote:
    Op dinsdag 27 maart 2007 20:13 schreef splendor het volgende:
    Misschien een stomme opmerking, maar ligt dat niet aan je server? Als die server niet aan zomertijd doet..
    Het draait gewoon op mijn workstation, en die staat op het moment van posten op 21:25:50
    pi_47730181
    Mijn probleem ligt toch ergens anders:

    1
    2
    3
    4
    <?php
    echo (mktime(0,0,0,"03","25","2007")) . " - " . strtotime("25 Mar 07");
    Output: 1174777200 - 1174777200
    ?>


    Links de manier zoals ik de userinput afvang en omzet naar een timestamp, rechts zoals het in de database weggezet wordt. Matched en werkt.

    1
    2
    3
    4
    <?php
    echo (mktime(0,0,0,"03","26","2007")-86400) . " - " . strtotime("25 Mar 07");
    Output: 1174773600 - 1174777200
    ?>


    Hier zat mijn fout in. Opgevangen door -86400 te vervangen door een strtotime die -1 day doet.
    pi_47737444
    quote:
    Op dinsdag 27 maart 2007 20:46 schreef JeRa het volgende:

    [..]

    De CURL module van PHP gebruiken of zelf een HTTP request de deur uitdoen
    Tnx. Is er ook een handige guide m.b.t. HTACCESS en CURL? kon zelf niets vinden namelijk!

    -edit-

    Heb even gekeken of ik kon vinden hoe en welke headers hij moet versturen ivm htaccess maar kon daar ook niets over vinden

    [ Bericht 18% gewijzigd door Chandler op 28-03-2007 08:02:09 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_47740079
    quote:
    Op woensdag 28 maart 2007 07:56 schreef Chandler het volgende:

    [..]

    Tnx. Is er ook een handige guide m.b.t. HTACCESS en CURL? kon zelf niets vinden namelijk!
    .htaccess en CURL hebben helemaal niets met elkaar te maken .htaccess is een bestand waarmee je bepaalde instellingen van Apache kunt aanpassen en wat Apache modules kunt configureren op lokaal niveau, en dus ook kunt 'zeggen' dat er authenticatie plaats moet vinden.

    CURL is een library waarmee je HTTP requests makkelijk samen kunt stellen. Voor de juiste headers is het een kwestie van zoeken met Google op 'HTTP authentication', en dan krijg je dit soort links
    pi_47743018
    Waarom krijg ik hier een foutmelding bij
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    class Obj {
        
    public function doen($tekst) {
            return
    $tekst . " <--> ";
        }
        
        
    public function doen2($tekst2) {
            echo
    $tekst . $tekst2;
        }
    }

    $obj = new Obj();
    $obj->doen('nee')->doen2('ja'); # WERKT NIET!
    ?>
    quote:
    Fatal error: Call to a member function doen2() on a non-object
    Ik wil dus wat er terug gegeven word in de eerste method gebruiken in de tweede. Dat schijnt te kunnen in PHP 5 maar het lukt me niet.
    pi_47743680
    1
    2
    3
    <?php
    $obj
    ->doen2($obj->doen('ja'));
    ?>


    In die trant?
    pi_47743867
    Nee nee, want dan kan ik niks mee geven aan de eerste method.

    In een PDF die ik uit de OP heb staat dit: (staat ook hier, bij punt 15)
    quote:
    Support for dereferencing objects that are returned from methods.
    In PHP 4, you could not directly dereference objects that were returned
    from methods. You had to first assign the object to a dummy variable and
    then dereference it.

    PHP 4:
    $dummy = $obj->method();
    $dummy->method2();
    PHP 5:
    $obj->method()->method2();
    Ik wil dus die PHP 5 manier gebruiken.
      woensdag 28 maart 2007 @ 13:28:29 #22
    85514 ralfie
    !Yvan eht nioj
    pi_47746748
    quote:
    Op woensdag 28 maart 2007 12:13 schreef super-muffin het volgende:
    Nee nee, want dan kan ik niks mee geven aan de eerste method.

    In een PDF die ik uit de OP heb staat dit: (staat ook hier, bij punt 15)
    [..]

    Ik wil dus die PHP 5 manier gebruiken.
    dat kan dus alleen met php5
    desnoods ga je met adressen werken

    $dummy = &$obj->member() oid
    pi_47747173
    Ik heb dus PHP 5
    Anders zou ik al een foutmelding krijgen op de access modifiers.
      woensdag 28 maart 2007 @ 13:45:04 #24
    65471 SkaterSam
    Lurking Galore
    pi_47747457
    Even vraagje, ik wil controleren of de opgegeven user en pass in de database bestaan, en ook controleren of ze gelijk zijn. Heb ik dan aan deze query mét een mysql_num_rows() genoeg, of is het aan te raden ook nog even de opgehaalde resultaten even te vergelijken (dat doen ze namelijk in de query geloof ik al...)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $query
    = "SELECT u.username, u.passhash
              FROM user AS u
              WHERE u.username = $user
              AND u.passhash = $pass
              LIMIT 1"
    ;

    mysql_query($query);

    if (
    mysql_num_rows <> 1) {
      
    // Niet geslaagd
    }
    ?>

    Dus dit, of moet ik dus nog gewoon even controleren of $result['username'] == $user of iets dergelijks...
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_47748888
    quote:
    Op woensdag 28 maart 2007 10:14 schreef JeRa het volgende:

    [..]

    .htaccess en CURL hebben helemaal niets met elkaar te maken :) .htaccess is een bestand waarmee je bepaalde instellingen van Apache kunt aanpassen en wat Apache modules kunt configureren op lokaal niveau, en dus ook kunt 'zeggen' dat er authenticatie plaats moet vinden.

    CURL is een library waarmee je HTTP requests makkelijk samen kunt stellen. Voor de juiste headers is het een kwestie van zoeken met Google op 'HTTP authentication', en dan krijg je dit soort links :)
    Kom ik er nu eens achter dat mijn eigen test omgeving geen CURL heeft :P maar goed, ik heb reeds een routine die tot de htaccess ( :P ) komt..

    Nu zit ik alleen met een vraag.

    Als ik met FF inlog en de headers uitlees krijg ik dit..

    1
    2
    3
    4
    5
    6
    etc etc etc
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Authorization: Basic dnBzY2FzaDp2cHNjYXNo


    nu wil ik de 'code' achter basic maken (neem aan dat dit de verificatie code is).

    ik krijg van de server een 'realm' en deze zet ik met de username en ww in een MD5

    1MD5($username . ":" . $realm . ":" . $password);


    maar dan krijg ik een geheel andere code.

    Tevens snap ik heel weinig van de volgende zaken

    1
    2
    3
    4
    5
    6
    // bovenste is de 1e MD5
    A1 = string.hashMD5 (username + ":" + realm + ":" + password)
    // paramTable??? method? GET? URL? :D
    A2 = string.hashMD5 (paramTable.method + ":" + paramTable.uri)
    // combinatie van beiden... dat heb ik door :P
    requestdigest = string.hashMD5 (A1 + ":" + nonce + ":" + A2)


    Jera? kun je me nog wat tips geven? hoef geen voorgekoude code, maar wel een kick in de goede richting :P

    Ps. heb alle links gevolgd en ge googled voor het posten hier ;)
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 28 maart 2007 @ 14:23:52 #26
    85514 ralfie
    !Yvan eht nioj
    pi_47748936
    quote:
    Op woensdag 28 maart 2007 13:38 schreef super-muffin het volgende:
    Ik heb dus PHP 5
    Anders zou ik al een foutmelding krijgen op de access modifiers.
    nee, wacht, ik zie het al. je member functie retourneert zelf geen object, dus kan deze ook geen members hebben

    Je zult je member functie dus een object moeten retourneren om dit voor mekaar te krijgen, bijvoorbeeld door return &$this;

    In jouw geval retourneerd $obj->doen() een string, en geen klasse. String->doen2() is geen functie natuurlijk

    wat je zou kunnen doen, is bijv
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    class Obj {
       var 
    $thestring;
        
    public function doen($tekst) {
            
    $this->thestring $tekst " <--> ";
            return &
    $this;
        }
        
        
    public function doen2($tekst2) {
            echo 
    $this->thestring$tekst2;
        }
    }

    $obj = new Obj();
    $obj->doen('nee')->doen2('ja'); #zou wel moeten werken
    ?>
    De vraag is natuurlijk wat je precies wil doen want dit is een onnodig ingewikkelde klasse om alleen een string te maken
    pi_47749017
    quote:
    Op woensdag 28 maart 2007 11:46 schreef super-muffin het volgende:
    Waarom krijg ik hier een foutmelding bij
    [ code verwijderd ]

    [..]

    Ik wil dus wat er terug gegeven word in de eerste method gebruiken in de tweede. Dat schijnt te kunnen in PHP 5 maar het lukt me niet.
    $obj->doen() geeft een string terug en geen object. Als je een instance returned van een class die de functie ' doen2' heeft kan het wel.
    ..///
    pi_47749335
    quote:
    Op woensdag 28 maart 2007 14:22 schreef Chandler het volgende:

    [..]

    Kom ik er nu eens achter dat mijn eigen test omgeving geen CURL heeft maar goed, ik heb reeds een routine die tot de htaccess ( ) komt..

    Nu zit ik alleen met een vraag.

    Als ik met FF inlog en de headers uitlees krijg ik dit..
    [ code verwijderd ]

    nu wil ik de 'code' achter basic maken (neem aan dat dit de verificatie code is).

    ik krijg van de server een 'realm' en deze zet ik met de username en ww in een MD5
    [ code verwijderd ]

    maar dan krijg ik een geheel andere code.

    Tevens snap ik heel weinig van de volgende zaken
    [ code verwijderd ]

    Jera? kun je me nog wat tips geven? hoef geen voorgekoude code, maar wel een kick in de goede richting

    Ps. heb alle links gevolgd en ge googled voor het posten hier
    Zie deze RFC en kijk onder kopje 2 (Basic Authentication Scheme) over hoe je dat zou moeten aanpakken
    pi_47749714
    quote:
    Op woensdag 28 maart 2007 14:23 schreef ralfie het volgende:

    [..]

    nee, wacht, ik zie het al. je member functie retourneert zelf geen object, dus kan deze ook geen members hebben

    Je zult je member functie dus een object moeten retourneren om dit voor mekaar te krijgen, bijvoorbeeld door return &$this;

    In jouw geval retourneerd $obj->doen() een string, en geen klasse. String->doen2() is geen functie natuurlijk

    wat je zou kunnen doen, is bijv
    [ code verwijderd ]

    De vraag is natuurlijk wat je precies wil doen want dit is een onnodig ingewikkelde klasse om alleen een string te maken
    Allereerst bedankt

    Dit was alleen eventjes een voorbeeld.
    Ik wou het namelijk zo toepassen:

    $db->execQuery('SELECT * FROM admin')->fetchResult();

    maar aan de andere kant kan ik ook gewoon in de method execQuery het laten fetchen
    naja, dan heb ik iig weer wat geleerd
    pi_47749847
    Deze query is fout maar ik zie de fout niet. Ziet iemand hem?

    1
    2
    3
    <?php
    UPDATE t_relatiegids SET relatiegids_bedrijfsnaam 
    '" . $bedrijfsnaam . "'relatiegids_telefoonnummer '" . $telefoonnummer . "' WHERE relatiegids_rel_id ".$relid.";
    ?>
    pi_47749993
    quote:
    Op woensdag 28 maart 2007 14:49 schreef Qunix het volgende:
    Deze query is fout maar ik zie de fout niet. Ziet iemand hem?
    [ code verwijderd ]
    Je sluit de aanhalingstekens achteraan niet goed af.
    pi_47750027
    quote:
    Op woensdag 28 maart 2007 14:53 schreef JeRa het volgende:

    [..]

    Je sluit de aanhalingstekens achteraan niet goed af.
    De ID die ik mee geef moet toch geen string zijn?
    pi_47751091
    quote:
    Op woensdag 28 maart 2007 14:54 schreef Qunix het volgende:

    [..]

    De ID die ik mee geef moet toch geen string zijn?
    Kijk eens helemaal achteraan. Daar heb je zoiets staan:

    ... "blaat" . $variabele . ";
    pi_47754205
    quote:
    Op woensdag 28 maart 2007 15:20 schreef JeRa het volgende:

    [..]

    Kijk eens helemaal achteraan. Daar heb je zoiets staan:

    ... "blaat" . $variabele . ";
    Ik heb hem... thanks.
    pi_47754749
    quote:
    Op woensdag 28 maart 2007 14:35 schreef JeRa het volgende:

    [..]

    Zie deze RFC en kijk onder kopje 2 (Basic Authentication Scheme) over hoe je dat zou moeten aanpakken
    Ik heb het nu zekers 4x door gelezen maar snap dus niet wat ik verkeerd doe.. Toen ging ik even zoeken op een example. Dit voorbeeld vond ik

    1
    2
    3
    4
    5
    6
    // zelfde als wat ik had ;)
    $A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]);
    // POST           LOCALHOST???
    $A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']);
    // dit is weer anders dan in de RFC vermeld... daar staat $A1 : nonce : $A2 :? 
    $valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2);


    waar staat die nonce voor? ik wordt hier echt gek van... waarom begrijp ik het nu gewoon niet
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_47755362
    1
    2
    3
    <?php
    print_r
    ($data)
    ?>


    :)
    pi_47757765
    Geqxon; dat voorbeeld vond ik

    1
    2
    3
    4
    5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Authorization: Basic dnBzY2FzaDp2cHNjYXNo


    dit zijn de headers van de url die ik open

    -edit-
    raar, iconen doen het pas na een edit?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_47778212
    Ik heb een vraag. Even als voorbeeld deze fictieve tabel:

    id 1
    title aap

    id 2
    title beer

    id 3
    title boskonijn

    id 4
    title aalscholver

    Goed wat ik graag wil is het volgende resultaat met een query.

    4, a, aalscholver
    1, a, aap
    2, b, beer
    3, b, boskonijn

    Ofwel gesorteerd op title, maar als extra resultaat de eerste letter van het title veld.

    Is dit mogelijk? Ik zit nu met PHP een oplossing te bedenken. Maar ik heb het vermoeden dat ik dom bezig ben en dat het ook met MySQL kan.
    pi_47779296
    quote:
    Op donderdag 29 maart 2007 02:57 schreef ErikN het volgende:
    Ik heb een vraag. Even als voorbeeld deze fictieve tabel:

    id 1
    title aap

    id 2
    title beer

    id 3
    title boskonijn

    id 4
    title aalscholver

    Goed wat ik graag wil is het volgende resultaat met een query.

    4, a, aalscholver
    1, a, aap
    2, b, beer
    3, b, boskonijn

    Ofwel gesorteerd op title, maar als extra resultaat de eerste letter van het title veld.

    Is dit mogelijk? Ik zit nu met PHP een oplossing te bedenken. Maar ik heb het vermoeden dat ik dom bezig ben en dat het ook met MySQL kan.
    1
    2
    3
    4
          $sqlFirstChars = "SELECT SUBSTRING( LOWER( name ) , 1, 1 ) AS firstchar, count( * ) AS Aantal";
          $sqlFirstChars .= " FROM " . _DB_TBL_ARTICLES;
          $sqlFirstChars .= " WHERE edited = 0";
          $sqlFirstChars .= " GROUP BY SUBSTRING( LOWER( name ) , 1, 1 )";

    Deze gebruik ik om een lijstje te genereren van A t/m Z. Als je hem ombouwt is ie bruikbaar. Let wel op, karakters als . of & of cijfers ziet ie ook als aparte karakters en misschien wil je die allemaal onder # hebben, dat heb ik met php opgelost.
    -
    pi_47788042
    quote:
    Op donderdag 29 maart 2007 02:57 schreef ErikN het volgende:
    Is dit mogelijk? Ik zit nu met PHP een oplossing te bedenken. Maar ik heb het vermoeden dat ik dom bezig ben en dat het ook met MySQL kan.
    Het kan in MySQL, maar het lijkt me makkelijker in PHP: substr($title, 1). Als je het verder niet gebruikt in je query en het is alleen voor de presentatie, dan zie ik geen reden om het in SQL te doen.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      donderdag 29 maart 2007 @ 13:33:50 #41
    53753 BereNDD
    drampo uit je raam
    pi_47788690
    quote:
    Op donderdag 29 maart 2007 02:57 schreef ErikN het volgende:
    Ik heb een vraag. Even als voorbeeld deze fictieve tabel:

    id 1
    title aap

    id 2
    title beer

    id 3
    title boskonijn

    id 4
    title aalscholver

    Goed wat ik graag wil is het volgende resultaat met een query.

    4, a, aalscholver
    1, a, aap
    2, b, beer
    3, b, boskonijn

    Ofwel gesorteerd op title, maar als extra resultaat de eerste letter van het title veld.

    Is dit mogelijk? Ik zit nu met PHP een oplossing te bedenken. Maar ik heb het vermoeden dat ik dom bezig ben en dat het ook met MySQL kan.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $sql = "SELECT `id,title` FROM `tabelnaam` ORDER BY `title` ASC"; 
     $query = mysql_query($sql) or die("line: ". __LINE__ ." error: ". mysql_error());
     
     while($obj = mysql_fetch_object($query)){

     $id = $obj->id;
     $title = $obj->title;
     $title_start = substr($title,0,1);
     
      echo $id . ",".  $title_start .", ". $title;
     }


    zoiets? Of begrip ik je verkeerd?
    You're crazy in the coconut..
    That boy needs therapy..
    pi_47796084
    Hallo hallo,

    Ik moest voor mijn vader vorig jaar een site maken voor een of andere nordic walking tocht. Weet weinig tot niks van PHP en heb dus gewoon een code van internet gepakt (voor het aanmeldformulier). Nu willen ze deze site voor die van dit jaar ook weer gebruiken, en ik moest een veld weghalen. Toen hebi k waarschijnlijk een code weggehaald en nu werkt het aanmeldformulier niet meer..:

    Site:
    http://www.nordicwalking3provincientocht.nl/aanmelden.html

    Code:
    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    <html>

    <head>
    <meta http-equiv="Content-Language" content="nl">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nieuwe pagina 3</title>

    </head>

    <body background="../images/fredeshiemnordicwalkingN-12.gif" bgproperties="fixed">
    <?php
       
       function valid_name ($str) {
           return  (ereg ('^[A-Za-z. -]+$', $str));
          }
          
       function valid_adres ($str) {
           return  (ereg ('^[0-9A-Za-z. -]+$', $str));
          }
          
          function valid_woonplaats ($str) {
           return  (ereg ('^[A-Za-z. -]+$', $str));
          }
          
          function valid_mailadres ($str) {
           return  (ereg ('(^[0-9a-zA-Z_.-]{1,}@([0-9a-zA-Z_-]{1,}.)+[0-9a-zA-Z_-]{2,}$)', $str));
          }
          
          function valid_telefoon ($str) {
           return  (ereg ('^[0-9, -]+$', $str));
          }
          
          function valid_aantal ($str) {
           return  (ereg ('^[0-9]+$', $str));
          }   
          
    if ($verzendbutton != "verzenden" || !valid_name($naam) || !valid_adres($adres) || !valid_woonplaats($woonplaats) || !valid_mailadres($mailadres) || !valid_telefoon($telefoon) || !valid_aantal($aantal) ) { // dus als het formulier leeg is
    ?>
    <p> </p>
    <p align="center"><font color="#000000" size="2" face="verdana"><strong>Hier kunt u zich aanmelden!</strong></font></p>
    <form action="aanmeldform.php" method="post">
      <table width="100%"  border="0" cellspacing="2" cellpadding="2">
        <tr> 
          <td width="35%"><strong><font color="#000000" size="2" face="verdana">Naam:</font></strong></td>
          <td> <strong><font color="#000000" size="2" face="verdana"> 
           <?php
       if ($verzendbutton && !valid_name($naam)) {
          echo "<font color="ff0000">Vul hier uw naam correct in!</font><br>";
          }
          ?>
          <input name="naam" type="text" size="57" value=<?php echo "$naam"; ?>>
            </font></strong></td>
        </tr>
            <tr> 
          <td width="35%"><strong><font color="#000000" size="2" face="verdana">Adres:</font></strong></td>
          <td> <strong><font color="#000000" size="2" face="verdana"> 
           <?php
       if ($verzendbutton && !valid_adres($adres)) {
          echo "<font color="ff0000">Vul hier uw adres correct in!</font><br>";
          }
          ?>
          <input name="adres" type="text" size="57" value=<?php echo "$adres"; ?>>
            </font></strong></td>
        </tr>
           <tr> 
          <td width="35%"><strong><font color="#000000" size="2" face="verdana">Woonplaats:</font></strong></td>
          <td> <strong><font color="#000000" size="2" face="verdana"> 
           <?php
       if ($verzendbutton && !valid_woonplaats($woonplaats)) {
          echo "<font color="ff0000">Vul hier uw woonplaats in!</font><br>";
          }
          ?>
          <input name="woonplaats" type="text" size="57" value=<?php echo "$woonplaats"; ?>>
            </font></strong></td>
        </tr>
          <tr> 
          <td><strong><font color="#000000" size="2" face="verdana">Email adres: </font></strong></td>
          <td> <strong><font color="#000000" size="2" face="verdana"> 
         <?php
       if ($verzendbutton && !valid_mailadres($mailadres)) {
          echo "<font color="ff0000">Vul hier uw mailadres correct in!</font><br>";
          }
          ?> 
            <input name="mailadres" type="text" size="57" value=<?php echo "$mailadres";?>>
            </font></strong></td>
        </tr>
       
        <tr> 
          <td><strong><font color="#000000" size="2" face="verdana">Telefoonnummer:</font></strong></td>
          <td><strong><font color="#000000" size="2" face="verdana"> 
        <?php
       if ($verzendbutton && !valid_telefoon($telefoon)) {
          echo "<font color="ff0000">Vul hier uw telefoonummer in! (netnummer en kengetal s.v.p.)</font><br>";
          }
          ?> 
            <input name="telefoon" type="text" size="12" value=<?php  echo "$telefoon";?>>
            </font></strong></td>
        </tr>
        <tr> 
          <td width="35%"><strong><font color="#000000" size="2" face="verdana">Aantal personen:</font></strong></td>
          <td> <strong><font color="#000000" size="2" face="verdana"> 
           <?php
       if ($verzendbutton && !valid_aantal($aantal)) {
          echo "<font color="ff0000">Vul hier het aantal personen in dat zich opgeeft.</font><br>";
          }
          ?>
          <input name="aantal" type="text" size="3" value=<?php echo "$aantal"; ?>>
            </font></strong></td>
        </tr>


    </SELECT></font></strong></td>

        <tr> 
          <td> </td>
          <td><strong><font color="#000000" size="2" face="verdana"> 
            <input type="submit" value="verzenden" name="verzendbutton">
            </font></strong></td>
        </tr>
      </table>
    </form>
    <?php
    } else { // in alle andere gevallen (dus formulier verzonden)

       {
       $naam = ucfirst($naam);               
       $boodschap = "Verzonden via de website Nordic Walking 3 provinciëntochtnnaam: ".$naam.
       "nadres: ".$adres.
       "nwoonplaats: ".$woonplaats.
       "ntelefoon: ".$telefoon.
       "naantal: ".$aantal.
       "nclinic: ".$clinic;
       mail("info@fredeshiem.nl","Aanmeldormulier via website nordicwalking", $boodschap, "from: $mailadres");
       }
       echo "<center><P><font color="ffffff" size=4 face=verdana>Beste ".$naam.",<P> Bedankt voor het versturen van het aanmeldformulier! <P> 
    pi_47796550
    Een backslash voor elke quote rondom de "ffffff" op regel 135

    Evenals een quote en een punt-komma op het einde.
    pi_47796620
    sorry ik vat hem niet helemaal, je bedoelt dit?

    </P>

    ?
    pi_47797037
    1
    2
    3
    <?php
    echo "test";
    ?>
    PS4 online: micro_nl
      donderdag 29 maart 2007 @ 16:44:38 #46
    53753 BereNDD
    drampo uit je raam
    pi_47797083
    quote:
    Op donderdag 29 maart 2007 16:34 schreef Nielz. het volgende:
    sorry ik vat hem niet helemaal, je bedoelt dit?

    </P>

    ?
    Dit
    1echo "<center><P><font color="ffffff" size=4 face=verdana>Beste ".$naam.",<P> Bedankt voor het versturen van het aanmeldformulier! <P> 


    vervangen voor:

    1echo "<center><P><font color=\"ffffff\" size=4 face=verdana>Beste ".$naam.",<P> Bedankt voor het versturen van het aanmeldformulier! <P>";


    Php denkt namelijk dat je al klaar bent met echo'en na de = , omdat je hier weer dubbele quotes gebruikt. Je kan ook de dubbele quotes vervangen voor een single quote dus

    1font color='#fff'


    of de dubbele quotes aan het begin vervangen door een single quote

    1echo 'hier dan al die inhoud <font color="#ffffff">';
    You're crazy in the coconut..
    That boy needs therapy..
      donderdag 29 maart 2007 @ 16:54:49 #47
    85514 ralfie
    !Yvan eht nioj
    pi_47797555
    weer een aantal slachtoffers van de fok backslash bug

    Ik denk niet dat die unescaped quotes het probleem zijn, zeker omdat ze door de hele code staan en dit een bekende FOK bug is.

    @nielz: wat is de error die je krijgt?
    pi_47797625
    Hmm heb het geprobeerd maar krijg bij beidne nog steeds de foutmelding. Toch bedankt

    Edit: Oh had die andere berichten nog niet gezien, deze was voor berend.

    Foutmelding:

    Parse error: parse error, unexpected $ in /home/httpd/vhosts/nordicwalking3provincientocht.nl/httpdocs/aanmeldform.php on line 135

    @guitarist: het is voor mij nog een beetje abracadabra dus ik heb niet echt door wat je zegt sorry
      donderdag 29 maart 2007 @ 17:09:38 #49
    53753 BereNDD
    drampo uit je raam
    pi_47798148
    quote:
    Op donderdag 29 maart 2007 16:56 schreef Nielz. het volgende:
    Hmm heb het geprobeerd maar krijg bij beidne nog steeds de foutmelding. Toch bedankt :)

    Edit: Oh had die andere berichten nog niet gezien, deze was voor berend.

    Foutmelding:

    Parse error: parse error, unexpected $ in /home/httpd/vhosts/nordicwalking3provincientocht.nl/httpdocs/aanmeldform.php on line 135

    @guitarist: het is voor mij nog een beetje abracadabra dus ik heb niet echt door wat je zegt sorry
    hmm.. aan je code te zien.. ben je gewoon vergeten de regel af te sluiten even
    1";


    aan het eind plaatsen om de echo zin af te sluiten
    You're crazy in the coconut..
    That boy needs therapy..
    pi_47802121
    Bedankt, maar nu krijg ik dan deze error:
    Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/httpd/vhosts/nordicwalking3provincientocht.nl/httpdocs/aanmeldform.php on line 135

    dus ik denk niet dat het die was
      donderdag 29 maart 2007 @ 19:28:44 #51
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_47802645
    Deze formule om van een totaal bedrag INCL btw een bedrag EXCL btw te maken, klopt toch?

    $prijs = ((($incl_btw / (100+$btw)) * 100));
    pi_47802741
    quote:
    Op donderdag 29 maart 2007 19:28 schreef Likkende_Lassie het volgende:
    Deze formule om van een totaal bedrag INCL btw een bedrag EXCL btw te maken, klopt toch?

    $prijs = ((($incl_btw / (100+$btw)) * 100));
    $prijs = (($incl_btw / (100+$btw)) * 100);
    Haakje teveel aan het einde.

    Edit: oh ook aan het begin, zo dan.
    -
      donderdag 29 maart 2007 @ 19:32:29 #53
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_47802797
    En aan het begin ook dan ja..maargoed, veranderd er niets aan :p
    O zie je edit al
      donderdag 29 maart 2007 @ 19:33:23 #54
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_47802824
    Hmm stom ding rond het af als ik 24.95 doe naar beneden
    pi_47802926
    quote:
    Op donderdag 29 maart 2007 19:28 schreef Likkende_Lassie het volgende:
    Deze formule om van een totaal bedrag INCL btw een bedrag EXCL btw te maken, klopt toch?

    $prijs = ((($incl_btw / (100+$btw)) * 100));
    Het is altijd handiger om eerst te vermenigvuldigen en daarna pas te delen. Dus:

    1
    2
    3
    <?php
    $prijs 
    $incl_btw 100 / (100 $btw);
    ?>


    Nu zal het niet zoveel uitmaken (omdat PHP automatisch naar doubles converteert), maar je kan met afrondingsverschillen te maken krijgen. Zeker als je met integers werkt kan het aardig fout gaan. Bijvoorbeeld:

    1
    2
    1 / 100 * 200 = 0
    1 * 200 / 100 = 2


    1 / 100 = 0.01, wat wordt afgerond naar 0. 0 * 200 = 0.
    1 * 200 = 200, wat 200 blijft. 200 / 100 = 2.

    In PHP maakt dat niet uit, want integers worden vanzelf doubles enzo.
      donderdag 29 maart 2007 @ 19:37:50 #56
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_47802993
    Als ik 23.95 door die formule haal komt er 19.328 uit, dat klopt niet.
      donderdag 29 maart 2007 @ 19:40:42 #57
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_47803113
    $btw is trouwens bijvoorbeeld 19...
    pi_47803192
    1
    2
    3
    4
    5
    6
    <?php
    $incl_btw
    = 23.95;
    $btw = 19;

    $prijs = $incl_btw * 100 / (100 + $btw);
    ?>


    Dat levert 20,13 op.
      donderdag 29 maart 2007 @ 19:48:35 #59
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_47803449
    Ik heb even doorgezocht, 23.95 bleek 23,95 te zijn, niet echt netjes van de vorige programmeur
    pi_47803533
    quote:
    Op donderdag 29 maart 2007 19:13 schreef Nielz. het volgende:
    Bedankt, maar nu krijg ik dan deze error:
    Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/httpd/vhosts/nordicwalking3provincientocht.nl/httpdocs/aanmeldform.php on line 135

    dus ik denk niet dat het die was
    Volgens mij is het echt een moeilijke, heb al iemand even op MSn gesproken en die kwam er ook niet uit
      donderdag 29 maart 2007 @ 19:51:36 #61
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_47803576
    Maar thanks!
    pi_47803946
    quote:
    Op donderdag 29 maart 2007 19:31 schreef splendor het volgende:

    [..]

    $prijs = (($incl_btw / (100+$btw)) * 100);
    Haakje teveel aan het einde.

    Edit: oh ook aan het begin, zo dan.
    En daarom hou ik van editors die gelijk haakjes afsluiten
    pi_47804161
    quote:
    Op donderdag 29 maart 2007 19:50 schreef Nielz. het volgende:

    [..]

    Volgens mij is het echt een moeilijke, heb al iemand even op MSn gesproken en die kwam er ook niet uit
    1
    2
    3
    <?php
    echo "<center><P><font color="ffffff" size=4 face=verdana>Beste ".$naam.",<P> Bedankt voor het versturen van het aanmeldformulier! <P>
    ?>


    Dat kan natuurlijk niet hè. Die kleur staat tussen ", maar dat staat de echo ook. Met syntax highlighting zie je meteen dat die echo dus verkeerd wordt afgebroken.

    1
    2
    3
    <?php
    echo '<center><p><font color="ffffff" size=4 face=verdana>Beste ' $naam ',<p> Bedankt voor het versturen van het aanmeldformulier! <p>';
    ?>


    [ Bericht 5% gewijzigd door HuHu op 30-03-2007 09:17:14 ]
    pi_47804562
    quote:
    Op donderdag 29 maart 2007 20:01 schreef Geqxon het volgende:

    [..]

    En daarom hou ik van editors die gelijk haakjes afsluiten
    Welke editor gebruik jij eigenlijk?

    Ik Dreamweaver 8 maar die vind ik alleen handig vanwege de ingebouwde FTP.
    pi_47804731
    quote:
    Op donderdag 29 maart 2007 20:18 schreef super-muffin het volgende:

    [..]

    Welke editor gebruik jij eigenlijk?

    Ik Dreamweaver 8 maar die vind ik alleen handig vanwege de ingebouwde FTP.
    TextMate. Kost dacht ik iets van 30 dollar. Heerlijk, ondersteund een stuk of 30 talen, kan met PHP een pagina live "compilen", mooi stukje software
    pi_47806867
    quote:
    Op donderdag 29 maart 2007 20:08 schreef HuHu het volgende:

    [..]
    [ code verwijderd ]

    Dat kan natuurlijk niet hè. Die kleur staat tussen ", maar dat staat de echo ook. Met syntax highlighting zie je meteen dat die echo dus verkeerd wordt afgebroken.
    [ code verwijderd ]
    Zou je misschien even dan de volledige code weer kunnen kopieren want ik heb nog steeds niet helemaal door wat er bedoeld wordt :p
    pi_47808873
    quote:
    Op donderdag 29 maart 2007 21:18 schreef Nielz. het volgende:

    [..]

    Zou je misschien even dan de volledige code weer kunnen kopieren want ik heb nog steeds niet helemaal door wat er bedoeld wordt :p
    Het is de laatste regel van je code.

    En als je echo gebruikt, dan zet je de tekst tussen " neer. Maar dan kan je in de tekst geen " gebruiken, omdat PHP dan denkt dat je echo daar stopt. Dan moet je dus ' gebruiken of de " escapen.

    1
    2
    3
    4
    5
    <?php
    echo "Hoi "onbekend", hoe gaat het?"// FOUT
    echo 'Hoi "onbekend", hoe gaat het?'// GOED
    echo "Hoi \"onbekend\", hoe gaat het?" // GOED
    ?>


    Zie ook de kleurverschillend door de syntax highlight.
    pi_47809458
    Dank je

    En tóch lukt het me niet, best wel frustrerend: iets dat waarschijnlijk heel simpel is snap ik niet :p

    de code die ik nu op de laatste 2 regels heb:
    1
    2
       echo '<center><p><font color="ffffff" size=4 face=verdana>Beste ' . $naam . ',<p> Bedankt voor het versturen van het aanmeldformulier! <p>
            ?>
    pi_47809682
    Vergeet niet te eindigen met een

    1';


    :)
    pi_47809954
    1
    2
    echo '<center><p><font color="ffffff" size=4 face=verdana>Beste ' . $naam . ',<p> Bedankt voor het versturen van het aanmeldformulier! <p>';
    ?>


    Edit: Te laat.
    -
    pi_47820045
    Iemand die mij nog kan helpen met de volgende probleem? ik snap het echt niet... heb heel veel geprobeerd maar steeds geen juiste uitkomst

    http://forum.fok.nl/topic/1001410/1/50#47754749


    echo base64_encode($user.":".$pass);

    zo moet het dus

    [ Bericht 25% gewijzigd door Chandler op 30-03-2007 09:24:17 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_47827764
    Ik heb een zoekmachine gemaakt alleen is hij zeer onduidelijk. Nu wil ik het duidelijker maken om de zoek termen een kleur te geven (highlight).

    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
    <?php
    function markeertext ($str$hex '#FFAAAA') {
        if(
    strlen($hex) != || substr($hex01) != "#") {
            return 
    false;
        } elseif (empty(
    $str) || empty($hex)) {
            return 
    false;
        } elseif (
    strlen($hex) == && substr($hex01) == "#") {
            
    $highlight "<span style="background-color" . $hex . "">" $str "</span>";
            
    $replace str_replace($str$highlight$str);
            return 
    $replace;
        } else {
            return 
    false;
        }


    // wat code

        
    if (mysql_num_rows($result) >= 1) {
            
            while (
    $row mysql_fetch_array($result)) {
                
    //$bericht = substr($row[nieuws_bericht], 0, 100);
                
    $bericht $row[nieuws_bericht];
                
    //$titel = markeertext($HTTP_POST_VARS[zoekterm]);
                //$bericht = markeertext($HTTP_POST_VARS[zoekterm]);
                
    echo "Titel: $row[nieuws_titel]<br />n";
                echo 
    "Bericht: $bericht<br /><br />nn";
            }
        } else {
            echo 
    "Er is zijn geen resultaten gevonden met de zoekterm <i>$HTTP_POST_VARS[zoekterm]</i>.n";
        }
    ?>


    Als ik $titel = markeertext($HTTP_POST_VARS[zoekterm]); gebruik, laat hij alleen het woordje zien die dan gekleurd is zonder de rest van de tekst.
    Wat ik wil is dat de volledige zoek resultaten getoond worden en erin moet de zoek term gekleurd zijn.

    Wat moet ik doen om hem zo te krijgen? Wie kan mij verder helpen?
    pi_47828587
    Je code is ook lekker onduidelijk en de fout zit in de aanroep van str_replace:
    header: mixed str_replace ( mixed $search, mixed $replace, mixed $subject [, int &$count] )

    Je moet ook nog $bericht en $titel meesturen aan die markeertext functie.

    En zet error_reporting(E_ALL) eens aan.
    pi_47828864
    Wat mij in eerste instantie opvalt is dat ik je if-statements rommelig vind. Imho kan het beter als:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
      
    if(strlen($hex) == && substr($hex01) == "#" && !empty(str)) {
          return 
    $code;
      }
      else{
          return 
    false
      
    }
    ?>


    De empty() functie op $hex kan er hoe dan ook uit, want als hex groter is dan zeven kan hij onmogelijk leeg zijn. Daarnaast vind ik het persoonlijk netter om alles waar het aan moet voldoen in een if te zetten, en als het daar niet aan voldoet de else richting in de gaan.
      vrijdag 30 maart 2007 @ 14:08:14 #75
    12880 CraZaay
    prettig gestoord
    pi_47829447
    quote:
    Op donderdag 29 maart 2007 19:28 schreef Likkende_Lassie het volgende:
    Deze formule om van een totaal bedrag INCL btw een bedrag EXCL btw te maken, klopt toch?

    $prijs = ((($incl_btw / (100+$btw)) * 100));
    Of simpel (als het btw percentage 19% is, voor 6% 1.06):

    $prijs = $incl_btw / 1.19;
    pi_47829451
    En hoe ik iets als dit in zijn totaliteit zou doen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?

    function highligthText($string,$keyword){
       $highlight = "<span style="background-color: #FF9900">" . htmlspecialchars($keyword) . "</span>";
        return str_ireplace($keyword, $highlight, $string);
    }

    echo highligthText("Mijn naam is hans","Hans")

    ?>
      vrijdag 30 maart 2007 @ 14:16:58 #77
    74523 BaggerUser
    ModderFokker!
    pi_47829859
    Dag,

    We zijn bezig om php te installeren op een server windows 2000 met IIS.
    Dit is volgens ons in principe gelukt.

    php werkt, phpinfo() wordt weergegeven, we hebben sql geEnabled

    <?php
    // =================================== Instellingen ===================================
    // Hostnaam
    $host = 'goedehost';
    // Gebruiker die toegang heeft tot de database
    $user = 'gebruikersnaam';
    // Wachtwoord van de gebruiker die toegang heeft tot de database
    $pass = 'goedewachtwoord';
    // Naam van de database
    $db = 'goededatabasenaam';

    mysql_connect($host,$user,$pass);
    mysql_select_db($db);

    ?>

    Maar we krijgen de error:

    1PHP Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'goedehost' (10061) in C:Inetpubwwwrootphpconfig.php on line 12 PHP Warning: mysql_select_db() [function.mysql-select-db]: Can't connect to MySQL server on 'localhost' (10061) in C:Inetpubwwwrootphpconfig.php on line 13 PHP Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in C:Inetpubwwwrootphpconfig.php on line 13 


    volgens ons kan deze geen connectie maken met de host ? waar zou dit aan kunnen liggen?
    we hebben PHP versie 5.2.1 gebruikt


    wat sql info uit phpinfo();
    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
    mysql
    MySQL Support enabled 
    Active Persistent Links  0  
    Active Links  0  
    Client API version  5.0.22  

    Directive Local Value Master Value 
    mysql.allow_persistent On On 
    mysql.connect_timeout 60 60 
    mysql.default_host no value no value 
    mysql.default_password no value no value 
    mysql.default_port no value no value 
    mysql.default_socket no value no value 
    mysql.default_user no value no value 
    mysql.max_links Unlimited Unlimited 
    mysql.max_persistent Unlimited Unlimited 
    mysql.trace_mode Off Off 


    mysqli
    MysqlI Support enabled 
    Client API library version  5.0.22  
    Client API header version  5.0.22  
    MYSQLI_SOCKET  /tmp/mysql.sock  

    Directive Local Value Master Value 
    mysqli.default_host no value no value 
    mysqli.default_port 3306 3306 
    mysqli.default_pw no value no value 
    mysqli.default_socket no value no value 
    mysqli.default_user no value no value 
    mysqli.max_links Unlimited Unlimited 
    mysqli.reconnect Off Off 
    De enige echte BaggerUser!
    Riemen
    fiets kopen
    pi_47829986
    MySQL al geinstalleerd?
      vrijdag 30 maart 2007 @ 14:21:49 #79
    74523 BaggerUser
    ModderFokker!
    pi_47830060
    quote:
    Op vrijdag 30 maart 2007 14:19 schreef Geqxon het volgende:
    MySQL al geinstalleerd?
    uiteraard, mysql stond al geinstalleerd, en er wordt ook gebruik van gemaakt.
    Er draaiden eerder echter alleen .asp sites op de server en nu willen er er ook een php script op zetten.
    De enige echte BaggerUser!
    Riemen
    fiets kopen
      vrijdag 30 maart 2007 @ 15:42:16 #80
    85514 ralfie
    !Yvan eht nioj
    pi_47833157
    quote:
    Op vrijdag 30 maart 2007 14:21 schreef BaggerUser het volgende:

    [..]

    uiteraard, mysql stond al geinstalleerd, en er wordt ook gebruik van gemaakt.
    Er draaiden eerder echter alleen .asp sites op de server en nu willen er er ook een php script op zetten.
    mysql extensie geactiveerd?

    in php.ini:

    ;extension=php_mysql.dll

    de ; verwijderen
    pi_47834033
    quote:
    Op vrijdag 30 maart 2007 15:42 schreef ralfie het volgende:

    [..]

    mysql extensie geactiveerd?

    in php.ini:

    ;extension=php_mysql.dll

    de ; verwijderen
    Als dat het probleem was geweest, herkende php de functie mysql_connect() niet eens. Gezien de fout die optreedt zie je dus dat het niet aan z'n .ini file ligt.
    pi_47836586
    quote:
    Op donderdag 29 maart 2007 22:20 schreef Geqxon het volgende:
    Vergeet niet te eindigen met een
    [ code verwijderd ]

    Beiden bedankt, maar is het zeker dat dit het is? Ik heb het nu erin staan, maar hij geeft de error:

    Parse error: parse error, unexpected $ in /home/httpd/vhosts/nordicwalking3provincientocht.nl/httpdocs/aanmeldform.php on line 136

    zie: http://www.nordicwalking3provincientocht.nl/aanmelden.html

    Heb even het php bestand gezipt en geupload:

    http://www.nordicwalking3provincientocht.nl/aanmeldform.zip
    pi_47837375
    Beetje triviale fout...?> ontbreekt.

    Had je met een beetje PHP editor allang zelf kunnen zien.

    En dat zippen suckt. Gaat ie van 5k naar 1k
    pi_47838802
    quote:
    Op vrijdag 30 maart 2007 17:43 schreef smesjz het volgende:
    Beetje triviale fout...?> ontbreekt.

    Had je met een beetje PHP editor allang zelf kunnen zien.

    En dat zippen suckt. Gaat ie van 5k naar 1k
    De ?> mag je aan het einde van het bestand weglaten.

    Zo te zien mist er nog een } aan het einde op regel 136. Of een { teveel op regel 125.
    pi_47839001
    quote:
    Op vrijdag 30 maart 2007 18:33 schreef HuHu het volgende:

    [..]

    De ?> mag je aan het einde van het bestand weglaten.

    Zo te zien mist er nog een } aan het einde op regel 136. Of een { teveel op regel 125.


    Hij doet het nu , echt heel erg bedankt voor de hulp
    pi_47841127
    De vuistregel: Zorg dat je altijd evenveel { als } hebt
      zaterdag 31 maart 2007 @ 01:05:26 #87
    65471 SkaterSam
    Lurking Galore
    pi_47851248
    Ik heb een functie gemaakt om bepaalde elementen, zoals user input te escapen. Dat doe ik door bijvoorbeeld het volgende aan te roepen:

    1$stmt = $db->prepareQuery("SELECT name FROM user LIMIT :1, 15");

    De :1 (en alle cijfers daarna) worden vervangen door variabelen door de volgende code aan te roepen:

    1$stmt->execQuery($limit);

    In deze functie gebeurt het volgende:

    1$this->query = str_replace(":$number", "'" . mysql_real_escape_string($value) . "'", $this->query);

    Waarbij :1 dus vervangen wordt.

    Het probleem is nu echter dat ik telkens MySQL Error 1064 krijg, omdat hij het getal dat in :1 zit (een 0 of een 10 of een 18, whatever, tussen haakjes plaatst. Het zelfde geldt trouwens voor tabel namen bijvoorbeeld, die van user input komen. Van "normale" variabelen in een query heb ik verder geen last. Alleen van die twee types. Is er een manier om daar mee te werken, om dat te herkennen ?

    Dit is de error btw (zoals je ziet staat de 0 tussen haakjes:
    quote:
    ...for the right syntax to use near ''0', 15'
    Let's make life easy
    Typo's are the demon spawn from hell !
      zaterdag 31 maart 2007 @ 09:55:41 #88
    76511 Xtr3mE
    X to the Z
    pi_47854462
    Ik kom met iets niet uit..

    Ik heb een soort van zoekonderdeel op de site die gevonden resultaten in een tabel weergeeft (dmv van echo)

    de code hieronder:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
          
    echo "<tr>
                <td><input type='checkbox' name='checkbox[]' value=$Artikelcode /></td>
                <td><input type='textfield' name='textfield[]' size='2' maxlength='4''/></td>
                <td><a href='artikel_info.php?artikelcode=$Artikelcode' target='blank'>$Artikelcode</a></td>
                <td>$Omschrijving</td>
                <td>$Aantal</td>
                <td>&euro; $VerhPincBTW</td>
                <td>&euro; $VerzPincBTW</td>
                <td>$Beschikbaar</td>
                </tr>n"
    ;
      }
      echo 
    "</table><br>";
      echo 
    "<input name='submit_artikel' type='submit' class='knop' id='submit_artikel' value='Voeg toe'>
    ?>


    Zoals je kan zien worden er checkboxes en textfields erbij gedaan bij elke rij.

    Men vinkt dus een artikel aan en geeft in de textfield een getal aan (het gewenste aantal)


    Probleem is nu het uitlezen hiervan en dit in de database stoppen.

    de code dat ik nu heb is:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
        
    if (isset($_POST['submit_artikel'])) { 
        
        foreach(
    $_POST['checkbox'] as $name => $value)
        {
            
    mysql_query("INSERT INTO reserveren ( Artikelcode, Klantnummer, Stuks )
                                   VALUES ('{$_POST['checkbox'][$name]}', '$Klantnummer', '{$_POST['textfield'][$name]}');"
    );
        }
        }
    ?>


    Opzich werkt het goed, ik vink paar artikelen aan en geef het aantal op en dit slaat ie netjes op in de database. (mits deze onderelkaar staan in de ge echo-de tabel

    Probleem is echter zodra deze niet onderelkaar staan en ik vink dus bijvoorbeeld de 1e en 3e artikel aan dan worden de aantallen niet opgeslagen en de rest wel gewoon :{

    Iemand die kan helpen ?
    It's time to kick ass and chew bubble gum... and I'm all out of bubble gum
    pi_47854628
    quote:
    Op zaterdag 31 maart 2007 01:05 schreef SkaterSam het volgende:
    Ik heb een functie gemaakt om bepaalde elementen, zoals user input te escapen. Dat doe ik door bijvoorbeeld het volgende aan te roepen:
    [ code verwijderd ]

    De :1 (en alle cijfers daarna) worden vervangen door variabelen door de volgende code aan te roepen:
    [ code verwijderd ]

    In deze functie gebeurt het volgende:
    [ code verwijderd ]

    Waarbij :1 dus vervangen wordt.

    Het probleem is nu echter dat ik telkens MySQL Error 1064 krijg, omdat hij het getal dat in :1 zit (een 0 of een 10 of een 18, whatever, tussen haakjes plaatst. Het zelfde geldt trouwens voor tabel namen bijvoorbeeld, die van user input komen. Van "normale" variabelen in een query heb ik verder geen last. Alleen van die twee types. Is er een manier om daar mee te werken, om dat te herkennen ?

    Dit is de error btw (zoals je ziet staat de 0 tussen haakjes:
    [..]
    Bij de LIMIT moeten de getallen niet tussen ' staan. In je code staat echter wel:

    1"'" . mysql_real_escape_string($value) . "'"


    Die "'" moeten dus weg. Bij waarden die je in je query gebruikt, bijvoorbeeld na de WHERE moet het juist wel.

    1
    2
    3
    GOED: SELECT * FROM table WHERE key = 'value' LIMIT 0, 10;
    FOUT: SELECT * FROM table WHERE key =  value  LIMIT 0, 10;
    FOUT: SELECT * FROM table WHERE key = 'value' LIMIT '0', '10';


    De 'value' na de WHERE mag je wel zonder ' schrijven als het een getal is.
      zaterdag 31 maart 2007 @ 12:55:21 #90
    65471 SkaterSam
    Lurking Galore
    pi_47857822
    Nog een vraag, misschien zie ik het niet, maar het volgende geeft als resultaat 1, terwijl er 16 rijen in comment zitten:

    1
    2
    3
    4
    5
    6
    <?php
    $query 
    "SELECT COUNT(*) AS number FROM comment GROUP BY cid";
    $resource mysql_query($query);
    $answer mysql_fetch_assoc($resource);
    echo 
    $answer['number'];
    ?>


    edit: hmmm, GROUP BY veroorzaakt de fout blijkbaar, maar hoe kan ik de resultaten groupen zodat er 16 blijft staan. Want mijn query (dit is een korte versie) heeft nog meer variabelen. Of moet ik echt een aparte COUNT(*) query uitvoeren dan...

    [ Bericht 9% gewijzigd door SkaterSam op 31-03-2007 13:01:07 ]
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_47858461
    http://www.w3schools.com/sql/func_count_distinct.asp

    SELECT COUNT(DISTINCT column(s)) FROM table
      zaterdag 31 maart 2007 @ 13:57:12 #92
    65471 SkaterSam
    Lurking Galore
    pi_47859291
    quote:
    Op zaterdag 31 maart 2007 13:23 schreef HuHu het volgende:
    http://www.w3schools.com/sql/func_count_distinct.asp

    SELECT COUNT(DISTINCT column(s)) FROM table
    Hmm ja, maar binnen deze query werkt het niet:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $query
    = "
    SELECT
      COUNT(DISTINCT c.cid) AS number,
      c.cid,
      c.naam
    FROM comment AS c
    GROUP BY c.cid
    ORDER BY c.cid DESC
    LIMIT 0, 15"
    ;
    ?>


    Maar ik weet bijvoorbeeld niet waarom bij deze query het resultaat ( $result['number'] bijvoorbeeld... ) leeg blijft. Ik heb al gekeken of LIMIT of ORDER BY een fout maakten, maar het resultaat bleef leeg op een of andere manier... Andere resultaten trouwens niet, alleen NUMBER bleef leeg...

    edit: ik wil het nog wel weten, maar ik heb het nu anders opgelost...

    [ Bericht 6% gewijzigd door SkaterSam op 31-03-2007 14:34:38 ]
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_47863819
    quote:
    Op zaterdag 31 maart 2007 10:08 schreef HuHu het volgende:

    [..]

    Bij de LIMIT moeten de getallen niet tussen ' staan. In je code staat echter wel:
    [ code verwijderd ]

    Die "'" moeten dus weg. Bij waarden die je in je query gebruikt, bijvoorbeeld na de WHERE moet het juist wel.
    [ code verwijderd ]
    De mysql_real_escape_string() is ook zinloos als het niet gebruikt wordt tussen quotjes. Je moet echt controleren of het een getal is.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_47871433
    Mag ik jullie hier vragen wat jullie van mijn statistieken van GFXPOLL vinden?

    http://www.gfxpoll.nl/index.php?page=stats

    Hebben jullie nog een idee voor een statistiek? zit zelf nog te denken welke dagen (maandag/zondag) en welke uren(00 / 24) voor bezoekers/polls zorgen

    was ziek en wilde toch mijzelf nuttig maken

    [ Bericht 12% gewijzigd door Chandler op 31-03-2007 21:35:14 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_47873489
    klein vraagje m.b.t. sql:

    ik zou een kort en bondig overzicht willen hebben van alle datatypes die je een veld kan geven, op mysql.com staat alles wel netjes verteld maar dat is ook niet "even" door te lezen.

    iemand?
    pi_47878256
    quote:
    Op zaterdag 31 maart 2007 21:18 schreef Chandler het volgende:
    Mag ik jullie hier vragen wat jullie van mijn statistieken van GFXPOLL vinden?

    http://www.gfxpoll.nl/index.php?page=stats

    Hebben jullie nog een idee voor een statistiek? zit zelf nog te denken welke dagen (maandag/zondag) en welke uren(00 / 24) voor bezoekers/polls zorgen

    was ziek en wilde toch mijzelf nuttig maken
    Even geen idee voor de statistieken, maar wel een complimentje voor de verschillende layouts hoe heb je dat voor elkaar gekregen? Class per poll layout?
    pi_47883887
    @Jera; http://www.gfxpoll.nl/index.php?page=copy

    Eingelijk best simpel hoor
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_47905071
    Ik heb de volgende code, welke altijd gewerkt heeft.

    1
    2
    3
    <?php
    $cmd = "convert logo: out.jpg";
    exec("$cmd 2>&1", $output);


    Dit maakte (icm ImageMagick) een plaatje aan van het logo van ImageMagick.

    Echter (nadat ik TightVNC ge-installeerd had, waar het niet perse aan hoeft te liggen), kan ik alleen nog maar:

    1exec("$cmd",$output);


    Wanneer ik die 2>&1 erachter laat, wordt er niets uitgevoerd. Iemand enig idee hoe ik het weer kan laten werken met 2>&1.

    Het systeem waar ik op draai is windows 2003 met Apache.
    pi_47910681
    Je moet variabelen altijd buiten de quotes houden ;)

    Maak er eens van:

    1exec($cmd . "2>&1", $output);


    etc.
      zondag 1 april 2007 @ 23:43:51 #100
    12880 CraZaay
    prettig gestoord
    pi_47910871
    quote:
    Op zondag 1 april 2007 23:38 schreef Frenkeman het volgende:
    Je moet variabelen altijd buiten de quotes houden

    Maak er eens van:
    [ code verwijderd ]

    etc.
    Variabelen binnen dubbele quotes horen gewoon geparsed te worden, daar zijn het dubbele quotes voor (i.t.t. enkele quotes).
    pi_47912317
    quote:
    Op zondag 1 april 2007 23:38 schreef Frenkeman het volgende:
    Je moet variabelen altijd buiten de quotes houden

    Maak er eens van:
    [ code verwijderd ]

    etc.
    Heb ik geprobeerd. Zelfde resultaat
    pi_47912415
    inkoppertje:
    heb je al geprobeerd TightVNC te verwijderen en te kijken wat hij dan doet?
    is er een melding in je errorlog?
      maandag 2 april 2007 @ 00:40:45 #103
    161108 JohannesPaulus
    Divide and conquer
    pi_47912796
    Het gaat om een PHP inlogsysteem. Ik wil wanneer ik inlog mijn username kunnen zien.
    Net als op FOK! dus: Je bent ingelogd als JohannesPaulus.

    Met onderstaand code kun je zien welke leden er allemaal online zijn. Ik wil een apart query maken om alleen mijn eigen username te kunnen zien zodra ik ben ingelogd...anyone?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    include("config.php");

    $sql "SELECT naam,status FROM gebruikers WHERE DATE_SUB(NOW(),INTERVAL 10 MINUTE) <= lastactive ORDER BY naam ASC";
    $query mysql_query($sql);
    $tellen mysql_num_rows($query);
    $i 1;
    while(
    $rij mysql_fetch_object($query)) {
     
    $naam htmlspecialchars($rij->naam);
     
    $status htmlspecialchars($rij->status);
     if(
    $status == 1) {
      
    $naam "<b>".$naam."</b>";
     }
     echo 
    $naam;
     if(
    $i != $tellen) {
      echo 
    ", ";
     }
     
    $i++;
    }        
    ?>
    In peace, sons bury their fathers; in war, fathers bury their sons. (484 BC–ca.425 BC, Herodotus)
    He who knows when he can fight and when he cannot will be victorious. (c. 544 – 496 BC, Sun Tzu)
    pi_47912800
    Ja, tightvnc ook verwijderd, nog steeds hetzelfde probleem.
    En niets in de error logs...
    pi_47912864
    Probeer het command op de machine eens in te typen?
    pi_47912932
    OP de command prompt werkt het gewoon. Dus het zit wel ergens in apache/php lijkt me..
    pi_47915712
    quote:
    Op maandag 2 april 2007 00:40 schreef JohannesPaulus het volgende:
    Het gaat om een PHP inlogsysteem. Ik wil wanneer ik inlog mijn username kunnen zien.
    Net als op FOK! dus: Je bent ingelogd als JohannesPaulus.

    Met onderstaand code kun je zien welke leden er allemaal online zijn. Ik wil een apart query maken om alleen mijn eigen username te kunnen zien zodra ik ben ingelogd...anyone?
    [ code verwijderd ]
    Op zich is heel die code niet eens nodig.

    Je moet de naam waarmee de persoon is ingelogd opslaan in de session.

    1
    2
    3
    4
    5
    <?php
    $_SESSION['user'] = htmlspecialchars($_POST['user']);
    .......
    echo $_SESSION['user'];
    ?>

    (of een dergelijke code)

    Gewoon de echo doen waar de tekst moet verschijnen, ik doe het ook altijd zo
    pi_47918047
    Let wel op de encoding, alleen encoden/decoden waar het nodig is. Zo dus:

    1
    2
    3
    4
    5
    <?php
    $_SESSION['user'] = $_POST['user'];
    .......
    echo htmlspecialchars($_SESSION['user']);
    ?>
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_47918720
    Zelf doe ik altijd mysql-real-escape-string voordat ik iets in een database invoer, en een htmlspecialchars als ik iets in de browser toon. Lijkt mij zelf het beste, toch?
      maandag 2 april 2007 @ 11:11:28 #110
    12880 CraZaay
    prettig gestoord
    pi_47918776
    quote:
    Op maandag 2 april 2007 11:09 schreef Geqxon het volgende:
    Zelf doe ik altijd mysql-real-escape-string voordat ik iets in een database invoer, en een htmlspecialchars als ik iets in de browser toon. Lijkt mij zelf het beste, toch?
    Ja. SuperRembo bedoelt alleen dat je de rauwe data in je sessie moet stoppen, zodat je die ook nog eens voor iets anders kunt gebruiken dan enkel weergave van die naam.
      maandag 2 april 2007 @ 12:08:14 #111
    161108 JohannesPaulus
    Divide and conquer
    pi_47920791
    Dank jullie wel voor de hulp
    Het werkt helaas niet

    Ik heb eerst de puntjes "......." verwijderd want ik kreeg een error.
    En daarna kreeg ik de volgende error:

    Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

    En zelfs als ik bovenstaand error oplos dan nog werkt het niet want ik krijg ipv de username allen de user-id nummer te zien. Ipv "Piet" krijg ik nu een "1"

    P.S, Ik hoop dat iemand mij kan helpen. Misschien dat een van jullie de script kan downloaden? De winnaar krijgt ¤25 euro van mij. (hey, rustig aan, ik ben maar een arme student )
    In peace, sons bury their fathers; in war, fathers bury their sons. (484 BC–ca.425 BC, Herodotus)
    He who knows when he can fight and when he cannot will be victorious. (c. 544 – 496 BC, Sun Tzu)
    pi_47921043
    Probeer eens de opvolger van dat script Johanners Paulus.
    http://www.phphulp.nl/php/scripts/8/564/
    Deze lijkt mij een stuk beter, en misschien is jouw 'probleem' daarin al opgelost.
      maandag 2 april 2007 @ 12:16:43 #113
    161108 JohannesPaulus
    Divide and conquer
    pi_47921099
    quote:
    Op maandag 2 april 2007 12:15 schreef Darkomen het volgende:
    Probeer eens de opvolger van dat script Johanners Paulus.
    http://www.phphulp.nl/php/scripts/8/564/
    Deze lijkt mij een stuk beter, en misschien is jouw 'probleem' daarin al opgelost.
    Ja ik had het al geupload op mijn server en de script geinstalleerd maar mijn probleem is nog niet opgelost Thanks.
    In peace, sons bury their fathers; in war, fathers bury their sons. (484 BC–ca.425 BC, Herodotus)
    He who knows when he can fight and when he cannot will be victorious. (c. 544 – 496 BC, Sun Tzu)
    pi_47943066
    1
    2
    3
    4
    if (count($error) != 0) {
       foreach ($error as $errors)
       {$this->content .= $errors;}
       $this->content .= $this-aanmelden;


    Ik heb hier wat vreemds, als ik $this->aanmelden toevoeg op deze manier dan komt er een 1 te staan in plaats van de inhoud van $this->aanmelden. Als ik $this->aanmelden op deze plaats echo dan laat hij gewoon de correcte string zien.
    pi_47943417
    quote:
    Op maandag 2 april 2007 21:58 schreef ExCibular het volgende:

    [ code verwijderd ]

    Ik heb hier wat vreemds, als ik $this->aanmelden toevoeg op deze manier dan komt er een 1 te staan in plaats van de inhoud van $this->aanmelden. Als ik $this->aanmelden op deze plaats echo dan laat hij gewoon de correcte string zien.
    Er staat ook $this MIN aanmelden, niet $this pijltje aanmelden
    pi_47943981
    quote:
    Op maandag 2 april 2007 22:05 schreef JeRa het volgende:

    [..]

    Er staat ook $this MIN aanmelden, niet $this pijltje aanmelden
    thanx die had ik gemist
    pi_47944757
    Wel vreemd dat php dit gewoon slikt en geen foutmelding geeft.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_47945226
    quote:
    Op maandag 2 april 2007 22:33 schreef SuperRembo het volgende:
    Wel vreemd dat php dit gewoon slikt en geen foutmelding geeft.
    PHP ziet een minteken staan dus convert zowel de linkerkant als de rechterkant naar integers. De linkerkant is convertable (gek genoeg) en wordt 1, de rechterkant een constante die niet bestaat en wordt dus 0. De vraag in deze is dus waarom (int)$this gelijk is aan 1 het heeft verder ook niets met identifiers te maken, onafhankelijk van het aantal instanties krijg je altijd 1 terug
    pi_47955173
    Wie van jullie gebruikt er multiviews? Is het handiger/sneller/makkelijker dan .htaccess? Wat zijn de voor en nadelen er van?
      dinsdag 3 april 2007 @ 17:37:52 #120
    157229 Boschkabouter
    Met puntmuts.
    pi_47971135
    Maakt het eigenlijk wat uit of je Apache of IIS gebruikt om PHP pagina's te draaien?
    Ik heb namelijk interesse om eens wat PHP te gaan leren, maar geen zin om Apache te instaleren en te gebruiken naast IIS. (en vooral omdat ik geen ruk van dat apache snap.)
    pi_47972371
    quote:
    Op dinsdag 3 april 2007 17:37 schreef Boschkabouter het volgende:
    Maakt het eigenlijk wat uit of je Apache of IIS gebruikt om PHP pagina's te draaien?
    Ik heb namelijk interesse om eens wat PHP te gaan leren, maar geen zin om Apache te instaleren en te gebruiken naast IIS. (en vooral omdat ik geen ruk van dat apache snap.)
    Apache is snel en gemakkelijk geïnstalleerd en die geef ik normaal dan ook de voorkeur. Aangezien ik momenteel echter ook met Visual Basic, ASP en .NET bezig ben zit ik vrijwel aan IIS vast gezien ASP daar voornamelijk op draait.
    pi_47980490
    Mensen,

    Het is toch onmogelijk om middels PHP een fake IP adres te gebruiken als je bv via fsockopen gegevens verstuurd naar webservers?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_47995304
    quote:
    Op dinsdag 3 april 2007 21:29 schreef Chandler het volgende:
    Mensen,

    Het is toch onmogelijk om middels PHP een fake IP adres te gebruiken als je bv via fsockopen gegevens verstuurt naar webservers?
    Nee. Je kan geen fake adres gebruiken om iets te versturen via fsockopen. fsockopen is gewoon een wrapper voor connect() en daarmee heb je die optie niet.
    In de eerste 8bit van een IPv4 header staat o.a. source & destination IP adres en dat is dus afgeschermd voor normale applicaties zoals PHP e.d.
    pi_48014890
    Hey,

    Ik ben bezig met een script en ik heb nu een foutmelding, deze is als volgt:

    uitgevoerde query: SELECT * FROM tbl_inschrijving INNER JOIN tbl_artikelregel ON tbl_artikelregel.inschrijf_id = tbl_inschrijving.inschrijf_id WHERE inschrijf_id = 1 .
    MySQL-foutnummer: 1052
    MySQL-melding: Column 'inschrijf_id' in where clause is ambiguous

    Weet iemand toevallig wat er dan fout is. De query ziet er als volgt uit:

    $query = "SELECT * FROM tbl_inschrijving INNER JOIN tbl_artikelregel ON tbl_artikelregel.inschrijf_id = tbl_inschrijving.inschrijf_id WHERE inschrijf_id = $inschrijf_id";
      woensdag 4 april 2007 @ 19:16:46 #125
    51748 H4ze
    wait...what?
    pi_48015204
    Kijk is naar de inschrijf_id in je WHERE clause MySQL weet niet welke inschrijf_id hij nu precies moet pakken (aangezien inschrijf_id dus in meerdere tabellen voorkomt). FFtjes de tabelnaam er dus nog voorzetten.
    *BURP*
    pi_48015377
    Och... dat ik daar zelf niet aan gedacht heb.. bedankt!!! het werkt
    pi_48022326
    oke vraagje:
    als ik op een bepaalde site zoek krijg ik een lijst met matches, deze lijst wil ik importeren/invoegen in mijn eigen omgeving (die nog ongedefineerd is, dus lekker soepel)
    wat wil ik precies:
    ik tik in een zoek forumlier bij mijn site een naam in, er wordt door php een get request gedaan met de juiste url en vervolgens plukt hij de resultaten uit de gekregen pagina.
    dit een voorbeeltje van een zoek term op de site:
    http://www.animenewsnetwo(...)h.php?searchbox=love
      woensdag 4 april 2007 @ 22:07:40 #128
    85514 ralfie
    !Yvan eht nioj
    pi_48022953
    quote:
    Op woensdag 4 april 2007 21:54 schreef mschol het volgende:
    oke vraagje:
    als ik op een bepaalde site zoek krijg ik een lijst met matches, deze lijst wil ik importeren/invoegen in mijn eigen omgeving (die nog ongedefineerd is, dus lekker soepel)
    wat wil ik precies:
    ik tik in een zoek forumlier bij mijn site een naam in, er wordt door php een get request gedaan met de juiste url en vervolgens plukt hij de resultaten uit de gekregen pagina.
    dit een voorbeeltje van een zoek term op de site:
    http://www.animenewsnetwo(...)h.php?searchbox=love
    en wat is nu je vraag?
    pi_48023760
    quote:
    Op woensdag 4 april 2007 22:07 schreef ralfie het volgende:

    [..]

    en wat is nu je vraag?
    hoe ik dat voor elkaar kan krijgen
    dat hij dus alleen de resultaten eruit pakt en dat ik deze vervolgens kan hergebruiken in mijn omgeving..
    pi_48026298
    quote:
    Op woensdag 4 april 2007 22:24 schreef mschol het volgende:

    [..]

    hoe ik dat voor elkaar kan krijgen
    dat hij dus alleen de resultaten eruit pakt en dat ik deze vervolgens kan hergebruiken in mijn omgeving..
    En wat lukt je niet? Het downloaden van de pagina? Het parsen van de resultaten? Het opslaan van de resultaten? Het weergeven van de resultaten?
    pi_48036737
    quote:
    Op woensdag 4 april 2007 23:24 schreef JeRa het volgende:

    [..]

    En wat lukt je niet? Het downloaden van de pagina? Het parsen van de resultaten? Het opslaan van de resultaten? Het weergeven van de resultaten?
    ik weet dat er een functie voor was maar welke weet ik dus niet meer
    (en op die manier kan ik nie eens beginnen )
    pi_48037121
    Hoe ik dat zou doen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $lines 
    file($showurl);

    if (
    $lines){
        foreach (
    $lines as $line_num => $line){            
            if (
    eregi("<a href="(.*)">(.*)</a>"$line$found)){
                
    $name    $found[2];
                
    $url     $found[1];
                echo 
    $name " - " $url;
            }
        }
    }
    ?>
      donderdag 5 april 2007 @ 12:26:22 #133
    85514 ralfie
    !Yvan eht nioj
    pi_48038006
    quote:
    Op donderdag 5 april 2007 12:03 schreef Geqxon het volgende:
    Hoe ik dat zou doen:
    [ code verwijderd ]
    twee problemen heb je dan wel:
    1) eregi is veel trager als bijv preg_match_all
    2) je neemt alle links mee, ook die van advertenties etc

    Met andere woorden, probeer eens iets als

    1
    2
    3
    4
    5
    6
    <?php
    $contents
    =file_get_contents('http://www.animenewsnetwork.com/encyclopedia/search.php?searchbox=love');
    $to_match=substr($contents,($a=strpos($contents,'<!-- google_ad_section_start -->')),(strpos($contents,'<!-- google_ad_section_end -->')-$a));
    preg_match_all('#<a href="(.*?)">(.*?)</a>#i',$to_match$matches);
    var_dump($matches);
    ?>
    pi_48038146
    Ik had nog niet op de link geklikt, de eregi zoals ik hem heb pakt inderdaad alles. Het was puur een richtlijn

    Verder is mijn voorbeeld uiteraard basic, om te laten zien hoe het kan. Verdere optimalisatie is een stap verder.
      donderdag 5 april 2007 @ 12:53:44 #135
    85514 ralfie
    !Yvan eht nioj
    pi_48038945
    quote:
    Op donderdag 5 april 2007 12:30 schreef Geqxon het volgende:
    Ik had nog niet op de link geklikt, de eregi zoals ik hem heb pakt inderdaad alles. Het was puur een richtlijn

    Verder is mijn voorbeeld uiteraard basic, om te laten zien hoe het kan. Verdere optimalisatie is een stap verder.
    je hebt gelijk, ik ben veel te aardig anderen hun werk te doen
    pi_48041228
    Non de ju, ik wist dat preg_match sneller was, maar waar ik nu mee bezig bent, daar scheelt het gewoon seconden

    Ik vroeg mij alleen wel af of preg_match_all niet multiline kan werken, dus dat hij over meerdere regels naar het einde zoekt?
      donderdag 5 april 2007 @ 14:24:40 #137
    85514 ralfie
    !Yvan eht nioj
    pi_48042335
    ja, dat kan

    met de 'm' modifier matchen ^ en $ begin en einde van de string, ipv de regel
    met de 's' modifier matched . ook newlines
    pi_48042999
    Het wordt denk ik maar eens tijd voor een regex boek. Ik heb totaal geen problemen met PHP, maar van regular expressions wordt ik vaak knettergek
    pi_48043384
    Zo ga ik het nu toch echt lijn voor lijn met eregi doen
    pi_48043763
    @ralfie

    De preg_* alternatieven voor ereg* functies zijn inderdaad vaak sneller, maar niet altijd. Zo heb ik ondervonden dat als je snel tekens wilt vervangen die niet in een subset van characters voorkomen ([^abc123etc]) de eregi véél sneller is dan de preg_replace
      donderdag 5 april 2007 @ 15:23:22 #141
    85514 ralfie
    !Yvan eht nioj
    pi_48044479
    quote:
    Op donderdag 5 april 2007 15:02 schreef JeRa het volgende:
    @ralfie

    De preg_* alternatieven voor ereg* functies zijn inderdaad vaak sneller, maar niet altijd. Zo heb ik ondervonden dat als je snel tekens wilt vervangen die niet in een subset van characters voorkomen ([^abc123etc]) de eregi véél sneller is dan de preg_replace
    interessant. Ben benieuwd of er een lijstje is met gevallen waarin ereg() sneller is als preg_replace? Heb met google in ieder geval niks gevonden.

    Persoonlijk ga ik er gewoon van uit dat preg_* altijd sneller is, ik geloof niet dat ik ereg() ooit gebruikt heb
    pi_48049561
    Hoi,

    Stel ik heb een klasse.
    Met daarin in ieder geval een static (private) variabele en een static (public) method.

    In mijn code roep ik op eens die method op zonder een object te maken. Is het dan mogelijk dat er een constructor uitgevoerd zal worden? Zodat die variabele dan een keer gezet zal worden, en daarna niet meer (check in de constructor)?

    Dit alles, uiteraard, in PHP5.
    pi_48049888
    quote:
    Op donderdag 5 april 2007 17:36 schreef CiQNiZ het volgende:
    Hoi,

    Stel ik heb een klasse.
    Met daarin in ieder geval een static (private) variabele en een static (public) method.

    In mijn code roep ik op eens die method op zonder een object te maken. Is het dan mogelijk dat er een constructor uitgevoerd zal worden? Zodat die variabele dan een keer gezet zal worden, en daarna niet meer (check in de constructor)?

    Dit alles, uiteraard, in PHP5.
    Voor zover ik weet ondersteunt PHP5 geen static constructors. Je zou het eventueel wél zo kunnen doen:
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    Voorbeeld
    ::waarde 3;

    class 
    Voorbeeld
    {
        
    public static $waarde;
    }
    ?>
    pi_48050232
    @ralfie, Geqxon:

    bedankt voor de voorbeeldjes, hiermee ga ik verder uitzoeken
    pi_48050416
    quote:
    Op donderdag 5 april 2007 17:46 schreef JeRa het volgende:

    [..]

    Voor zover ik weet ondersteunt PHP5 geen static constructors. Je zou het eventueel wél zo kunnen doen:
    [ code verwijderd ]
    Ja... Maar...

    Laat ik het anders zeggen...

    Wat nou, als ik in diezelfde klasse nou eens 30 methodes heb! Die allemaal afhangen of die ene variabele gezet is, of niet. Nou zou ik het volgende kunnen doen:

    1
    2
    3
    4
    5
    6
    7
    <?php
    //niet statisch, dus wel een object aanmaken:
    $handle = new handler(); // zet de private var via de __construct()
    $handle->execA();
    $handle->execB();
    //enz.
    ?>


    Of dit:
    1
    2
    3
    4
    5
    6
    7
    <?php
    //statisch, en eerst maar dan die check uitvoeren en variabele zetten:
    handler::checkIt();
    handler::execA();
    handler::execB();
    //enz.
    ?>


    Dan werkt het zoals ik wil. Maar is dit te omzeilen (dat ik dus niet eerst die check hoef uit te voeren voordat ik een methode uit die klasse aanroep)?
    pi_48050634
    quote:
    Op donderdag 5 april 2007 17:59 schreef CiQNiZ het volgende:

    [..]

    Dan werkt het zoals ik wil. Maar is dit te omzeilen (dat ik dus niet eerst die check hoef uit te voeren voordat ik een methode uit die klasse aanroep)?
    Als je 30 methodes in een class hebt die aangeroepen kunnen worden terwijl je variabele niet geïnitialiseerd is moet je je toch eens ernstig afvragen of je wel het goede design te pakken hebt maar waarom lukt het volgende niet?

    1
    2
    3
    4
    5
    6
    <?php
    class Voorbeeld
    {
        
    public static $waarde 2;
    }
    ?>


    Op die manier is je waarde altijd geïnitialiseerd en hoef je niets te checken in je methodes. Wil je echter een object initialiseren in die variabele, dan zul je het moeten doen op de manier die ik in mijn vorige post beschreef
    pi_48053738
    quote:
    Op donderdag 5 april 2007 18:07 schreef JeRa het volgende:

    [..]

    Als je 30 methodes in een class hebt die aangeroepen kunnen worden terwijl je variabele niet geïnitialiseerd is moet je je toch eens ernstig afvragen of je wel het goede design te pakken hebt maar waarom lukt het volgende niet?
    [ code verwijderd ]

    Op die manier is je waarde altijd geïnitialiseerd en hoef je niets te checken in je methodes. Wil je echter een object initialiseren in die variabele, dan zul je het moeten doen op de manier die ik in mijn vorige post beschreef
    Hmm ja, met constante waardes ja.

    1
    2
    3
    4
    <?php
    // dus dit gaat nooit werken ;)
    private static $handle = self::getHandle();
    ?>


    Nou is het wel zo dat in elke method eenzelfde andere method (uit een andere klasse) uitgevoerd wordt. Ik zou in die method dan die variabel kunnen controleren en als het dan nodig is zetten.

    Dus
    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
    class stranger
    {
      
    private static $handle;

      
    public static function handler()
      {
        if (empty(
    self::handle)) {
          
    self::handle = somereallyspecialclass::getHandle();
        }
      }

      
    public static function execA()
      {
        
    someclass::specialExec(0,10);
        
    doSomething();
      }

      
    public static function execB()
      {
        
    someclass::specialExec(60, 100);
        
    doSomethingElse();
        
    doSomethingMore();
        
    takeOverTheWorld();
      }
    }

    class
    someclass
    {
      
    public static function specialExec($x, $y)
      {
        
    // tada:
        
    stranger::handler();

        
    doSomethingWithXandY($x, $y);
        
    doSomethingMoreWith($x, stranger::handle);
        
    doSomethingMoreWith($y, stranger::handle);
      }
    }

    // en in normale code ziet het er dan zo uit:
    stranger::execA();
    stranger::execB();
    stranger::execA();
    stranger::execB();
    /* precies hoe ik het hebben wil dus.
    ** de methodes worden normaal opgeroepen en de
    ** (private en static) $handle wordt gewoon geupdate
    */
    ?>


    Uiteraard is dit niet echt een bruikbaar voorbeeld, en een beetje raar, maar je moet toch wat met een voorbeeld he.

    Het gaat er gewoon om dat bij uitbreidingen eventueel gewoon niet nagedacht hoeft te worden over die $handle. Als je een methode uit die klasse oproept dan moet dat gewoon automatisch gaan.

    Volgens dit concept moet het gewoon werken, echter, verdient het wmb niet echt een schoonheidsprijs.
    pi_48055570
    quote:
    Op donderdag 5 april 2007 19:50 schreef CiQNiZ het volgende:

    [..]

    Hmm ja, met constante waardes ja.
    Tja, je gaf nergens een definitie
    quote:
    Het gaat er gewoon om dat bij uitbreidingen eventueel gewoon niet nagedacht hoeft te worden over die $handle. Als je een methode uit die klasse oproept dan moet dat gewoon automatisch gaan.

    Volgens dit concept moet het gewoon werken, echter, verdient het wmb niet echt een schoonheidsprijs.
    Probeer eens voor jezelf duidelijk te maken wat je precies wilt bereiken (en of het design tot dan toe wel afdoende is) en zet de scenario's uit hier heb je wat voorbeelden die volgens mij het dichtste bij jouw probleem liggen:

    1) Het private static object mag altijd geïnitialiseerd worden en verandert niet in de loop van de tijd: doe gewoon zoiets:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    StaticVoorbeeld
    ::mijnObject = new DOTTObject();

    class
    StaticVoorbeeld
    {
        
    public static $mijnObject;
    }
    ?>


    2) Het private static object mag niet worden geïnitialiseerd als er geen methodes van de static class worden aangeroepen: elke methode moet een initialisatie aanroepen

    3) Het private static object moet kunnen veranderen tussen twee aanroepen van methodes van de static class: elke methode moet een initialisatie aanroepen

    Voor 2) en 3) kun je ook een iets minder nette oplossing verzinnen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    class StaticVoorbeeld
    {
        
    private static $mijnObject;

        
    public function roepFunctieAan($functienaam, $args)
        {
            
    // Initialiseer object
            
    StaticVoorbeeld::initialiseerMijnObject();

            
    // Roep functie aan
            
    call_user_func_array('StaticVoorbeeld::' . $functienaam, $args); // ofzo
        
    }

        
    // overige methodes
    }

    Staticvoorbeeld::roepFunctieAan('purpleTentacle', array('take', 'over', 'the', 'world!'));
    ?>
    pi_48056182
    quote:
    Op donderdag 5 april 2007 20:35 schreef JeRa het volgende:

    [..]

    Tja, je gaf nergens een definitie
    [..]

    Probeer eens voor jezelf duidelijk te maken wat je precies wilt bereiken (en of het design tot dan toe wel afdoende is) en zet de scenario's uit hier heb je wat voorbeelden die volgens mij het dichtste bij jouw probleem liggen:

    1) Het private static object mag altijd geïnitialiseerd worden en verandert niet in de loop van de tijd: doe gewoon zoiets:
    [ code verwijderd ]
    Klopt. Ik gaf nergens een definitie .

    Het gaat dus om 1. Eenmaal geinitialiseerd is geinitialiseerd. Done = done. Jouw methode kan natuurlijk wel, maar ik wil (omdat dit de enige klasse is waarvan geen object gemaakt wordt), ook zo min mogelijk code om de daadwerkelijke 'aanspreekcode' (de daadwerkelijke code die de functies in de klasses tussen de HTML door zeg maar implementeerd). Bij eventuele uitbreidingen of meerdere mensen die aan het project werken wil ik gewoon dat als je die methode nodig hebt, JIJ niet eerst moet kijken of die static 'handle' (om het zo maar weer even te noemen) nodig is of niet. Het is gewoon onnodige code. En past m.i. minder mooi in een mooi schema (wat ik nu aan het opzetten ben voordat ik daadwerkelijk begin te coden straks).

    Draaf ik nu gewoon te ver door? Stel ik te veel (strenge) eisen aan mijzelf/de code? Is het gewoon heel erg vies en ranzig, of heb ik mijzelf nu goedgepraat?

    Dit is mijn eerste serieuze poging tot OOP in PHP5 mag ik er wel even bij zeggen...
    pi_48058579
    @CiQNiZ
    quote:
    Het gaat dus om 1. Eenmaal geinitialiseerd is geinitialiseerd. Done = done.
    Dan kun je toch prima die eerste methode plaatsen in dezelfde include als de static class zelf? Maar wat ik een beetje mis in dit verhaal is de semantiek, het idee achter een grote class met 30 static methodes. In PHP is (mijns inziens) vaak minder OOP nodig dan wordt aangehaald, of in ieder geval, in mindere mate. Graag hoor ik het 'waarom' achter de static methodes en de handle
    pi_48060126
    Hola, ik heb deze functie geschreven:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    function input_dag($dag){
        
    $output "
            <select name="
    dag">
                <option value="">dag</option>"
    ;
                
        for ( 
    $day 1$day <= 31$day += 1) {
            if(
    $day == $dag) { $output .= "
                    <option value="
    $day" selected>$day</option>";}
            else { 
    $output .= "
                    <option value="
    $day">$day</option>";}
        }

        
    $output .= "
            </select>"
    ;
        return 
    $output;
    }
    ?>


    Maar zou graag willen dat de dagen 1 t/m 9 met een voorloop nul getoond zouden worden. Iemand een idee hoe ik dit voor elkaar krijg?
    pi_48060335
    ik heb toevallig zoiets vandaag gedaan, maar dat betrof wel een string: http://nl3.php.net/strpad
    Het lijkt me dat hier ook wel een numerieke functie voor zal zijn?
    pi_48061043
    De sprintf()-functie is daar ideaal voor
    pi_48061389
    Kijk, daar kan ik geloof ik wel wat mee
    pi_48067230
    De oplossing was:
    1
    2
    3
    <?php
    $value 
    sprintf("%02s",$day);
    ?>
    pi_48076784
    Hoe kan ik een bestand voor een bepaalde tijd geupload hebben? Dus iemand upload een foto, word verkleint en krijg die weer voorgeschoteld in de browser, en daarna word de afbeelding van de server verwijderd.
    pi_48077438
    quote:
    Op vrijdag 6 april 2007 12:57 schreef super-muffin het volgende:
    Hoe kan ik een bestand voor een bepaalde tijd geupload hebben? Dus iemand upload een foto, word verkleint en krijg die weer voorgeschoteld in de browser, en daarna word de afbeelding van de server verwijderd.
    Na hij verkleind is, en je hem niet nodig hebt:

    1
    2
    3
    <?php
    unlink
    ($filename);
    ?>


    :)
    pi_48077599
    Gelijk nog een vraagje: Ik wil graag een XML achtig bestand parsen, en met eregi gaat dat dus te traag. De opbouw is in de trant van:
    1
    2
    3
    4
    <persoon>
    <voornaam>Hans</voornaam>
    <achternaam>Anders</achternaam>
    </persoon>


    Op het moment kijk ik lijn voor lijn wat voor data de lijn bevat, maar dat is dus behoorlijk traag. Ik zat zelf te denken aan een preg_match_all op <persoon>(*.)</persoon>, en binnen de array van matches te preg_matchen op <voornaam(*.)</voornaam>. Ik ben alleen totaal geen held als het op regexs en preg_match neer komt, dus heeft iemand misschien een klein duwtje in de goede richting? Alvast bedankt :)
    pi_48078305
    quote:
    Op vrijdag 6 april 2007 13:20 schreef Geqxon het volgende:
    Gelijk nog een vraagje: Ik wil graag een XML achtig bestand parsen, en met eregi gaat dat dus te traag. De opbouw is in de trant van:
    [ code verwijderd ]

    Op het moment kijk ik lijn voor lijn wat voor data de lijn bevat, maar dat is dus behoorlijk traag. Ik zat zelf te denken aan een preg_match_all op <persoon>(*.)</persoon>, en binnen de array van matches te preg_matchen op <voornaam(*.)</voornaam>. Ik ben alleen totaal geen held als het op regexs en preg_match neer komt, dus heeft iemand misschien een klein duwtje in de goede richting? Alvast bedankt
    Optie 1: http://nl2.php.net/XML

    Optie 2: inderdaad met regular expressions, je hebt de punt en de asterisk verkeerd om staan:

    #<voornaam>(.*)</voornaam>#Ui
    pi_48078380
    Ik ben al met de XML parser aan de gang gegaan, maar in verband met een database koppeling, en omdat mijn file vrij simpel is, wil ik het het liefst zelf parsen

    Ik ga even met optie twee aan de slag, bedankt!

    Edit:

    1
    2
    3
    4
    5
    <?php
    $pslfile 
    file_get_contents("/files/persoonlijst.psl");
    preg_match_all('#<persoon>(.*)</persoon>#Ui',$pslfile$output);
    print_r($output);
    ?>



    Dit is waar ik zelf aan zat te denken, alleen vindt hij daar niks op. En ja, het laden van $pslfile gaat prima. Wat doe ik hier eigenlijk fout?

    [ Bericht 19% gewijzigd door Geqxon op 06-04-2007 13:50:50 ]
      FOK!-Schrikkelbaas vrijdag 6 april 2007 @ 14:01:13 #161
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48078898
    mysql -> mssql migratie probleempje.

    Ik heb een table:
    1
    2
    3
    4
    5
    menu_id  |  name  |  lft  |  rgt  |
    ---------+--------+-------+-------+ 
        1    | test   |   0   |   5   |
        2    | child  |   1   |   2   |
        3    | child2 |   3   |   4  |


    Waarmee je een hierarchisch model kan bouwen.

    In mysql betrek je alle nodes in de juiste hierarchische volgorde met de volgende query:

    1
    2
    3
    4
    5
    6
    SELECT parent.name AS parentname, node.menu_id, node.name, node.lft, node.rgt, 
           COUNT( parent.name ) AS depth
           FROM nested_menu AS node, nested_menu AS parent
           WHERE node.lft BETWEEN parent.lft AND parent.rgt
           GROUP BY node.menu_id
           ORDER BY node.lft


    In mssql krijg ik daarmee echter de volgende foutmelding(en)

    1
    2
    3
    4
    Column 'parent.name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
    Column 'node.name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
    Column 'node.lft' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
    Column 'node.rgt' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.


    En ik ben even volledig blanco hoe ik dat kan oplossen. :{
    Iemand een bijdrage?
      vrijdag 6 april 2007 @ 14:08:08 #162
    85514 ralfie
    !Yvan eht nioj
    pi_48079116
    quote:
    Op vrijdag 6 april 2007 13:44 schreef Geqxon het volgende:
    Ik ben al met de XML parser aan de gang gegaan, maar in verband met een database koppeling, en omdat mijn file vrij simpel is, wil ik het het liefst zelf parsen

    Ik ga even met optie twee aan de slag, bedankt!

    Edit:
    [ code verwijderd ]

    Dit is waar ik zelf aan zat te denken, alleen vindt hij daar niks op. En ja, het laden van $pslfile gaat prima. Wat doe ik hier eigenlijk fout?
    gebruik de s modifier om ervoor te zorgen dat . ook newlines matched. Dat doet ie standaard niet
    pi_48079161
    quote:
    Op vrijdag 6 april 2007 14:08 schreef ralfie het volgende:

    [..]

    gebruik de s modifier om ervoor te zorgen dat . ook newlines matched. Dat doet ie standaard niet
    De /s-modifier is voor de punt, die matcht vervolgens ook newlines. Maar ik mag hopen dat er geen ouders zijn geweest die hun kind met een newline in hun voornaam hebben laten registreren op het gemeentehuis
    pi_48079219
    quote:
    Op vrijdag 6 april 2007 14:01 schreef Swetsenegger het volgende:
    mysql -> mssql migratie probleempje.

    Ik heb een table:
    [ code verwijderd ]

    Waarmee je een hierarchisch model kan bouwen.

    In mysql betrek je alle nodes in de juiste hierarchische volgorde met de volgende query:
    [ code verwijderd ]

    In mssql krijg ik daarmee echter de volgende foutmelding(en)
    [ code verwijderd ]

    En ik ben even volledig blanco hoe ik dat kan oplossen.
    Iemand een bijdrage?
    Er is een simpele regel in SQL-land die door MySQL absoluut niet nageleefd wordt maar waar je je waar mogelijk wel aan zou moeten houden en hij luidt:

    Bij een GROUP BY moet je alle kolomnamen die je niet in een aggregaatfunctie gebruikt maar wel wilt ophalen noemen.

    Dus het volgende gaat fout:
    1
    2
    3
    SELECT a, b, c
    FROM tabel voorbeeld
    GROUP BY b


    En het volgende gaat goed:
    1
    2
    3
    SELECT MAX(a), b, c
    FROM tabel voorbeeld
    GROUP BY b, c
    pi_48079387
    quote:
    Op vrijdag 6 april 2007 14:09 schreef JeRa het volgende:

    [..]

    De /s-modifier is voor de punt, die matcht vervolgens ook newlines. Maar ik mag hopen dat er geen ouders zijn geweest die hun kind met een newline in hun voornaam hebben laten registreren op het gemeentehuis
    "Mijn kind heet Hans backslash n Anders"

    Ik wist eerst even niet wat je met die s-modifier bedoelt, maar ik heb hem er simpelweg achter geplakt en het werkt nu. Nu rijst bij mij weer de vraag: Waarom werkt preg_match_all met hekjes, en preg_match met slashes?
    pi_48079630
    quote:
    Op vrijdag 6 april 2007 14:17 schreef Geqxon het volgende:

    [..]

    Nu rijst bij mij weer de vraag: Waarom werkt preg_match_all met hekjes, en preg_match met slashes?
    Dat zijn delimiters en die mag je zelf kiezen ik kies voor het hekje (#) zodat als ik met HTML werk ik niet alle forwardslashes hoef te escapen.
    pi_48079676
    Tof, weer wat geleerd. Mijn script leest nu 1200 personen (400kb) in 1.7 seconden in plaats van 8 seconden. Dat is op een mensenleven niet veel ,maar het totale process is er wel sneller door geworden.
      FOK!-Schrikkelbaas vrijdag 6 april 2007 @ 15:00:57 #168
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48080595
    quote:
    Op vrijdag 6 april 2007 14:11 schreef JeRa het volgende:

    [..]

    Er is een simpele regel in SQL-land die door MySQL absoluut niet nageleefd wordt maar waar je je waar mogelijk wel aan zou moeten houden en hij luidt:

    Bij een GROUP BY moet je alle kolomnamen die je niet in een aggregaatfunctie gebruikt maar wel wilt ophalen noemen.

    Dus het volgende gaat fout:
    [ code verwijderd ]

    En het volgende gaat goed:
    [ code verwijderd ]
    Dit geeft inderdaad geen foutmeldingen meer:
    1
    2
    3
    4
    5
    6
    SELECT parent.name AS parentname, node.menu_id, node.name, node.lft, node.rgt,
           COUNT( parent.name ) AS depth
           FROM nested_menu AS node, nested_menu AS parent
           WHERE node.lft BETWEEN parent.lft AND parent.rgt
           GROUP BY node.menu_id,parent.name, node.name,node.lft,node.rgt
           ORDER BY node.lft

    Maar geeft wel mijn child 2 keer terug
    En mijn depth gaat niet goed....

    en als ik de parent.name uit de GROUP BY houdt krijg ik weer de foutmelding, ondanks dat een COUNT toch een aggregate is?

    [ Bericht 5% gewijzigd door Swetsenegger op 06-04-2007 15:12:10 ]
    pi_48080871
    quote:
    Op vrijdag 6 april 2007 15:00 schreef Swetsenegger het volgende:

    [..]

    Dit geeft inderdaad geen foutmeldingen meer:
    [ code verwijderd ]

    Maar geeft wel mijn child 2 keer terug
    En mijn depth gaat niet goed....
    Je moet niet zomaar alle kolommen in de GROUP BY gooien, als je bepaalde waarden verwacht voor een kolom kun je ze soms beter in een aggregaatfunctie stoppen
      FOK!-Schrikkelbaas vrijdag 6 april 2007 @ 15:19:48 #170
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48081067
    quote:
    Op vrijdag 6 april 2007 15:11 schreef JeRa het volgende:

    [..]

    Je moet niet zomaar alle kolommen in de GROUP BY gooien
    Dat vermoeden had ik al :P
    quote:
    , als je bepaalde waarden verwacht voor een kolom kun je ze soms beter in een aggregaatfunctie stoppen :)
    Nou, met deze data:

    1
    2
    3
    4
    menu_id  |  name  |  lft  |  rgt  |
    ---------+--------+-------+-------+ 
        1    | test   |   1   |   4   |
        2    | child  |   2   |   3   |


    verwacht ik deze waarden terug

    1
    2
    3
    parentname  menu_id  name   lft  rgt  depth
    test        1        test   1    4    1
    child       2        child  2    3    2

    terug, maar ik krijg
    1
    2
    3
    4
    parentname  menu_id  name   lft  rgt  depth
    test        1        test   1    4    1
    child       2        child  2    3    1
    child       2        child  2    3    1

    terug
      FOK!-Schrikkelbaas vrijdag 6 april 2007 @ 16:14:58 #171
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48082574
    Iemand?
    pi_48082753
    Je kunt niet op die manier de naam van de parent er bij krijgen zonder de group te verzieken. Ik vraag me af of dat in MySQL op deze manier wel echt goed werkt.
    In MSSQL kan je de parent er wel met een subselect bij zoeken:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT n.menu_id, n.name, n.lft, n.rgt, COUNT(p.menu_id) AS depth,
       (SELECT TOP 1 m.name 
          FROM nested_menu m 
          WHERE n.lft BETWEEN m.left AND m.right 
          ORDER BY m.left DESC) AS parent_name
    FROM nested_menu AS p
    INNER JOIN nested_menu AS n ON n.lft BETWEEN p.lft AND p.rgt
    GROUP BY n.menu_id, n.name, n.lft, n.rgt
    ORDER BY n.lft
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_48082874
    Swets, ik gebruik nu voor m'n nieuwe werk ook voornamelijk ASP/VB.NET in combinatie met MSSQL. Heb je beschikking over Microsoft SQL Server (2005 gebruik ik)? Met Stored Procedures kun je heel veel.
      FOK!-Schrikkelbaas vrijdag 6 april 2007 @ 16:37:27 #174
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48083277
    quote:
    Op vrijdag 6 april 2007 16:20 schreef SuperRembo het volgende:
    Je kunt niet op die manier de naam van de parent er bij krijgen zonder de group te verzieken. Ik vraag me af of dat in MySQL op deze manier wel echt goed werkt.
    Ja dat werkt perfect, komt zelfs van mysql website
    quote:
    In MSSQL kan je de parent er wel met een subselect bij zoeken:
    [ code verwijderd ]
    ga ik proberen
    pi_48083940
    quote:
    Op vrijdag 6 april 2007 16:37 schreef Swetsenegger het volgende:
    Ja dat werkt perfect, komt zelfs van mysql website
    Nou, het werkt bij jou. Maar een kolom die niet in een group by en niet in een aggegate staat is niet goed gedefinieerd. De waarde die je terug krijgt kan van allerlei dingen afhangen zoals de indexen op de tabel of zelfs de volgorde waarin de regels in de tabel gezet zijn.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      FOK!-Schrikkelbaas vrijdag 6 april 2007 @ 18:11:51 #176
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48086194
    quote:
    Op vrijdag 6 april 2007 16:58 schreef SuperRembo het volgende:

    [..]

    Nou, het werkt bij jou. Maar een kolom die niet in een group by en niet in een aggegate staat is niet goed gedefinieerd. De waarde die je terug krijgt kan van allerlei dingen afhangen zoals de indexen op de tabel of zelfs de volgorde waarin de regels in de tabel gezet zijn.
    Hmz, nou ja ik heb dit zoals gezegd van de mysql website bij een uitleg over hierarchische data.
    Maar die van jou werkt prima, en mysql ondersteunt toch vanaf 4.2 ofzo subqueries? Dan kan ik 'm weer omzetten
      FOK!-Schrikkelbaas vrijdag 6 april 2007 @ 18:13:27 #177
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48086235
    Na het weekend meer, ik ben nu een paar dagen afwezig. Bedankt weer voor de hulp!
      zaterdag 7 april 2007 @ 15:57:21 #178
    161108 JohannesPaulus
    Divide and conquer
    pi_48111422
    Wie kan mij helpen? Mijn bod van 25 euro is nog geldig hoor
    In peace, sons bury their fathers; in war, fathers bury their sons. (484 BC–ca.425 BC, Herodotus)
    He who knows when he can fight and when he cannot will be victorious. (c. 544 – 496 BC, Sun Tzu)
    pi_48111711
    quote:
    Op zaterdag 7 april 2007 15:57 schreef JohannesPaulus het volgende:
    Wie kan mij helpen? Mijn bod van 25 euro is nog geldig hoor
    Zet je Messenger client aan
    pi_48169868
    Ik heb een vraag... qua database gebruik.

    Voor een startpagina concept gebruik ik nu meerdere tabellen.

    cats - voor de categorieen
    html - voor html blokken
    link - voor de links
    user - voor gebruiker info

    nu vraag ik mij af of het niet handiger is om HTML en LINK samen te voegen... of zeggen jullie dat dit preformance technisch beter is dat je gebruik maakt van 2 tabellen ipv 1?

    Iemand een idee?

    Ter vergelijking de tabellen.

    HTML
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE `html` (
      `id` int(11) NOT NULL auto_increment,
      `sub_id` int(11) NOT NULL default '0',
      `cat_id` int(11) NOT NULL default '0',
      `sort_id` tinyint(4) NOT NULL default '0',
      `type_id` enum('html','image','rss','php') NOT NULL default 'html',
      `html` text NOT NULL,
      KEY `id` (`id`),
      KEY `sub_id` (`sub_id`,`cat_id`,`sort_id`)
    ) ENGINE=MyISAM ;


    en LINK
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE `link` (
      `id` int(11) NOT NULL auto_increment,
      `sub_id` int(11) NOT NULL default '0',
      `cat_id` int(11) NOT NULL default '0',
      `sort_id` tinyint(4) NOT NULL default '0',
      `title` varchar(64) NOT NULL default '',
      `link` varchar(255) NOT NULL default '',
      `tip` enum('yes','no') NOT NULL default 'no',
      `image` enum('yes','no') NOT NULL default 'no',
      `views` int(11) NOT NULL default '0',
      KEY `id` (`id`),
      KEY `sub_id` (`sub_id`,`cat_id`,`sort_id`)
    ) ENGINE=MyISAM ;


    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 10 april 2007 @ 16:19:14 #181
    85514 ralfie
    !Yvan eht nioj
    pi_48180854
    Ik zie niet in waarom je die niet in één tabel zou doen, een lange text uit een tabel halen is natuurlijk sneller als een text uit a, een link dit uit b, linkinformatie dat uit b, en die dan ook nog eens samenvoegen in php met een hele constructie. Zelfs als je die links apart editbaar zou willen maken kun je gewoon met regexen aan de slag.
    pi_48181332
    Chandler, welke functie heeft de tabel 'html'?
    pi_48184022
    @ralfie; hoeft niet persee met regex toch? gewoon een extra optie in de tabel (link, html, etc)

    @Jera: De tabel HTML heeft als functie om het HTML gedeelte van de links gescheiden te houden, dit waar ik denk dat dit scheelt in de preformance omdat hier gebruik gemaakt wordt van 'TEXT' maar hier ben ik dus niet zeker van daarom vraag ik het even
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_48185439
    Ik ben een admin pagina aan het maken voor mijn gastenboek, daarvoor wil ik dat het originele bericht in een veld van een formulier gezet wordt.

    1   <input type=text name=bericht value=$bericht> 


    Dit doet hij wel alleen zet hij alleen het eerste woord van het bericht weg, hoe krijg ik dat dan voor elkaar?
    pi_48185642
    Je hoort bij HTML altijd (!) quotes te gebruiken rond de attributen, dus zo:

    1<input type="text" name="bericht" value="{$bericht}">


    Anders gaat het mis bij spaties. En als je de waarde van een PHP variabele in je output wil zetten, dan kun je er beter ook nog { en } omheen zetten.
    pi_48185694
    @ timbastiaansen: Met enkele of dubbele quotjes bij $bericht ?

    Mijn vraag:

    Hoe kan ik ervoor zorgen dat een php script op het laatst nog even zijn output opschoont:

    Voorbeeld:

    1
    2
    3
    4
    5
    6
    <?php 
      echo"hoi"; 
    //doe wat 
    // Nu pagina opschonen 
    echo"dag"; 
    ?> 


    Dat dit script dus allen "dag" echo-ed :-)
    pi_48185782
    Daarvoor kun je kijken naar Output Control.
    pi_48185872
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    ob_start
    ();

    echo 
    "hoi";

    ob_clean();

    echo 
    "dag";

    ob_end_flush();
    ?>


    Dit laat alleen 'dag' zien.
    pi_48186205
    quote:
    Op dinsdag 10 april 2007 18:39 schreef HuHu het volgende:
    Je hoort bij HTML altijd (!) quotes te gebruiken rond de attributen, dus zo:
    [ code verwijderd ]

    Anders gaat het mis bij spaties. En als je de waarde van een PHP variabele in je output wil zetten, dan kun je er beter ook nog { en } omheen zetten.
    Helpt niet

    Ik heb het nu zo

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    while ($i < $eind)
    {
       $naam=mysql_result($result,$i,"naam");
       $buurt=mysql_result($result,$i,"buurt");
       $bericht=mysql_result($result,$i,"bericht");
       $datum=mysql_result($result,$i,"datum");

    echo "
       <center>
    <form action=edit.php method=POST name=edit> 
       <table border=1 bordercolor=black>
           <tr>
          <td width=80 VALIGN=top>
          <center>
       <input type=text name=naam value={$naam}>


    En dit geeft hetzelfde resultaat als zonder { }
    pi_48186675
    1echo " <input value=BACKSLASH" ".$naam." BACKSLASH" > ";


    Je kunt dit het beste zien als drie delen, <input value=" & $naam & "> , die doormiddel van punten aan elkaar worden gebonden.
    pi_48187392
    quote:
    Op dinsdag 10 april 2007 18:53 schreef timbastiaansen het volgende:

    [..]

    Helpt niet ;(

    Ik heb het nu zo
    [ code verwijderd ]

    En dit geeft hetzelfde resultaat als zonder { }
    Wel de hele post lezen hè ;).

    Het gaat voornamelijk om de quotes, de " dus.

    1
    2
    FOUT: <input type=text ...
    GOED: <input type="text" ...
    pi_48187478
    quote:
    Op dinsdag 10 april 2007 19:04 schreef Geqxon het volgende:

    [ code verwijderd ]

    Je kunt dit het beste zien als drie delen, <input value=" & $naam & "> , die doormiddel van punten aan elkaar worden gebonden.
    Als de de " in een string wilt hebben kun je makkelijker gewoon met de ' de echo beginnen. Dus zo:

    1
    2
    3
    <?php
    echo '<input type="text" name="naam" value="' $value '">';
    ?>


    Sowieso is het gebruik van de ' beter dan de ", omdat de tekst binnen een ' niet nog eens geparsed gaat worden en dus sneller wordt verwerkt.
    pi_48187521
    En wat als je dan een single-quote binnen string wilt hebben? Ik prefereer double quotes, en een backslash voor de double quote binnen de string.
    pi_48187892
    Een single-quote binnen een string komt met HTML output nauwelijks voor als het goed is. Verder is het sneller en persoonlijk vind ik al die backslashes maar rommelig staan.
      dinsdag 10 april 2007 @ 19:43:13 #195
    85514 ralfie
    !Yvan eht nioj
    pi_48188122
    quote:
    Op dinsdag 10 april 2007 19:36 schreef HuHu het volgende:
    Een single-quote binnen een string komt met HTML output nauwelijks voor als het goed is. Verder is het sneller en persoonlijk vind ik al die backslashes maar rommelig staan.
    tijdje terug al gelezen (ergens in dit topique) dat enkele quotes niet tot nauwelijks sneller zijn, dus doe gewoon wat je makkelijk vind.
    pi_48188590
    quote:
    Op dinsdag 10 april 2007 17:47 schreef Chandler het volgende:
    @Jera: De tabel HTML heeft als functie om het HTML gedeelte van de links gescheiden te houden, dit waar ik denk dat dit scheelt in de preformance omdat hier gebruik gemaakt wordt van 'TEXT' maar hier ben ik dus niet zeker van daarom vraag ik het even
    Nou weet ik niet wat je totaalplan is met je design maar ik weet wel wat de meeste softwarebouwers doen als ze voor een keuze staan zoals die waar jij nu mee bezig bent: best of both worlds

    Als ik jou was zou ik je database zo inrichten dat het zo genormaliseerd mogelijk is (wat het gemakkelijk voor je maakt om de contents van een pagina aan te passen via een CMS en je niet in tekstkolommen hoeft te gaan zitten regexen). Vervolgens ga je contents cachen je rendert bij een opvraag van zo'n blok (of pagina) je databaseinhoud naar HTML en slaat die HTML op (in een bestand, in een aparte tabel, etc) zodat je bij toekomstige opvragen niets hoeft te gaan opbouwen in PHP maar gewoon de HTML letterlijk uit de database kunt trekken. Zodra je dan iets aanpast in de database via je CMS ga je je cache 'invalidaten' zoals dat zo mooi heet, waardoor bij de eerst volgende opvraag de HTML opnieuw gerendert wordt.

    Hier op FOK! wordt dat vziw ook gedaan, met de trackers op de frontpage bijvoorbeeld. Het scheelt ontzettend qua load als je niet elke keer hoeft te joinen en HTML moet wegschrijven, terwijl je vrijwel niets inlevert op gebruiksgemak voor de beheerder
    pi_48188669
    quote:
    Op dinsdag 10 april 2007 19:25 schreef HuHu het volgende:

    [..]

    Als de de " in een string wilt hebben kun je makkelijker gewoon met de ' de echo beginnen. Dus zo:
    [ code verwijderd ]

    Sowieso is het gebruik van de ' beter dan de ", omdat de tekst binnen een ' niet nog eens geparsed gaat worden en dus sneller wordt verwerkt.
    Hoewel ik zelf alleen maar single quotes in PHP gebruik (voor zover dat mogelijk is) is dat laatste een slecht argument, keer op keer wijzen benchmarks erop dat het verschil om milliseconden gaat (op duizenden en duizenden echo's). Beter kijk je naar queries, de aanroep daarvan en alle overige functies van PHP (zie bijvoorbeeld het verschil tussen de preg* en de ereg*-functies ).
      FOK!-Schrikkelbaas dinsdag 10 april 2007 @ 20:13:01 #198
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48189230
    quote:
    Op dinsdag 10 april 2007 19:55 schreef JeRa het volgende:

    [..]

    Nou weet ik niet wat je totaalplan is met je design maar ik weet wel wat de meeste softwarebouwers doen als ze voor een keuze staan zoals die waar jij nu mee bezig bent: best of both worlds

    Als ik jou was zou ik je database zo inrichten dat het zo genormaliseerd mogelijk is (wat het gemakkelijk voor je maakt om de contents van een pagina aan te passen via een CMS en je niet in tekstkolommen hoeft te gaan zitten regexen). Vervolgens ga je contents cachen je rendert bij een opvraag van zo'n blok (of pagina) je databaseinhoud naar HTML en slaat die HTML op (in een bestand, in een aparte tabel, etc) zodat je bij toekomstige opvragen niets hoeft te gaan opbouwen in PHP maar gewoon de HTML letterlijk uit de database kunt trekken. Zodra je dan iets aanpast in de database via je CMS ga je je cache 'invalidaten' zoals dat zo mooi heet, waardoor bij de eerst volgende opvraag de HTML opnieuw gerendert wordt.

    Hier op FOK! wordt dat vziw ook gedaan, met de trackers op de frontpage bijvoorbeeld. Het scheelt ontzettend qua load als je niet elke keer hoeft te joinen en HTML moet wegschrijven, terwijl je vrijwel niets inlevert op gebruiksgemak voor de beheerder
    Hoe invalidate je je cache, en hoe cache je op de eerste plaats? Ik bedoel hoe weet ik dat de specifieke request van dat moment door een browser wordt gedaan die de website in zijn huidige vorm al eens gezien heeft?
    pi_48189411
    quote:
    Op dinsdag 10 april 2007 20:13 schreef Swetsenegger het volgende:

    [..]

    Hoe invalidate je je cache, en hoe cache je op de eerste plaats? Ik bedoel hoe weet ik dat de specifieke request van dat moment door een browser wordt gedaan die de website in zijn huidige vorm al eens gezien heeft?
    Cachen is vrij simpel. Je houdt een aparte tabel bij met bijvoorbeeld een tekstuele identifier waarmee je de (unieke) cache identificeert. Het invalidaten kun je doen door zodra er in je CMS iets verandert de cache uit de tabel te gooien. Vervolgens kun je op de pagina waar de cache aangesproken wordt controleren of de cache bestaat, en zo niet: renderen die hap.

    Je laatste vraag is een lastigere, maar dat bewerkstellig je door specificatie je moet specificeren óf iets wel gecached mag worden aan de hand van kennis over de inhoud. Een stukje HTML met daarin de huidige tijd moet je natuurlijk niet gaan cachen. Een cache kun je dus limiteren over een beperkt stuk van je website, maar ook in zijn geheel. Je zou bijvoorbeeld als unieke cache identifier de aanroep van de browser kunnen nemen (de URL?). Daarmee moet je natuurlijk oppassen dat je niet teveel meeneemt, anders kan een lolbroek je hele cache tabel volstoppen met nutteloze caches.

    Verder is het niet beperkt tot één browser/client maar moet je caches voor iedereen beschikbaar maken zoals ik al als voorbeeld aanhaalde, de trackers op de frontpage hier zijn voor iedereen hetzelfde en hoeven pas geüpdatet te worden zodra een nieuwsposter een nieuw bericht plaatst.
      FOK!-Schrikkelbaas dinsdag 10 april 2007 @ 21:06:03 #200
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48191595
    quote:
    Op dinsdag 10 april 2007 20:17 schreef JeRa het volgende:

    [..]

    Cachen is vrij simpel. Je houdt een aparte tabel bij met bijvoorbeeld een tekstuele identifier waarmee je de (unieke) cache identificeert. Het invalidaten kun je doen door zodra er in je CMS iets verandert de cache uit de tabel te gooien. Vervolgens kun je op de pagina waar de cache aangesproken wordt controleren of de cache bestaat, en zo niet: renderen die hap.

    Je laatste vraag is een lastigere, maar dat bewerkstellig je door specificatie je moet specificeren óf iets wel gecached mag worden aan de hand van kennis over de inhoud. Een stukje HTML met daarin de huidige tijd moet je natuurlijk niet gaan cachen. Een cache kun je dus limiteren over een beperkt stuk van je website, maar ook in zijn geheel. Je zou bijvoorbeeld als unieke cache identifier de aanroep van de browser kunnen nemen (de URL?). Daarmee moet je natuurlijk oppassen dat je niet teveel meeneemt, anders kan een lolbroek je hele cache tabel volstoppen met nutteloze caches.

    Verder is het niet beperkt tot één browser/client maar moet je caches voor iedereen beschikbaar maken zoals ik al als voorbeeld aanhaalde, de trackers op de frontpage hier zijn voor iedereen hetzelfde en hoeven pas geüpdatet te worden zodra een nieuwsposter een nieuw bericht plaatst.
    Helder, dank je
    pi_48192034
    Het gebruik van enkele (apostrophe) of dubbele aanhalingstekens scheelt een beetje, maar is nauwelijks merkbaar. Overigens zit er een verschil tussen het gebruik van enkele of dubbele aanhalingstekens. Alles wat tussen dubbele aanhalingstekens staat word dus geparsed:

    1
    2
    3
    4
    5
    <?php
    $var
    ='Pietje';
    echo 
    "Ik heet $var";
    // Resultaat: Ik heet Pietje
    ?>


    1
    2
    3
    4
    5
    <?php
    $var
    ='Pietje';
    echo 
    'Ik heet $var';
    // Resultaat: Ik heet $var
    ?>


    Er zijn overigens veel meer manieren om iets te doen, zo kun je bijvoorbeeld ook een punt gebruiken, als volgt:

    1
    2
    3
    4
    5
    <?php
    $var
    ='Pietje';
    echo 
    "Ik heet ".$var;
    // Resultaat: Ik heet Pietje
    ?>


    1
    2
    3
    4
    5
    <?php
    $var
    ='Pietje';
    echo 
    'Ik heet '.$var;
    // Resultaat: Ik heet Pietje
    ?>


    Mocht je in een PHP regel die je met dubbele aanhalingstekens opent dubbele aanhalingstekens willen gebruiken, of in een PHP regel die je met een enkel aanhalingsteken opent enkele aanhalingstekens gebruiken, dan gebruik je gewoon een 'escape character', die heeft vrijwel elke programmeertaal. Wat voorbeelden:

    1
    2
    3
    4
    5
    <?php
    $var
    ='Pietje';
    echo 
    "Ik heet '$var'.";
    // Resultaat: Ik heet 'Pietje'.
    ?>


    1
    2
    3
    4
    5
    <?php
    $var
    ='Pietje';
    echo 
    "Ik heet \"$var\"";
    // Resultaat: Ik heet "Pietje"
    ?>


    1
    2
    3
    4
    5
    <?php
    $var
    ='Pietje';
    echo 
    'Ik heet " '$var .' ";
    // Resultaat: Ik heet " Pietje "
    ?>


    Ik kom dit heel vaak tegen omdat al mijn PHP bestanden altijd volledig uit PHP bestaan, in tegenstelling tot een soort van HTML pagina met meerdere PHP 'blocks' (aparte stukjes tussen de <? en ?> tags). Zoals eerder hier gezegd is is het héél belangrijk om alle HTML attributen te quoten, dus stel je hebt het volgende stukje HTML:

    1
    2
    3
    4
    5
    6
    7
    <div style="font-weight:bold; background-color:#0000ff;">

    <p>test en zo, ik ben "Gabber Piet"!</p>

    <img src="plaatje.jpg" style="width:100px; height:100px;" onclick="alert('Je hebt op het plaatje geklikt!');" alt="Plaatje" />

    </div>


    Dan zou ik, als ik een bestand volledig als PHP wil parsen, dus het volgende krijgen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    echo "<div style=\"font-weight:bold; background-color:#0000ff;\">

    <p>test en zo, ik ben \"Gabber Piet\"!</p>

    <img src=\"plaatje.jpg\" style=\"width:100px; height:100px;\" onclick=\"alert('Je hebt op het plaatje geklikt!');\" alt=\"Plaatje\" />

    </div>"
    ;
    ?>


    Puur een kwestie van de syntaxis kennen. Zoals ik al eerder zei, heeft vrijwel elke programmeertaal een escape character. In ASP kune je bijvoorbeeld een dubbel aanhalingsteken 'escapen' door er een tweede dubbel aanhalingsteken voor te zetten. Met andere woorden, in PHP is de escape character een , in ASP is de escape character een ".
    pi_48193738
    voor de regex / string koningen onder jullie:

    Ik wil van een gegeven string checken of dit een geldige URL is. Nu heb ik een regex die allerlei mogelijke strings accepteert (niet alleen www.domein.nl, maar ook http://www.domein.nl:1080/~home/ bijvoorbeeld).

    Nu wil ik echter ook de TLD checken tegen een lijst met bestaande TLD's, ik krijg deze alleen niet altijd te pakken in mijn string.... Als het ding op .nl / .com / .whatever eindigt lukt het wel natuurlijk, maar als er nog wat achteraan komt gaat het fout.

    Wie weet raad?


    Gerelateerd: vanaf welke PHP versie werken regex matches als P{M} ? In PHP 4.3.9 op mijn vorige Windows server werkte het, maar op mijn huidige Linux server niet
    pi_48213484
    Hoe kan ik met 1 regex oid alle spaties en - uit een string verwijderen?
    pi_48214025
    quote:
    Op dinsdag 10 april 2007 21:51 schreef Xcalibur het volgende:
    Als het ding op .nl / .com / .whatever eindigt lukt het wel natuurlijk, maar als er nog wat achteraan komt gaat het fout.

    Wie weet raad?
    Wat voor regex heb je nu dan?
    quote:
    Gerelateerd: vanaf welke PHP versie werken regex matches als P{M} ? In PHP 4.3.9 op mijn vorige Windows server werkte het, maar op mijn huidige Linux server niet
    Dat staat gewoon in de manual hoor, zie deze pagina:
    quote:
    Unicode character properties
    Since PHP 4.4.0 and 5.1.0, three additional escape sequences to match generic character types are available when UTF-8 mode is selected. They are:
    \p{xx}
    a character with the xx property
    \P{xx}
    a character without the xx property
    \X
    an extended Unicode sequence
    pi_48214055
    quote:
    Op woensdag 11 april 2007 13:22 schreef super-muffin het volgende:
    Hoe kan ik met 1 regex oid alle spaties en - uit een string verwijderen?
    Je moet niet alles met regexen willen oplossen
    1
    2
    3
    <?php
    $string 
    str_replace(array(' ''-'), ''$string);
    ?>
    pi_48214672
    thnx, bijna zoals ik het had, alleen dan 2 maal een str_replace.
      woensdag 11 april 2007 @ 14:39:38 #207
    161108 JohannesPaulus
    Divide and conquer
    pi_48216288
    quote:
    Op zaterdag 7 april 2007 16:11 schreef JeRa het volgende:

    [..]

    Zet je Messenger client aan
    Sorry, ik zag je reactie zojuist pas
    Ik stuur je een email met mijn probleem. Zodra het kan kom ik online op MSN
    In peace, sons bury their fathers; in war, fathers bury their sons. (484 BC–ca.425 BC, Herodotus)
    He who knows when he can fight and when he cannot will be victorious. (c. 544 – 496 BC, Sun Tzu)
    pi_48220325
    hoe kun je simpel ë veranderen naar e, is hier een functie voor? ik kon deze namelijk zelf niet vinden
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 11 april 2007 @ 16:30:27 #209
    161108 JohannesPaulus
    Divide and conquer
    pi_48220490
    quote:
    Op woensdag 11 april 2007 16:27 schreef Chandler het volgende:
    hoe kun je simpel ë veranderen naar e, is hier een functie voor? ik kon deze namelijk zelf niet vinden
    je kan ë veranderen naar e in kladblok
    bewerken -> vervangen

    Of bedoel je dat niet?
    In peace, sons bury their fathers; in war, fathers bury their sons. (484 BC–ca.425 BC, Herodotus)
    He who knows when he can fight and when he cannot will be victorious. (c. 544 – 496 BC, Sun Tzu)
    pi_48220497
    quote:
    Op woensdag 11 april 2007 16:27 schreef Chandler het volgende:
    hoe kun je simpel ë veranderen naar e, is hier een functie voor? ik kon deze namelijk zelf niet vinden :{
    1
    2
    3
    <?php
    echo str_replace("ë","e","Meine namë sëite Hans");
    ?>


    :+
    pi_48221228
    @JohannesPaulus; nee natuurlijk niet in kladblok

    @Geqxon: haha, ik had gehoopt dat er een functie was die ë, Ï etc kon omzetten naar e en i maar helaas
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_48221529
    Die functie is er:

    1
    2
    3
    4
    <?php
    $txt 
    htmlentities($txt); 
    $txt preg_replace('`&(.)(tilde|circ|grave|acute|uml|ring|cedil);`''$1'$txt);
    ?>


    Héllo Çårmëñ, hôw àré yõü?

    wordt:

    Hello Carmen, how are you?
    pi_48221830
    @Chandler

    De oplossing is erg afhankelijk van de character set die je gebruikt HuHu's manier hierboven is wellicht de slimste, je moet dan htmlentities() wel doorgeven welke character set je gebruikt.

    1
    2
    3
    4
    <?php
     
    $txt 
    htmlentities($txtENT_QUOTES'UTF-8');
    ?>
      woensdag 11 april 2007 @ 17:41:57 #214
    71919 wonderer
    Hung like a My Little Pony
    pi_48223326
    Ik heb een heel raar MySQL probleem en mijn host weet niet echt wat ie eraan kan doen, misschien komt het een van jullie bekend voor.

    Ik heb twee domeinen die allebei gebruik maken van een aantal databases, die ik met phpMyAdmin kan openen (allemaal onder hetzelfde account, hoef niet per domein apart in te loggen). Vorige week is de MySQL versie geupdate. Ik moest toen opnieuw mijn database-users toevoegen aan de databases, maar verder werkte alles prima.

    Op een ding na.

    Mijn tweede domein lijkt een andere database te gebruiken dan ik kan openen met PMA. Wat ik in PMA zie, is al sinds 8 april niet meer geupdate, terwijl formulieren via de site (forum enzo) wel gewoon hun data wegschrijven. Wat ik in PMA verander, staat daarna niet op de site. De databases die bij mijn eerste domein horen, werken wel gewoon naar behoren.

    Mijn host lijkt maar niet te begrijpen wat het probleem is, zelfs na een paar screenshots. Heeft iemand van jullie een idee? Ik heb het idee dat er ergens een verbinding wordt gemaakt met een backup database of zo, maar dat verklaart nog niet waarom de databases van het eerste domein wel gewoon werken...

    Edit: waarom is het altijd zo dat ik vrijwel direct na in dit topic gepost te hebben een brainwave krijg die het probleem oplost? Ik heb geprobeerd in te loggen via het tweede domein (zelfde gegevens, alleen ander domein dus) en daar is het precies andersom. Hoe weet PMA welke databases bij welke site horen? Ik vind het maar lastig, het zou handiger zijn als ik de andere databases gewoon niet kon zien of zo, of dat het net als eerst weer allemaal via een PMA versie kon

    [ Bericht 21% gewijzigd door wonderer op 11-04-2007 17:49:19 ]
    "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_48223785
    @wonderer

    Databases hebben in eerste instantie niets met websites te maken. Simpelweg komt het neer op een combinatie van serveradres en databasenaam die bepaalt welke database je voor je neus krijgt, de username en het wachtwoord waarmee je inlogt bepaalt vervolgens welke rechten je hebt op de database. Oftewel: kijk naar de connection strings van beide domeinen; zijn de databasenamen én het serveradres gelijk?
      woensdag 11 april 2007 @ 18:06:12 #216
    71919 wonderer
    Hung like a My Little Pony
    pi_48224001
    Ik weet niet goed om welke informatie je nu vraagt en waar ik die kan vinden. Ik log op beide domeinen in via poort 2082 naar cPanel en van daar klik ik op PMA. Het enige verschil in het adres is dus het domein in de adresbalk. Ze connecten allebei naar localhost en ik log met dezelfde gegevens in. Ik zie dus in beide versies van PMA dezelfde lijst met databases, alleen correspondeert de data niet meer met wat er op dit moment in staat, afhankelijk van via welk domein je hem bezoekt.

    Het lijkt er dus op dat ze een kopie hebben gemaakt van de hele set en dat de ene site de ene kopie update en de andere site de andere kopie. Ik snap alleen niet hoe het onderscheid gemaakt kan worden. Ik heb namelijk de database voor het tweede domein destijds gewoon via de PMA van het eerste domein gemaakt.
    "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."
      woensdag 11 april 2007 @ 18:09:18 #217
    71919 wonderer
    Hung like a My Little Pony
    pi_48224072
    Overigens merk ik net dat ze hetzelfde geintje hebben uitgehaald met mijn ftp server. Tweemaal inloggen, op een ander domein, en ik krijg bij allebei dezelfde lijst, maar als ik files voor domein twee upload via de ftp van domein een, werkt het niet en vice versa.

    Dus het zal wel niet aan mysql liggen maar aan hun server setup.
    "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_48224195
    @wonderer

    Wijzen jouw twee domeinen naar dezelfde server? Want als je verbindt met 'localhost' betekent dat alleen dat je met de server verbindt waarop de website wordt gedraaid. Als ze je hele site hebben gekopiëerd zou ik het nog eens gaan navragen
      woensdag 11 april 2007 @ 18:18:10 #219
    71919 wonderer
    Hung like a My Little Pony
    pi_48224385
    Yeah, het tweede domein is een "add-on" domein. Als ik inlog op ftp zie ik bij beide sites ook dezelfde lijst, ik kan alleen de ene site niet updaten als ik ben ingelogd op het andere domein. Beetje duf Moet ik steeds op gaan letten of ik wel op het goede domein ben ingelogd.
    "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_48224467
    quote:
    Op woensdag 11 april 2007 18:18 schreef wonderer het volgende:
    Yeah, het tweede domein is een "add-on" domein. Als ik inlog op ftp zie ik bij beide sites ook dezelfde lijst, ik kan alleen de ene site niet updaten als ik ben ingelogd op het andere domein. Beetje duf Moet ik steeds op gaan letten of ik wel op het goede domein ben ingelogd.
    Als jij in eerste instantie beide domeinen naar dezelfde bestanden/fysieke locatie gekoppeld had en het sinds de veranderingen van je webhoster niet meer zo is, moet je die dus eens gaan aanspreken maar verder valt het een beetje buiten dit topic.
      woensdag 11 april 2007 @ 18:21:31 #221
    71919 wonderer
    Hung like a My Little Pony
    pi_48224500
    Yep, thanks. Ik dacht eerst dat het alleen aan mysql lag, vandaar.

    Ik zal erover ophouden
    "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_48229901
    quote:
    Op woensdag 11 april 2007 17:01 schreef JeRa het volgende:
    @Chandler

    De oplossing is erg afhankelijk van de character set die je gebruikt HuHu's manier hierboven is wellicht de slimste, je moet dan htmlentities() wel doorgeven welke character set je gebruikt.
    [ code verwijderd ]
    Ik gebruik gewoon een standaard karakterset dus de versie van HuHu is reeds voldoende.

    Mag ik beide heren weer vriendelijk bedanken!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_48229946
    quote:
    Op woensdag 11 april 2007 13:37 schreef JeRa het volgende:
    Wat voor regex heb je nu dan?
    De regex op zich doet het prima, die is verder niet zo relevant (moet hem opzoeken, kan ik nu niet bij )
    Waar het mij om gaat is dat ik voor of na die regex de .nl / .com / etc eruit kan filteren zodat ik die apart kan checken...
    quote:
    Op woensdag 11 april 2007 13:37 schreef JeRa het volgende:
    Dat staat gewoon in de manual hoor, zie deze pagina:
    Damn... ik heb er toch al vaak genoeg naar gezocht
    thanks iig!
    pi_48230205
    quote:
    Op dinsdag 10 april 2007 21:51 schreef Xcalibur het volgende:
    voor de regex / string koningen onder jullie:

    Ik wil van een gegeven string checken of dit een geldige URL is. Nu heb ik een regex die allerlei mogelijke strings accepteert (niet alleen www.domein.nl, maar ook http://www.domein.nl:1080/~home/ bijvoorbeeld).

    Nu wil ik echter ook de TLD checken tegen een lijst met bestaande TLD's, ik krijg deze alleen niet altijd te pakken in mijn string.... Als het ding op .nl / .com / .whatever eindigt lukt het wel natuurlijk, maar als er nog wat achteraan komt gaat het fout.

    Wie weet raad?
    http://nl2.php.net/parse_url

    Vervolgens van "hostname" alles achter de laatste . grijpen
    pi_48230269
    quote:
    Op woensdag 11 april 2007 20:36 schreef Geqxon het volgende:
    http://nl2.php.net/parse_url

    Vervolgens van "hostname" alles achter de laatste . grijpen
    Tof! Alles achter de . is geen probleem, ik ga het proberen!

    Edit: is al gelukt

    [ Bericht 11% gewijzigd door Xcalibur op 11-04-2007 20:42:42 ]
    pi_48230596
    quote:
    Op woensdag 11 april 2007 20:37 schreef Xcalibur het volgende:

    [..]

    Tof! Alles achter de . is geen probleem, ik ga het proberen!

    Edit: is al gelukt ^O^
    1
    2
    3
    4
    5
    6
    7
    <?php
    $url        
    "http://www.domein.nl:1080/~home/";
    $host        parse_url($url,1);
    $tld        substr($host,strrpos($host,"."));

    echo 
    $tld;
    ?>


    O-)
    pi_48230824
    quote:
    Op woensdag 11 april 2007 20:44 schreef Geqxon het volgende:
    [ code verwijderd ]

    O-)
    ik had em in 1 regel ... maar ik gebruik em dan ook in een in_array() check binnen een functie ;)
    1strrchr(parse_url($value, PHP_URL_HOST), '.'))
      donderdag 12 april 2007 @ 03:01:18 #228
    19840 Libris
    Live from Singapore
    pi_48243129
    Kort vraagje:

    Kan ik een maximum grootte voor een mysql definieren en zo ja, hoe?
    pi_48244706
    quote:
    Op donderdag 12 april 2007 03:01 schreef Libris het volgende:
    Kort vraagje:

    Kan ik een maximum grootte voor een mysql definieren en zo ja, hoe?
    "MySQL" is de naam voor een relationeel database beheerssysteem dat MyISAM, InnoDB en nog wat andere typen tabellen kan aanmaken. Wil je de maximum grootte (in bytes?) van een database bepalen?
      FOK!-Schrikkelbaas donderdag 12 april 2007 @ 09:26:49 #230
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48245334
    *gromt*

    Ik heb hier een server staan waarop apache2 en php draait. Die fungeert als intranet en webbased applicatie servertje. Op dit moment draaien er 3 'domeinen' en die wil ik graag eenvoudiger kunnen benaderen dan server/domein

    In mijn host file heb ik dus al voor alle 3 de 'domeinen' het ip opgenomen. Ik kan nu dus volstaan om 'intranet' of 1 van de andere 2 namen in te tikken om op de server terecht te komen. Maar vervolgens moet ik dan apache vertellen wat waar naartoe moet:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    NameVirtualHost *

        <VirtualHost *>
        ServerName intranet
        DocumentRoot /www/intranet
        </VirtualHost>

        <VirtualHost *>
        ServerName macdb
        DocumentRoot /www/Mac_db_mssql
        </VirtualHost>
        
        <VirtualHost *>
        ServerName pidvid
        DocumentRoot /www/PID_VID_DB
        </VirtualHost>


    Ik krijg nu van apache de error terug dat alle 3 de documentroots niet bestaan als ik na de aanpassing van de httpd.conf de service herstart.

    Wat doe ik fout?
    pi_48245383
    @Swetsenegger

    De documentroots bestáán wel? Dus je hebt onder je root een map www met daarin intranet, Mac_db_mssql en PID_VID_DB (inclusief hoofd- en kleine letters?)
      FOK!-Schrikkelbaas donderdag 12 april 2007 @ 09:34:42 #232
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48245526
    quote:
    Op donderdag 12 april 2007 09:29 schreef JeRa het volgende:
    @Swetsenegger

    De documentroots bestáán wel? Dus je hebt onder je root een map www met daarin intranet, Mac_db_mssql en PID_VID_DB (inclusief hoofd- en kleine letters?)
    Ja... afhankelijk van wat Apache als root ziet.

    Ik heb C:AppServ, met daarin /Apache2, /www, /php, etc.
    In de www folder staan de genoemde mappen

    -edit-
    Dit staat in de httpd.conf
    1ServerRoot "C:/AppServ/Apache2"


    -edit2- hmz, ziet hij de apache2 folder dan waarschijnlijk als root, dus
    1DocumentRoot ../www/intranet

    zou wellicht wel werken of denk ik nu te eenvoudig?

    [ Bericht 9% gewijzigd door Swetsenegger op 12-04-2007 09:39:46 ]
    pi_48245716
    @Swetsenegger

    Nee, dat is de zogenaamde configroot, dus waar Apache al zijn configs gaat opzoeken. Meer informatie daarover vind je hier. Héél eventueel gaat jouw idee wel werken, maar dan moet je de eerste slash weghalen (aangezien die eerste slash wordt gezien als een directory, en dat is in dit geval de root).
      FOK!-Schrikkelbaas donderdag 12 april 2007 @ 10:07:37 #234
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48246414
    quote:
    Op donderdag 12 april 2007 09:41 schreef JeRa het volgende:
    @Swetsenegger

    Nee, dat is de zogenaamde configroot, dus waar Apache al zijn configs gaat opzoeken. Meer informatie daarover vind je hier. Héél eventueel gaat jouw idee wel werken, maar dan moet je de eerste slash weghalen (aangezien die eerste slash wordt gezien als een directory, en dat is in dit geval de root).
    Het werkt gek genoeg met die puntjes ervoor dus DocumentRoot ../www/intranet
    pi_48246693
    quote:
    Op donderdag 12 april 2007 10:07 schreef Swetsenegger het volgende:

    [..]

    Het werkt gek genoeg met die puntjes ervoor dus DocumentRoot ../www/intranet
    Dat is niet zo gek aangezien je met ServerRoot er dus kennelijk de feitelijke werkdirectory mee instelt dan werken relatieve paden dus net zo goed. Je eerste methode werkte niet vanwege de slash op het begin, die geeft een absoluut pad aan (/ wordt dan vertaald naar C:).
      donderdag 12 april 2007 @ 10:29:37 #236
    19840 Libris
    Live from Singapore
    pi_48247140
    quote:
    Op donderdag 12 april 2007 08:53 schreef JeRa het volgende:

    [..]

    "MySQL" is de naam voor een relationeel database beheerssysteem dat MyISAM, InnoDB en nog wat andere typen tabellen kan aanmaken. Wil je de maximum grootte (in bytes?) van een database bepalen?
    Ik heb dus meerdere MyISAM tabellen voor meedere users. En inderdaad, een grootte in (mega)bytes.

    Bedankt
    pi_48247347
    quote:
    Op donderdag 12 april 2007 10:29 schreef Libris het volgende:

    [..]

    Ik heb dus meerdere MyISAM tabellen voor meedere users. En inderdaad, een grootte in (mega)bytes.
    Dat gaat niet vanuit MySQL ze hebben geen instelling gecreëerd waarmee je makkelijk de databases in grootte kunt beperken. Twee oplossingen:

    1) Gebruik quotas en maak de user met quota eigenaar van de database (terwijl MySQL nog wel de database kan lezen). Dan zal MySQL nooit fysiek de database groter krijgen dan de hoeveelheid bytes die het besturingssysteem oplegt.

    2) Gebruik passieve controle. Voer om het uur (ofzo) een script uit waarmee je de totale grootte van elke database in kaart brengt. Zodra een database te groot wordt stuur je een mailtje, set je een kolom in een statistiekentabel op true, of wat dan ook
      FOK!-Schrikkelbaas donderdag 12 april 2007 @ 10:51:26 #238
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48247994
    quote:
    Op donderdag 12 april 2007 10:16 schreef JeRa het volgende:

    [..]

    Dat is niet zo gek aangezien je met ServerRoot er dus kennelijk de feitelijke werkdirectory mee instelt dan werken relatieve paden dus net zo goed. Je eerste methode werkte niet vanwege de slash op het begin, die geeft een absoluut pad aan (/ wordt dan vertaald naar C:).
    Ok, nou bedankt het werkt
    Voor het eerst heb ik virtual hosts werkend gekregen
      donderdag 12 april 2007 @ 11:37:41 #239
    12221 Tijn
    Powered by MS Paint
    pi_48249767
    Ik loop tegen een probleem met MySQL aan waar ik niet uitkom. Ik heb een table die 'news' heet met daarin de velden id, timestamp, title en content. Nu wil ik graag een lijstje van nieuwsitems laten zien, met de nieuwste eerst. Dus ik heb daarvoor deze query:

    1SELECT * FROM news ORDER BY timestamp DESC


    Nogal recht toe recht aan en dat werkt ook prima. De uitkomst is zoiets:



    Maar nu! Het ding is, het timestamp is niet echt een timestamp, maar wordt gemaakt met alleen de dag, maand en jaar. Items die opdezelfde dag zijn geplaats, krijgen dus ook hetzelfde timestamp. En daarmee ontstaat een probleem.

    Ergens anders wil ik namelijk ook een lijstje van items weergeven op volgorde van tijd, maar dan alleen de nieuwste tien. Die query ziet er zo uit:

    1SELECT * FROM news ORDER BY timestamp DESC LIMIT 0,10


    En daar komt dit uit:



    De volgorde van de items is nu veranderd, dat is niet de bedoeling!

    Ik dacht het op te lossen door behalve naar het timestamp, ook naar het id te kijken. Ik hoopte dat de lijst dan alsnog op volgorde van tijd gesorteerd zou worden, maar bij gelijke timestamps, de hoogte van het id de volgorde zou bepalen. Zo staat dat bijvoorbeeld ook hier uitgelegd.

    Echter, als ik dat probeer, met bijvoorbeeld deze query:

    1SELECT * FROM news ORDER BY timestamp, id DESC LIMIT 0,10


    Is de output totaal niet wat ik verwacht:



    Het lijkt wel precies verkeerd om ofzo :?

    Iemand een idee hoe ik wel het resultaat krijg wat ik voor ogen heb?
    pi_48249901
    @Tijn

    Aan het resultaat van je eerste query te zien is de volgorde van de ID's (primary keys, PK) niet hetzelfde als die van de timestamp, dus kun je de PK niet in wat voor sortering dan ook gebruiken als het gaat om tijd. Dé oplossing is het verbeteren van je timestamp, eventueel door UNIX_TIMESTAMP() te gebruiken wanneer je een record toevoegt aan die tabel voor zover ik kan zien heb je in die tabel te weinig informatie om het nog te kunnen 'herstellen'.

    Als je toch altijd dezelfde volgorde wilt zien, kun je eventueel ook op titel sorteren. Dan krijg je dus een sortering op dag, en vervolgens op alfabet.
    pi_48250051
    Tijn, van welke app zijn die screenshot? Lijkt me erg handig
      donderdag 12 april 2007 @ 11:45:07 #242
    12221 Tijn
    Powered by MS Paint
    pi_48250057
    quote:
    Op donderdag 12 april 2007 11:41 schreef JeRa het volgende:

    Aan het resultaat van je eerste query te zien is de volgorde van de ID's (primary keys, PK) niet hetzelfde als die van de timestamp, dus kun je de PK niet in wat voor sortering dan ook gebruiken als het gaat om tijd.
    Dit snap ik niet. Waarom kan ik niet eerst op volgorde van timestamp sorteren en daarbinnen op id?
      donderdag 12 april 2007 @ 11:45:37 #243
    12221 Tijn
    Powered by MS Paint
    pi_48250070
    quote:
    Op donderdag 12 april 2007 11:45 schreef super-muffin het volgende:
    Tijn, van welke app zijn die screenshot? Lijkt me erg handig
    CocoaMySQL.
    pi_48250237
    quote:
    Op donderdag 12 april 2007 11:37 schreef Tijn het volgende:
    De volgorde van de items is nu veranderd, dat is niet de bedoeling!
    De volgorde is prima, het probleem is dat hij eerst je resultaat LIMIT naar 10 records en dán pas gaat sorteren (die tien records dus) in plaats van de hele batch sorteert en daar de eerste 10 records van pakt.

    Dwz, daar lijkt het wel op in ieder geval. Zo goed was mijn MySQL-fu nu ook weer niet dat ik dat zeker weet.
    "If you are depressed you shouldn't be in C major!" - Rick Beato
    pi_48250288
    quote:
    Op donderdag 12 april 2007 11:50 schreef Litpho het volgende:

    [..]

    De volgorde is prima, het probleem is dat hij eerst je resultaat LIMIT naar 10 records en dán pas gaat sorteren (die tien records dus) in plaats van de hele batch sorteert en daar de eerste 10 records van pakt.
    Dat is onzin.
    quote:
    Op donderdag 12 april 2007 11:45 schreef Tijn het volgende:

    [..]

    Dit snap ik niet. Waarom kan ik niet eerst op volgorde van timestamp sorteren en daarbinnen op id?
    Dat kán wel, maar je hebt er niets aan. Zoals je uit je eerste screenshot kunt opmaken heeft de volgorde van id niets te maken met de volgorde van de timestamp

    edit: de oplossing is dit:

    ORDER BY timestamp DESC, id DESC;

    Want als je niets aangeeft neemt MySQL ASC aan en dat was zo bij timestamp.
    pi_48250381
    quote:
    Op donderdag 12 april 2007 11:51 schreef JeRa het volgende:

    [..]

    Dat is onzin.
    Dat is mogelijk, zoveel verstand heb ik niet van MySQL. Oracle ROWNUM functioneert wel op een dergelijke manier (storend genoeg).
    "If you are depressed you shouldn't be in C major!" - Rick Beato
    pi_48250429
    quote:
    Op donderdag 12 april 2007 11:54 schreef Litpho het volgende:

    [..]

    Dat is mogelijk, zoveel verstand heb ik niet van MySQL. Oracle ROWNUM functioneert wel op een dergelijke manier (storend genoeg).
    Als je in Oracle zoiets doet:

    SELECT * FROM tabel ORDER BY kolom1 ASC, kolom2 DESC LIMIT 10;

    Wordt het sorteren toch echt vóór het limiteren uitgevoerd hoor
      donderdag 12 april 2007 @ 11:55:44 #248
    12221 Tijn
    Powered by MS Paint
    pi_48250450
    quote:
    Op donderdag 12 april 2007 11:51 schreef JeRa het volgende:

    [..]

    Dat kán wel, maar je hebt er niets aan. Zoals je uit je eerste screenshot kunt opmaken heeft de volgorde van id niets te maken met de volgorde van de timestamp

    edit: de oplossing is dit:

    ORDER BY timestamp DESC, id DESC;

    Want als je niets aangeeft neemt MySQL ASC aan en dat was zo bij timestamp.
    Ah! Maar zo is 'ie dan toch goed? Nu is de volgorde van de getoonde items altijd in orde, zowel met als zonder LIMIT geeft 'ie de nieuwste items eerst en altijd op dezelfde volgorde.
    pi_48250490
    quote:
    Op donderdag 12 april 2007 11:45 schreef Tijn het volgende:

    [..]

    CocoaMySQL.
    Dank je wel
    pi_48250504
    quote:
    Op donderdag 12 april 2007 11:55 schreef JeRa het volgende:

    [..]

    Als je in Oracle zoiets doet:

    SELECT * FROM tabel ORDER BY kolom1 ASC, kolom2 DESC LIMIT 10;

    Wordt het sorteren toch echt vóór het limiteren uitgevoerd hoor
    Nee, dan klapt je query omdat LIMIT niet bestaat .
    "If you are depressed you shouldn't be in C major!" - Rick Beato
    pi_48250581
    quote:
    Op donderdag 12 april 2007 11:56 schreef Litpho het volgende:

    [..]

    Nee, dan klapt je query omdat LIMIT niet bestaat .
    Oh ja, dat is waar. Maar lees even in plaats van die LIMIT een CURSOR in een SP
    quote:
    Op donderdag 12 april 2007 11:55 schreef Tijn het volgende:

    [..]

    Ah! Maar zo is 'ie dan toch goed? Nu is de volgorde van de getoonde items altijd in orde, zowel met als zonder LIMIT geeft 'ie de nieuwste items eerst en altijd op dezelfde volgorde.
    Als je PK een AUTO_INCREMENT kolom is (of als je 'm zelf elke keer netjes ophoogt) gaat dat helemaal goed ja
    pi_48250621
    quote:
    Op donderdag 12 april 2007 11:58 schreef JeRa het volgende:

    [..]

    Oh ja, dat is waar. Maar lees even in plaats van die LIMIT een CURSOR in een SP
    Dan wel, ja.
    "If you are depressed you shouldn't be in C major!" - Rick Beato
      donderdag 12 april 2007 @ 11:59:51 #253
    12221 Tijn
    Powered by MS Paint
    pi_48250653
    quote:
    Op donderdag 12 april 2007 11:58 schreef JeRa het volgende:

    [..]

    Als je PK een AUTO_INCREMENT kolom is (of als je 'm zelf elke keer netjes ophoogt) gaat dat helemaal goed ja
    Ja, dat is zo
      donderdag 12 april 2007 @ 12:20:13 #254
    12221 Tijn
    Powered by MS Paint
    pi_48251468
    quote:
    Op donderdag 12 april 2007 11:56 schreef super-muffin het volgende:

    [..]

    Dank je wel
    Ja, ik vind het prettiger werken dan iets als phpMyAdmin ofzo. Helaas zit ik vaak op school te werken en daar hebben ze een hele strenge firewall, waardoor je niet gewoon een MySQL-verbinding mag maken en je dus wel met iets browser-based moet werken
    pi_48253194
    Heb je misschien tips hoe dat CocaoMysql werkt? Ik kan maar niet connecten, ik krijg telkens de error: "Acces denied for user 'root'@'localhost' (using password: YES)" , een voor mij bekende error, terwijl ik het wachtwoord goed type
    pi_48256593
    Heey mensen,

    Kan iemand mij helpen?
    Ik heb al een topic:
    [PHP] Aantal berichten in gastenboek E107

    Hoop dat iemand kan helpen? info staat in topic!

    Bedankt!
      donderdag 12 april 2007 @ 15:39:40 #257
    18008 hornage
    FOK! Movie Trivia-Prijsmeester
    pi_48257720
    Ik wil voor een website een de mogelijkheid hebben om animated gifs die geupload worden te resizen.
    Nu ben ik er na kort zoeken al achter gekomen dat dit erg lastig wordt met php en gd omdat dit niet standaard wordt ondersteund.
    Toch lijkt het me iets wat niet praktisch onmogelijk is.
    Iemand dus toevallig een class of link waarin dit wel mogelijk is?

    [ Bericht 0% gewijzigd door hornage op 12-04-2007 15:45:07 ]
    Test je filmkennis! Speel mee met FOK! Movie Trivia en win prijzen!
    pi_48257800
    ik wil dus via php een exe file uitvoeren met paar parameters erachter
    heb deze code als test maar deze laat apache crashen

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    error_reporting
    ( E_ALL );

    function
    _exec($cmd)
    {
       
    $WshShell = new COM("WScript.Shell");
       
    $oExec = $WshShell->Exec("cmd /c $cmd");

       return
    $oExec;
    }
    _exec("test.exe -nr:123456789 -text:'dit is een test'");
    ?>


    iemand een ideetje?

    alvast bedankt
    pi_48257904
    quote:
    Op donderdag 12 april 2007 14:55 schreef nieklebbink het volgende:
    Heey mensen,

    Kan iemand mij helpen?
    Ik heb al een topic:
    [PHP] Aantal berichten in gastenboek E107

    Hoop dat iemand kan helpen? info staat in topic!

    Bedankt!
    Dat zul je toch echt grotendeels zelf moeten doen. De query heb je al (en die klopt ook), en als de plek waar je het in moet voegen een probleem is zul je toch eerst eens de basis van PHP moeten leren
    pi_48257956
    quote:
    Op donderdag 12 april 2007 15:39 schreef hornage het volgende:
    Ik wil voor een website een de mogelijkheid hebben om animated gifs die geupload worden te resizen.
    Nu ben ik er na kort zoeken al achter gekomen dat dit erg lastig wordt met php en gd omdat dit niet standaard wordt ondersteund.
    Toch lijkt het me iets wat niet praktisch onmogelijk is.
    Iemand dus toevallig een class of link waarin dit wel mogelijk is?
    Volgens mij is het resizen van animated gifs goed mogelijk via ImageMagick gebruik dat samen met 'php' en 'animated gifs' als keyword op een willekeurige zoekmachine en je zult hoogstwaarschijnlijk een hoop bronnen erbij krijgen.
    pi_48258058
    quote:
    Op donderdag 12 april 2007 15:39 schreef hornage het volgende:
    Ik wil voor een website een de mogelijkheid hebben om animated gifs die geupload worden te resizen.
    Nu ben ik er na kort zoeken al achter gekomen dat dit erg lastig wordt met php en gd omdat dit niet standaard wordt ondersteund.
    Toch lijkt het me iets wat niet praktisch onmogelijk is.
    Iemand dus toevallig een class of link waarin dit wel mogelijk is?
    Google eens op imagemagick + php, dan kom je er wel
      donderdag 12 april 2007 @ 15:58:36 #262
    18008 hornage
    FOK! Movie Trivia-Prijsmeester
    pi_48258106
    Ik was al op imagemagick gekomen jah. Ik host de site alleen niet zelf. Hij staat bij xs4all. In hun phpinfo staat niets over imagemagick
    Test je filmkennis! Speel mee met FOK! Movie Trivia en win prijzen!
    pi_48259365
    quote:
    Op donderdag 12 april 2007 15:58 schreef hornage het volgende:
    Ik was al op imagemagick gekomen jah. Ik host de site alleen niet zelf. Hij staat bij xs4all. In hun phpinfo staat niets over imagemagick
    Ik kan wel een service voor je maken
    (als je ervoor betaald )

    Of je kan je eigen service maken. Dan installeer je thuis ImageMagick en een webserver en schrijf je een link tussen jouw site en je thuis server. Zo ben ik ook begonnen...

    Het kan trouwens ook met gifsicle.exe
    (iets lichter pakket en kan losstaand als exe gebruikt worden.
      donderdag 12 april 2007 @ 18:06:37 #264
    37634 wobbel
    Da WoBBeL King
    pi_48262217
    Ik heb een variable genaamd $OldDate.

    De waarde hiervan is "6 Juli 2006 09:35:52"

    Hoe kan ik met PHP deze datum omrekenen naar Unix timestamp?
    pi_48262348
    quote:
    Op donderdag 12 april 2007 18:06 schreef wobbel het volgende:
    Ik heb een variable genaamd $OldDate.

    De waarde hiervan is "6 Juli 2006 09:35:52"

    Hoe kan ik met PHP deze datum omrekenen naar Unix timestamp?
    Als de string altijd dat formaat heeft kun je gebruik maken van substr() om de afzonderlijke delen te scheiden (of nog makkerlijker: explode() op een spatie) en vervolgens kun je met mktime() je timestamp maken
      donderdag 12 april 2007 @ 18:25:21 #266
    107951 JortK
    Immer kwaliteitsposts
    pi_48262773
    Ook weer present met een probleem :)

    Ik include de volgende bestanden:
    1
    2
    3
    include('initialize.php');
    include('variables.php');
    include('includes.php');


    In include.php heb ik dit staan:
    1
    2
    3
    4
    5
    6
    7
    <?php
    //QTOP50 - Selects the TOP 50 ringtones
    $qtop50 = "SELECT TOP 50 * FROM ringtones";
        
    //RTOP50 - Return the result of Query QTOP50
    $rtop50 = mysql_query($qtop50);
    ?>


    Wanneer ik nu in me index.php deze code heb:
    1
    2
    3
    4
    5
    6
    <?php
    while($row = mysql_fetch_assoc($rtop50))
    {
    echo
    $row[TIMESTAMP];
    };
    ?>


    Krijg ik deze melding:

    1Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:ProgramsXAMPPxampphtdocsindex.php on line 51


    Line 51 is de regel waar de mysql_fetch_assoc staat :)

    Het gekke is wanneer ik de $qtop50 en $rtop50 gewoon neerzet in me index.php, ik wel de timestam p te zien krijg.

    Kan iemand me helpen?
      donderdag 12 april 2007 @ 18:29:29 #267
    71919 wonderer
    Hung like a My Little Pony
    pi_48262903
    Wat doet die puntkomma op regel vijf?

    Als je echo mysql_error(); doet, kun je in ieder geval een beetje zien wat er fout zit.
    "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_48262995
    Hey ik had een vraag.
    Ik ben bezig met een stukje php die een xml bestand omzet in een ander xml bestand en vervolgens via een odbc koppeling naar een access database plaatst. Dit lukt half. Ik kan gegevens in de database krijgen maar er is alleen een kolomnaam in een tabel die 'aantal besteld' heet. (met een spatie dus). Wat kan ik in plaatst van de spatie doen?

    Zo is het nu:

    $sql = "INSERT INTO tbl_V_Verkooporderregel(Bestelnummer, Artikelnummer, Aantal besteld) VALUES ('$Bestelnummer', '$Artikelnummer', '$Aantal_Besteld')";
    pi_48263393
    Zet er ` omheen (backticks, linksboven op je toetsenbord).
    pi_48263473
    @JortK

    Die query lijkt me niet te kloppen eerlijk gezegd moet het niet zoiets zijn?

    SELECT * FROM ringtones ORDER BY rating DESC LIMIT 50;
    pi_48263484
    quote:
    Op donderdag 12 april 2007 18:46 schreef HuHu het volgende:
    Zet er ` omheen (backticks, linksboven op je toetsenbord).
    Bedankt, weer wat geleerd
    pi_48263664
    quote:
    The LIMIT clause can be used when you would use TOP in Access or MS SQL.
    Het commando TOP bestaat niet in MySQL.
      donderdag 12 april 2007 @ 18:58:19 #273
    107951 JortK
    Immer kwaliteitsposts
    pi_48263790
    quote:
    Op donderdag 12 april 2007 18:54 schreef HuHu het volgende:

    [..]

    Het commando TOP bestaat niet in MySQL.
    Klopt was ook het probleem

    * JortK werkt in het dagelijks leven op zijn werk met MS SQL, daar is TOP de standaard
    pi_48273120
    hmm weet iemand waarom mozilla de volgende tabel prima laat zien, maar IE er 1 grote gore sliert van maakt:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     echo"<FORM NAME='formnewcust' METHOD='post' action='$postform'  <table>
         <tr><td><font face = verdana size = 1>Achternaam:</font></td> <td><INPUT TYPE='text' NAME='anaam' MAXLENGTH='25' SIZE='25'> </td></tr>
         <tr><td><font face = verdana size = 1>Tussenvoegsel(s):</font></td> <td><INPUT TYPE='text' NAME='tvoeg' MAXLENGTH='8' SIZE='8'> </td></tr>
         <tr><td><font face = verdana size = 1>Voornaam:</font></td> <td><INPUT TYPE='text' NAME='vnaam' MAXLENGTH='25' SIZE='25'> </td></tr>
         <tr><td><font face = verdana size = 1>Titel:</font></td> <td><INPUT TYPE='text' NAME='titel' MAXLENGTH='15' SIZE='15'> </td></tr>
         <tr><td><font face = verdana size = 1>Bedrijfsnaam:</font></td> <td><INPUT TYPE='text' NAME='bedrijfsnaam' MAXLENGTH='35' SIZE='35'> </td></tr>

         <tr><td><font face = verdana size = 1>Adres:</font></td> <td><INPUT TYPE='text' NAME='adres' MAXLENGTH='25' SIZE='25'> </td></tr>
         <tr><td><font face = verdana size = 1>Woonplaats:</font></td> <td><INPUT TYPE='text' NAME='wplaats' MAXLENGTH='25' SIZE='25'> </td></tr>
         <tr><td><font face = verdana size = 1>Postcode:</font></td> <td><INPUT TYPE='text' NAME='postc' MAXLENGTH='6' SIZE='6'> </td></tr>
         <tr><td><font face = verdana size = 1>Telefoon 1:</font></td> <td><INPUT TYPE='text' NAME='tel1' MAXLENGTH='15' SIZE='15'> </td></tr>
         <tr><td><font face = verdana size = 1>Telefoon 2:</font></td> <td><INPUT TYPE='text' NAME='tel2' MAXLENGTH='15' SIZE='15'> </td></tr>
         <tr><td><font face = verdana size = 1>Email:</font></td> <td><INPUT TYPE='text' NAME='email' MAXLENGTH='50' SIZE='35'> </td></tr>
         <tr><td><font face = verdana size = 1>Notitie:</font></td> <td><textarea rows='3' cols='20' name='notes'></textarea></td></tr>
         </table>
         <INPUT TYPE='submit'  VALUE='Plaats' ></form>";
         echo"";


    Poging 2, hopen dat Fok nu niet weer mijn code deels gaat parsen (http://forum.fok.nl/topic/1009270)
    pi_48273217
    \n (new line charachter) of \r (carrige return) achter de juiste tags zetten?
      donderdag 12 april 2007 @ 22:38:39 #276
    71919 wonderer
    Hung like a My Little Pony
    pi_48273287
    Je form tag mist een afsluitend haakje.
    "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_48273337
    quote:
    Op donderdag 12 april 2007 22:37 schreef mschol het volgende:
    \n (new line charachter) of \r (carrige return) achter de juiste tags zetten?
    euh, hoe wat waar en waarom?

    Het gaat mij er om dat de omschrijving van een veld er voor komt te staan, en de velden netjes boven elkaar komen te staan. Mozilla doet dit prima. IE doet net of er geen tabel is.
    pi_48273408
    quote:
    Op donderdag 12 april 2007 22:38 schreef wonderer het volgende:
    Je form tag mist een afsluitend haakje.
    aaahh stom! Tq * LeeHarveyOswald probeert
    pi_48273425
    quote:
    Op donderdag 12 april 2007 22:39 schreef LeeHarveyOswald het volgende:

    [..]

    euh, hoe wat waar en waarom?

    Het gaat mij er om dat de omschrijving van een veld er voor komt te staan, en de velden netjes boven elkaar komen te staan. Mozilla doet dit prima. IE doet net of er geen tabel is.
    ik dacht dat je je gegenereerde code niet netjes vond in IE
    pi_48273459
    solved
      donderdag 12 april 2007 @ 22:43:36 #281
    71919 wonderer
    Hung like a My Little Pony
    pi_48273494
    quote:
    Op donderdag 12 april 2007 22:41 schreef LeeHarveyOswald het volgende:

    [..]

    aaahh stom! Tq * LeeHarveyOswald probeert
    Eigenlijk zou IE het wel en FF het niet moeten laten zien dan.. Maar goed. Ik vraag me ook af hoe netjes die enkele aanhalingstekens zijn bij de attributen... volgens mij hoort dat niet. Je kunt het beter andersom doen, echo met enkele aanhalingstekens en dan kun je de html gewoon met dubbele doen. Je moet dan alleen je variabelen buiten de string zetten, maar dat kan sowieso geen kwaad om dat te doen.
    "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."
      FOK!-Schrikkelbaas donderdag 12 april 2007 @ 22:47:22 #282
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48273663
    Ik mis LIMIT wel ernstig in MSSQL. Dat hebben ze bij MySQL beter voor elkaar
      FOK!-Schrikkelbaas donderdag 12 april 2007 @ 22:49:19 #283
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48273736
    quote:
    Op donderdag 12 april 2007 13:08 schreef Geqxon het volgende:
    Heb je misschien tips hoe dat CocaoMysql werkt? Ik kan maar niet connecten, ik krijg telkens de error: "Acces denied for user 'root'@'localhost' (using password: YES)" , een voor mij bekende error, terwijl ik het wachtwoord goed type
    is je user wel goed? cocaomysql werkt perfect hier
      donderdag 12 april 2007 @ 22:49:44 #284
    71919 wonderer
    Hung like a My Little Pony
    pi_48273758
    quote:
    Op donderdag 12 april 2007 22:47 schreef Swetsenegger het volgende:
    Ik mis LIMIT wel ernstig in MSSQL. Dat hebben ze bij MySQL beter voor elkaar
    Ja! Toen ik nog met MSSQL werkte was dat zo'n beetje mijn grootste struikelblok. En het feit dat er niet een handig webtooltje a la PMA bijzat.
    "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."
      FOK!-Schrikkelbaas donderdag 12 april 2007 @ 22:53:16 #285
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48273901
    quote:
    Op donderdag 12 april 2007 22:49 schreef wonderer het volgende:

    [..]

    Ja! Toen ik nog met MSSQL werkte was dat zo'n beetje mijn grootste struikelblok. En het feit dat er niet een handig webtooltje a la PMA bijzat.
    Ik heb ergens een keer een functie gevonden die LIMIT x,x in MSSQL nabootst, zal 'm wel eens posten.

    En ems maakt prachtige freeware database managers voor zo'n beetje elke database. Van MySQL en MSSQL tot postgresql, interbase en oracle
    pi_48273944
    quote:
    Op donderdag 12 april 2007 22:49 schreef Swetsenegger het volgende:

    [..]

    is je user wel goed? cocaomysql werkt perfect hier
    Ik heb 1 user, root / password. Werkt met PHP prima, maar met CocoaMySQL niet
      FOK!-Schrikkelbaas donderdag 12 april 2007 @ 22:55:04 #287
    1972 Swetsenegger
    Egocentrische Narcist
    pi_48273990
    quote:
    Op donderdag 12 april 2007 22:54 schreef Geqxon het volgende:

    [..]

    Ik heb 1 user, root / password. Werkt met PHP prima, maar met CocoaMySQL niet
    vreemd, zoveel valt er niet in te stellen in cocaqmysql. Misschien conflict met de versie van mysql?
      donderdag 12 april 2007 @ 22:58:15 #288
    107951 JortK
    Immer kwaliteitsposts
    pi_48274133
    quote:
    Op donderdag 12 april 2007 22:53 schreef Swetsenegger het volgende:

    [..]

    Ik heb ergens een keer een functie gevonden die LIMIT x,x in MSSQL nabootst, zal 'm wel eens posten.

    En ems maakt prachtige freeware database managers voor zo'n beetje elke database. Van MySQL en MSSQL tot postgresql, interbase en oracle
    Query Analyzer
    pi_48274451
    quote:
    Op donderdag 12 april 2007 22:43 schreef wonderer het volgende:

    [..]

    Eigenlijk zou IE het wel en FF het niet moeten laten zien dan.. Maar goed. Ik vraag me ook af hoe netjes die enkele aanhalingstekens zijn bij de attributen... volgens mij hoort dat niet. Je kunt het beter andersom doen, echo met enkele aanhalingstekens en dan kun je de html gewoon met dubbele doen. Je moet dan alleen je variabelen buiten de string zetten, maar dat kan sowieso geen kwaad om dat te doen.
    Dat was ook wat ik verwacht had
    pi_48274738
    Even een kort vraagje over random waardes:
    Ik heb een array van bijvoorbeeld 30 onderdelen. Daaruit wil ik 5 willekeurige, maar het moeten allemaal verschillende zijn. Hoe doe ik dat het makkelijkste?


    http://nl3.php.net/manual/nl/function.array-rand.php dus
    pi_48274763
    quote:
    Op donderdag 12 april 2007 22:53 schreef Swetsenegger het volgende:

    [..]

    En ems maakt prachtige freeware database managers voor zo'n beetje elke database. Van MySQL en MSSQL tot postgresql, interbase en oracle
    Freeware? Op hun site staat dat het trial versies zijn die je 30 dagen lang kunt gebruiken?
    pi_48274780
    quote:
    Op donderdag 12 april 2007 23:14 schreef Piles het volgende:
    Even een kort vraagje over random waardes:
    Ik heb een array van bijvoorbeeld 30 onderdelen. Daaruit wil ik 5 willekeurige, maar het moeten allemaal verschillende zijn. Hoe doe ik dat het makkelijkste?
    http://nl2.php.net/manual/en/function.array-rand.php
    pi_48280994
    quote:
    Op donderdag 12 april 2007 22:49 schreef wonderer het volgende:

    [..]

    Ja! Toen ik nog met MSSQL werkte was dat zo'n beetje mijn grootste struikelblok. En het feit dat er niet een handig webtooltje a la PMA bijzat.
    Microsoft SQL Server.

    In dat limit is inderdaad jammer, daarentegen heeft MSSQL/SQL Server wel een hele leuke feature: Stored Procedures.
    pi_48282215
    quote:
    Op vrijdag 13 april 2007 08:35 schreef Tuvai.net het volgende:

    [..]

    Microsoft SQL Server.

    In dat limit is inderdaad jammer, daarentegen heeft MSSQL/SQL Server wel een hele leuke feature: Stored Procedures.
    Die zitten ook in MySQL, dus wat dat betreft is het niet ideaal toch vreemd, want een LIMIT-clausule kan ontzettend goed meegenomen worden in het query plan om in één keer snel een bepaald aantal resultaten te bepalen.
    pi_48282290
    Heb nog nooit Stored Procedures met MySQL gebruikt eigenlijk. Ik gebruik MySQL meestal in combinatie met PHP en ik ben al jaren gewend om de queries zelf in PHP te schrijven. Wel heb ik een vaste functie die een SP nabootst in PHP, dus een $cmd variabele die 1 t/m 3 kan zijn (insert, update en delete) en vervolgens de veldnamen als argumenten.
      zondag 15 april 2007 @ 13:50:19 #296
    107951 JortK
    Immer kwaliteitsposts
    pi_48346585
    Ik zie weleens bij sites dit staan:

    1Generated in 0.008 seconds :: 4 queries executed


    Hoe krijg je dit voor elkaar?
    pi_48346711
    quote:
    Op zondag 15 april 2007 13:50 schreef JortK het volgende:
    Ik zie weleens bij sites dit staan:
    [ code verwijderd ]

    Hoe krijg je dit voor elkaar?
    die generated in kan je hiervinden:
    http://www.chauy.com/2005(...)-php-execution-time/

    en ik gok dat de queries in een array staan die ze tellen ofzo?
    pi_48346754
    Die tijd kun je uitrekenen door bovenaan en onderaan je pagina de microtime() funtie aan te roepen en deze van elkaar af te trekken.

    En het aantal queries kun je tellen, door bijvoorbeeld bij elke query een $count++ te doen. Of je schijft een eigen database klasse, of een eigen db_query functie die elke query telt.
      zondag 15 april 2007 @ 15:07:08 #299
    85514 ralfie
    !Yvan eht nioj
    pi_48348676
    Ik heb voor benchmarking een classje gemaakt, welke in elk willekeurig script geinclude kan worden

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    //benchmark.php
    class benchmark {
            var
    $tm=array();
            function
    benchmark() {
            
    $this->start();
        }
            function
    start($handle="__MAIN") {
                    list(
    $usec,$sec)=explode(" ",microtime());
                    
    $this->tm[$handle]=(float)$usec+(float)$sec;
            }
            function
    stop($handle="__MAIN") {
                    list(
    $usec,$sec)=explode(" ",microtime());
                    return ((float)
    $usec+(float)$sec)-$this->tm[$handle];
            }
    }
    $benchmark=new benchmark();
    ?>


    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
    <?php
    //test.php
    include("benchmark.php");

    $benchmark->start('generate array');
    $arr=array();
    for (
    $x=0;$x<100000;$x++) {
       
    $arr[$x]=rand();
    }
    echo
    "making the array took ".$benchmark->stop('generate array')." seconds<br>";


    $benchmark->start('for-loop');
    for (
    $x=0;$x<sizeof($arr);$x++) {
        
    $arr[$x]=$arr[$x]*2;
    }
    echo
    "changing the array in a for-loop ".$benchmark->stop('for-loop')." seconds<br>";

    $benchmark->start('for-loop:one check');
    $s=sizeof($arr);
    for (
    $x=0;$x<$s;$x++) {
        
    $arr[$x]=$arr[$x]*2;
    }
    echo
    "changing the array in a for-loop ".$benchmark->stop('for-loop:one check')." seconds when checking size only once<br>";


    $benchmark->start('foreach-loop');
    foreach(
    $arr as $x => $y) {
        
    $arr[$x]=$y*2;
    }
    echo
    "changing the array in a foreach-loop ".$benchmark->stop('foreach-loop')." seconds<br>";

    echo
    "the entire script took ".$benchmark->stop()." seconds!";
    ?>
    Het handige hieraan (vind ik) is dat je verschillende tijden kunt laten meten, zelfs gelijktijdig. De overhead van de class is mi te verwaarlozen hierbij
    pi_48348934
    Ik heb geboortedatums in de database staan door middel van DATE-velden van MySQL. Een geboortedatum is dus bijvoorbeeld 1985-07-19. Nu wil ik vanaf vandaag een overzicht van de aankomende verjaardagen, gesorteerd op hoe lang het nog duurt (liefst in dagen). Ik heb de manual er bij gepakt, maar ik kan het nog niet vinden

    -edit-
    Inmiddels ben ik iets verder:
    1
    2
    3
    4
    5
      SELECT people_firstname, people_lastname, 
             date_format(people_birthday, '%d %m') AS verjaardag 
        FROM people 
       WHERE people_birthday != 'NULL' 
    ORDER BY verjaardag ASC


    Maar nu nog vanaf vandaag gerekend, daar kom ik nog niet uit.

    [ Bericht 44% gewijzigd door Nevermind op 15-04-2007 16:17:34 ]
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')