abonnement Unibet Coolblue Bitvavo
  FOK!-Schrikkelbaas donderdag 27 augustus 2009 @ 13:02:12 #1
1972 Swetsenegger
Egocentrische Narcist
pi_72197658

cd niet bijgeleverd

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

Vorige delen:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74

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
  • pi_72197668
    quote:
    Op donderdag 27 augustus 2009 12:58 schreef Swetsenegger het volgende:

    [..]

    35
    [..]

    eh sorry
    Dat gezeik dat de jouwe korter is. I dont care. Als het maar doet wat het moet doen en duidelijk is.
    Ik kan wel een compact script schijven van 10 regels en dat nu begrijpen. Maar ik moet het over een jaar nog steeds begrijpen als ik het weer in zie omdat er iets aangepast moet worden. Dan schrijf ik liever een duidelijk script van 20 regels wat ik na een jaar meteen weer snap door de duidelijkheid en nodige comments
    pi_72197678
    quote:
    Op donderdag 27 augustus 2009 13:00 schreef GlowMouse het volgende:
    Ha ha, nu moet jij een nieuwe aanmaken.
    Lol
    pi_72197699
    pi_72197717
    tvp
      FOK!-Schrikkelbaas donderdag 27 augustus 2009 @ 13:05:52 #6
    1972 Swetsenegger
    Egocentrische Narcist
    pi_72197739
    quote:
    Op donderdag 27 augustus 2009 13:02 schreef Moozzie het volgende:

    [..]

    Dat gezeik dat de jouwe korter is.
    Zeiken Hij vraagt commentaar ik zeg dat het script me in eerste instantie wat lang leek en geef direct aan dat ik niet inhoudelijk gekeken heb. Vervolgens geeft hij aan nieuwsgierig te zijn.
    quote:
    I dont care.
    Nou gelet op je overtrokken reactie blijkbaar wel.
    quote:
    Als het maar doet wat het moet doen en duidelijk is.
    Ik kan wel een compact script schijven van 10 regels en dat nu begrijpen. Maar ik moet het over een jaar nog steeds begrijpen als ik het weer in zie omdat er iets aangepast moet worden. Dan schrijf ik liever een duidelijk script van 20 regels wat ik na een jaar meteen weer snap door de duidelijkheid en nodige comments
    Ja, ik heb volgens mij nergens a. een waarde oordeel aan het script gehangen of b. aanleiding gegeven om voor jou te denken dat ik er anders over denk.

    Doe ff normaal.
    pi_72197818
    quote:
    Op donderdag 27 augustus 2009 12:58 schreef GlowMouse het volgende:

    [..]

    Beter: je returnt de data die je nodig hebt voor de output. Serieus, als ik zo'n script tegenkom als het jouwe dan begin ik liever opnieuw.

    En Chandler: voorkom toepassen van functies op kolomnamen omdat dat niet indexeerbaar is.
    Doel je op de date_format? kun je eens meer info geven?

    @Swets; mijn class is bedoeld om de data uit te lezen en eventueel in te voeren, zo beknopt maar flexibel mogelijk. Meer heeft een poll eingelijk niet nodig.
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      FOK!-Schrikkelbaas donderdag 27 augustus 2009 @ 13:09:08 #8
    1972 Swetsenegger
    Egocentrische Narcist
    pi_72197841
    Ik heb een vraagje. Ik heb een site die wat tweets naar twitter verstuurt. En in die tweets staat een euro teken. Nu doe ik dat met & euro; zodat ik een crossplatform euroteken krijg. Maar.... voor twitter zijn ook allerlei desktop applicaties en die zijn in de regel NIET webbased. En in plaats van een mooi teken zie die nu dus de html entity.

    Zend dan gewoon het euroteken daadwerkelijk mee, maar dan heb ik het probleem dat een ¤ er op bv OSX of Linux er als æ ofzo uitziet.

    Hoe krijg ik een cross platform, cross applicatie euroteken?
      donderdag 27 augustus 2009 @ 13:10:28 #9
    75592 GlowMouse
    l'état, c'est moi
    pi_72197886
    bv.
    UNIX_TIMESTAMP(date_started) < ....
    omschrijven naar
    date_started < FROM_UNIXTIME(...)

    en
    UNIX_TIMESTAMP(date_started) < NOW()
    klopt niet eens: NOW() is geen unix timestamp.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      FOK!-Schrikkelbaas donderdag 27 augustus 2009 @ 13:11:02 #10
    1972 Swetsenegger
    Egocentrische Narcist
    pi_72197908
    quote:
    Op donderdag 27 augustus 2009 13:08 schreef Chandler het volgende:

    @Swets; mijn class is bedoeld om de data uit te lezen en eventueel in te voeren, zo beknopt maar flexibel mogelijk. Meer heeft een poll eingelijk niet nodig.
    Het was geen kritiek hoor, het viel me op.
    pi_72197919
    quote:
    Op donderdag 27 augustus 2009 11:38 schreef Swetsenegger het volgende:

    Ik heb een vraagje. Ik heb een site die wat tweets naar twitter verstuurt. En i9n die tweets staat een euro teken. Nu doe ik dat met & euro; zodat ik een crossplatform euroteken krijg. Maar.... voor twitter zijn ook allerlei desktop applicaties en die zijn in de regel NIET webbased. En in plaats van een mooi teken zie die nu dus de html entity.

    Zend dan gewoon het euroteken daadwerkelijk mee, maar dan heb ik het probleem dat een ¤ er op bv OSX of Linux er als æ ofzo uitziet.

    Hoe krijg ik een cross platform, cross applicatie euroteken?
    Twitter gebruikt UTF-8 (iig voor de website). Dan zou je dus zonder problemen ¤ moeten kunnen gebruiken en heb je geen html entity nodig.
      FOK!-Schrikkelbaas donderdag 27 augustus 2009 @ 13:14:29 #12
    1972 Swetsenegger
    Egocentrische Narcist
    pi_72198008
    quote:
    Op donderdag 27 augustus 2009 13:11 schreef Light het volgende:

    [..]

    Twitter gebruikt UTF-8 (iig voor de website). Dan zou je dus zonder problemen ¤ moeten kunnen gebruiken en heb je geen html entity nodig.
    Ja, maar desktop apps zijn niet altijd UTF-8. Dus krijg ik op OSX in een twitter app bv geen ¤ te zien. Ik vraag me af of ik niet wat in ASCII kan doen ofzo.

    -edit- hoewel ik nu in m'n blackberry keurig een ¤ te zien krijg. Toen ik de ¤ er op mijn apple in had geplakt was dat niet zo. Blijkbaar staat mijn apple omgeving niet op UTF-8 ingesteld. Vanavond eens kijken.

    [ Bericht 12% gewijzigd door Swetsenegger op 27-08-2009 13:21:54 ]
    pi_72198646
    quote:
    Op donderdag 27 augustus 2009 10:34 schreef Chandler het volgende:
    Mag ik commentaar op mijn class? wil nameljik leren en juist door te spelen leer ik dus.

    PS ik gebruik mijn eigen mysql class, deze werkt nog niet middels PDO maar komt ooit nog
    [ code verwijderd ]
    Der zijn wel een hoop dingen die ik anders zou doen.
    Ik ga het niet allemaal in 1 keer opneurien want heb wel meer te doen

    Vandaag bij aflevering 1 van wat zou moozzie doen zullen we het hebben over je database.
    Let op! Dit is wat ik zou doen, wil niet altijd zeggen dat het beter is.

    Even voor de gemak jouw database erbij pakken

    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
    tinyPoll
      id            (int)
      title         (varchar * 64)
      comment       (text)
      date_started  (date)
      date_ended    (date)
      answers       (tinyint)
      votes         (int)
      views         (int)
      
    tinyPollAnswers
       id           (int)
       pollID       (int)
       answer       (varchar * 64)
       votes        (int)

    tinyPollVotesIp
       id           (int)
       ip           (varchar * 64)
       hostname     (varchar * 128)

    tinyPollVotes
       ipID         (int)
       pollID       (int)
       answerID     (int)
       votedate     (date)


    Jouw benaming vind ik dus ronduit bagger.
    Het lijkt misschien leuk maar jij hebt in bijna elke tabel een 'id' veld.
    Greaaat... dan krijg je dus dingen als dit (let op dit is je eigen query)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT
        tinyPoll.id
    FROM
        tinyPoll
        LEFT JOIN tinyPollAnswers ON tinyPollAnswers.pollID = tinyPoll.id
    WHERE
            tinyPoll.id = '" . $this->db->escape($pollID) . "'
        AND tinyPollAnswers.id = '" . $this->db->escape($answerID) . "'
        AND UNIX_TIMESTAMP(date_ended) >  NOW()
    LIMIT 1

    Nu krijg je dus tinyPoll.id, tinyPollAnswers.id etc.
    En wil je die 2 velden ophalen moet je ze nog hernamen ook (tinyPollAnswers.id AS answer_id etc)

    Dit is hoe ik je tabellen zou noemen

    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
    tiny_poll
      tpo_id
      tpo_title
      tpo_comment
      tpo_date_started
      tpo_date_ended
      tpo_answers
      tpo_votes
      tpo_views
      
    tiny_poll_answer
       tpa_id
       tpa_tpo_id
       tpa_answer
       tpa_votes

    tiny_poll_votes_ip
       tpi_id
       tpi_ip
       tpi_hostname

    tiny_poll_vote
       tpv_tpi_id
       tpv_tpo_id
       tpv_tpa_id
       tpv_votedate


    Note: ik hou er niet van om me tabellen aan elkaar te schrijven omdat als je dan een lijst hebt van 100 tabellen onder elkaar in phpmyadmin het best onoverzichtelijk lezen is. Ik doe er altijd een _ tussen als spatie wat een net iets overzichterlijker lijstje maakt in phpmyadmin. Je kan natuurlijk tinyPoll houden etc als je dat wilt. Dat is verders net zo goed. Waar het me in dit voorbeeld omgaat is de benaming van je velden en niet je tabellen.

    Oke wat ik heb gedaan is voor elk veld de afkorting van de tabel gezet.
    Het id van de tabel tiny_poll heet nu dus tpo_id

    Als ik naar een record in de tabel tiny_poll wil refereren doe ik dus met xxx_tpo_id (xxx = de prefix van de tabel waar dit veld in staat)
    De tabel tiny_poll_vote is een mooi voorbeeld.
    tpv_tpi_id refereert naar tpi_id uit de tabel tiny_poll_votes_ip etc

    Nu zou je query er zo uitzien

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT
        tpo_id
    FROM
        tiny_poll
        LEFT JOIN tiny_poll_answer ON tpa_tpo_id = tpo_id
    WHERE
            tpa_tpo_id = '" . $this->db->escape($pollID) . "'
        AND tpa_id = '" . $this->db->escape($answerID) . "'
        AND UNIX_TIMESTAMP(tpo_date_ended) >  NOW()
    LIMIT 1


    Wat vind ik de voordelen?
    - Je hebt nooit dubbele velden
    - Je hoeft niet de tabel naam op te schrijven als je dubbele velden hebt (zoals id bij jou)
    - Het joinen van tabellen (tpa_tpo_id = tpo_id) is lekker makkelijk.
    - Je kan elk veld selecten zonder dat je het hoeft te hernamen. Wat als gevolg dus heeft dat je overal in het script dus tpo_id kan gebruiken ipv dat je het in je ene script opslaat als poll_id en in je andere script als PollID.

    Verders over je database
    - Maak je int unsigned, dan kunnen ze langer mee en je votes, id etc kunnen toch niet negatief zijn
    - Zelf ben ik meer van de Char dan varchar (waar kan, in combinatie met een text veld gaat dat natuurlijk niet) Char is inderdaad groter in vele gevallen maar je tabel blijft wel fixt length. Waardoor het zoeken dus sneller gaat

    Als je dit al gemieren neuk vind laat ik me comentaar op je class wel achterwegen want dat wordt nog erger
      donderdag 27 augustus 2009 @ 13:43:46 #14
    75592 GlowMouse
    l'état, c'est moi
    pi_72198981
    Wat ids betreft zou ik consequent overal pollid,answerid en ipid gebruiken, maar afgezien daarvan zie ik het probleem niet.

    >> Je hebt nooit dubbele velden
    Zelfde veldnaam is zelfde data, geen probleem dus.
    >> Je hoeft niet de tabel naam op te schrijven als je dubbele velden hebt (zoals id bij jou)
    Alias
    >> Het joinen van tabellen (tpa_tpo_id = tpo_id) is lekker makkelijk.
    USING(id) is nog makkelijker
    >> Je kan elk veld selecten zonder dat je het hoeft te hernamen. Wat als gevolg dus heeft dat je overal in het script dus tpo_id kan gebruiken ipv dat je het in je ene script opslaat als poll_id en in je andere script als PollID.
    Zelfde veldnaam is zelfde data, geen probleem dus.

    >> Zelf ben ik meer van de Char dan varchar (waar kan, in combinatie met een text veld gaat dat natuurlijk niet) Char is inderdaad groter in vele gevallen maar je tabel blijft wel fixt length. Waardoor het zoeken dus sneller gaat
    En er minder in je geheugen past, waardoor het juist heel veel trager wordt.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_72199088
    quote:
    Op donderdag 27 augustus 2009 13:43 schreef GlowMouse het volgende:
    >> Zelf ben ik meer van de Char dan varchar (waar kan, in combinatie met een text veld gaat dat natuurlijk niet) Char is inderdaad groter in vele gevallen maar je tabel blijft wel fixt length. Waardoor het zoeken dus sneller gaat
    En er minder in je geheugen past, waardoor het juist heel veel trager wordt.
    Mwa dus totaal niet mee eens. Wij hebben hier tabellen met miljoenen records en hadden eerst varchar. De hele boel liep daarop vast omdat het dus dynamic tabellen werden. Door er fixt tabellen van te maken werd de tabel wel groter maar onwijs veel sneller.
      FOK!-Schrikkelbaas donderdag 27 augustus 2009 @ 13:48:37 #16
    1972 Swetsenegger
    Egocentrische Narcist
    pi_72199159
    Zoals hier wel weer uit blijkt is het ook een kwestie van smaak, want ik krijg dus jeuk van dit soort benamingen

    1tpa_tpo_id


    Als we het er dan toch over hebben dat je over een jaar terug leest, snap je in eerste instantie van dit soort afkortingen ook niets meer. ID's per tabel benoemen is met het oog op joins inderdaad wel duidelijker.
    pi_72199211
    quote:
    Op donderdag 27 augustus 2009 13:48 schreef Swetsenegger het volgende:
    Zoals hier wel weer uit blijkt is het ook een kwestie van smaak, want ik krijg dus jeuk van dit soort benamingen
    [ code verwijderd ]

    Als we het er dan toch over hebben dat je over een jaar terug leest, snap je in eerste instantie van dit soort afkortingen ook niets meer. ID's per tabel benoemen is met het oog op joins inderdaad wel duidelijker.
    Het went vanzelf
    Maar ik ga er niet over in discussie. Ik geef mijn vissie en als je het niets lijkt dan probeer je het toch niet
    pi_72199547
    quote:
    Op donderdag 27 augustus 2009 13:10 schreef GlowMouse het volgende:
    bv.
    UNIX_TIMESTAMP(date_started) < ....
    omschrijven naar
    date_started < FROM_UNIXTIME(...)

    en
    UNIX_TIMESTAMP(date_started) < NOW()
    klopt niet eens: NOW() is geen unix timestamp.
    Lol, ik gebruikte altijd unix_timestamp icm now() maar weet dat unix_timestamp nogal heerlijk sloom is qua functie...

    dus zo zou het goed moeten zijn.

    1date_started =< FROM_UNIXTIME(NOW(), '%Y-%m-%d')

    @Moozzie:
    Bedankt voor je reactie, zelf vind ik jou opzet qua tabellen namen erg onoverzichtelijk, om overal maar een _ na te zetten. Je hebt wel een punt met tinyPoll_Answers etc...
    Netzoals swets vind ik dat je een script over een jaar nog moet kunnen begrijpen, en in dit geval maakt het weinig uit welke namen de cellen hebben aangezien het script ze eenmalig uitleest en returned aan het script at deze class/functie aanroept. Verder zullen deze tabellen ook niet gebruikt worden anders dan via deze class.

    Ook blijf ik kiezen voor varchar aangezien de velden die geinsert worden qua data niet veranderd gaan worden (ip, hostname, titel, antwoord(en) en comment) en denk dat het nogal scheelt als je 1000 votes per dag hebt.

    Ik zou graag meer mierengeneuk zien op de class aangezien ik daar nog steeds niet erg handig in ben en vaak het nut en de logica er niet van snap

    @GlowMouse:
    Ben het dus ook aardig met jou eens m.b.t using en de tabel/cell namen

    @Swets:

    Dat heb ik dus ook, je moet eerst het gehele script doorlezen wil je weten waar welke afkorting voor staat

    @Moozzie:

    Graag zie ik meer van je visie; om zo mijn visie eventueel te versterken en of aan te passen (lijkt wel scripten zo )

    [ Bericht 40% gewijzigd door Chandler op 27-08-2009 14:11:05 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_72199603
    quote:
    Op donderdag 27 augustus 2009 13:48 schreef Swetsenegger het volgende:
    Zoals hier wel weer uit blijkt is het ook een kwestie van smaak, want ik krijg dus jeuk van dit soort benamingen
    [ code verwijderd ]
    Eens.

    Verder ben ik van mening dat je databasevelden moeten kloppen qua naam. Een veld met een ID noem je dus id, en niet weetikveelwat_id. Aangezien de ID in een tabel staat weet je al waar het om gaat. Ja, dan moet je het wel een je query fixen, so what?

    In de praktijk maakt het weinig uit natuuriljk, net wat je gewend bent. Als het maar consequent is
    In de ene tabel ID gebruiken en in de andere tabel TabelID is echt killing...
      donderdag 27 augustus 2009 @ 14:29:30 #20
    75592 GlowMouse
    l'état, c'est moi
    pi_72200667
    >> date_started =< FROM_UNIXTIME(NOW(), '%Y-%m-%d')
    nee, het moet zijn date_started <= NOW()

    >> Ook blijf ik kiezen voor varchar aangezien de velden die geinsert worden qua data niet veranderd gaan worden (ip,
    ip kan (ipv6 buiten beschouwing latend) best in een int mbv INET_ATON

    >> Wij hebben hier tabellen met miljoenen records en hadden eerst varchar. De hele boel liep daarop vast omdat het dus dynamic tabellen werden. Door er fixt tabellen van te maken werd de tabel wel groter maar onwijs veel sneller.
    Had je een hoop updates? Het kan zijn dat je rijen gefragmenteerd werden. En als je varchar(255) gebruikte en nu char(100) omdat je wel op lengte let, maakt dat ook behoorlijk uit, bv als je in geheugen sorteert.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_72200817
    quote:
    Op donderdag 27 augustus 2009 14:29 schreef GlowMouse het volgende:
    >> date_started =< FROM_UNIXTIME(NOW(), '%Y-%m-%d')
    nee, het moet zijn date_started <= NOW()

    >> Ook blijf ik kiezen voor varchar aangezien de velden die geinsert worden qua data niet veranderd gaan worden (ip,
    ip kan (ipv6 buiten beschouwing latend) best in een int mbv INET_ATON

    >> Wij hebben hier tabellen met miljoenen records en hadden eerst varchar. De hele boel liep daarop vast omdat het dus dynamic tabellen werden. Door er fixt tabellen van te maken werd de tabel wel groter maar onwijs veel sneller.
    Had je een hoop updates? Het kan zijn dat je rijen gefragmenteerd werden. En als je varchar(255) gebruikte en nu char(100) omdat je wel op lengte let, maakt dat ook behoorlijk uit, bv als je in geheugen sorteert.
    Nope het ging fout bij de selects
      donderdag 27 augustus 2009 @ 14:35:15 #22
    75592 GlowMouse
    l'état, c'est moi
    pi_72200882
    na updates gaat het fout bij selects ja, bij rij-fragmentatie.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_72200956
    quote:
    Op donderdag 27 augustus 2009 14:35 schreef GlowMouse het volgende:
    na updates gaat het fout bij selects ja, bij rij-fragmentatie.
    Nee de records werden niet geupdate
    Er werden alleen inserts op uitgevoerd om um te vullen en selects om te bekijken. Maar de selects waren te traag. na de tabel fixt length te hebben gemaakt liep het gesmeerd
    pi_72201896
    Tnx GlowMouse heb de aanpassingen doorgevoerd en blijkt goed te werken
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_72203989
    Ik heb gelijk de functie createPoll en listPolls toegevoegd, weer een handige class voor mijn verzameling
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_72207091
    quote:
    Op woensdag 26 augustus 2009 10:11 schreef Swetsenegger het volgende:
    Dan geef je toch een header('location:.'$_SERVER['PHP_SELF'].'); na het instellen van de sessie.
    Ik neem aan dat deze voor mij bedoeld was. Begrijp alleen even niet wat je bedoeld
    ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
      FOK!-Schrikkelbaas donderdag 27 augustus 2009 @ 18:12:13 #27
    1972 Swetsenegger
    Egocentrische Narcist
    pi_72207461
    quote:
    Op donderdag 27 augustus 2009 18:00 schreef uppie83 het volgende:

    [..]

    Ik neem aan dat deze voor mij bedoeld was. Begrijp alleen even niet wat je bedoeld
    dat je de pagina een keer refreshed als je de sessie heb ingesteld
    pi_72207805
    quote:
    Op donderdag 27 augustus 2009 18:12 schreef Swetsenegger het volgende:

    [..]

    dat je de pagina een keer refreshed als je de sessie heb ingesteld
    Dat is idd wel een oplossing, maar meer symptoombestrijding ipv probleemoplossend.
    ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
      FOK!-Schrikkelbaas donderdag 27 augustus 2009 @ 18:23:30 #29
    1972 Swetsenegger
    Egocentrische Narcist
    pi_72207836
    quote:
    Op donderdag 27 augustus 2009 18:22 schreef uppie83 het volgende:

    [..]

    Dat is idd wel een oplossing, maar meer symptoombestrijding ipv probleemoplossend.
    Nee dat is het niet. Cookies en Sessies (de laatste weet ik niet zeker) werken pas de volgende keer dat de pagina geladen wordt.
    pi_72208086
    quote:
    Op donderdag 27 augustus 2009 18:23 schreef Swetsenegger het volgende:

    [..]

    Nee dat is het niet. Cookies en Sessies (de laatste weet ik niet zeker) werken pas de volgende keer dat de pagina geladen wordt.
    Hmm dat geeft weer ideeen Bedankt! Zal het sessoin verhaal wel verhuizen naar de index zelf aangezien de index minstens een keer moet reloaden voordat dit script wordt uitgevoerd.

    Vind het echter wel raar dat het voor het hernoemen wel perfect werkte nadat ik ?random='.microtime(true). achter de src bij de image had gezet.
    ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
      donderdag 27 augustus 2009 @ 18:38:53 #31
    75592 GlowMouse
    l'état, c'est moi
    pi_72208284
    session_register niet meer gebruiken, is niet nodig.

    En de eerste keer zou het al goed moeten gaan.
    quote:
    Op donderdag 27 augustus 2009 18:23 schreef Swetsenegger het volgende:

    [..]

    Nee dat is het niet. Cookies en Sessies (de laatste weet ik niet zeker) werken pas de volgende keer dat de pagina geladen wordt.
    Bij sessies zeker niet; komt omdat je sessievars direct via de superglobal instelt.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_72210866
    quote:
    Op donderdag 27 augustus 2009 18:38 schreef GlowMouse het volgende:
    session_register niet meer gebruiken, is niet nodig.

    En de eerste keer zou het al goed moeten gaan.
    [..]

    Bij sessies zeker niet; komt omdat je sessievars direct via de superglobal instelt.
    Maar de eerste keer gaat het niet goed (heb nog geen tijd gehad om het een en ander naar index te verplaatsen, dus ik heb het nog over de oude situatie zoals die in de laatste post met code stond beschreven)... of komt dat doordat ik ook session_register nog een keer gebruik?
    ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
    pi_72215882


    hier staat dus hoe ik een background img toevoeg.
    maar wat nou als ik hem

    1. niet herhalend
    2. links midden uitgelijnd wil hebben

    Hoe moet dat ?
      donderdag 27 augustus 2009 @ 22:33:34 #34
    75592 GlowMouse
    l'état, c'est moi
    pi_72215894
    Niet met PHP/MySQL.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_72216424
    quote:
    Op donderdag 27 augustus 2009 18:23 schreef Swetsenegger het volgende:

    [..]

    Nee dat is het niet. Cookies en Sessies (de laatste weet ik niet zeker) werken pas de volgende keer dat de pagina geladen wordt.
    Sessies niet, die kun je direct gebruiken.
    Als je wilt dat ze als sessie bewaard blijven heb je wel output naar je browser nodig, anders gaan ze verloren. Gelukkig is daar session_write_close() voor, die kun je dus aanroepen voor een redirect, zodat je sessie bewaard blifjt
    pi_72216457
    quote:
    Op donderdag 27 augustus 2009 22:33 schreef GlowMouse het volgende:
    Niet met PHP/MySQL.
    Eujah moet ik mn eigen topic aanmaken dan?
      donderdag 27 augustus 2009 @ 22:51:51 #37
    75592 GlowMouse
    l'état, c'est moi
    pi_72216535
    quote:
    Op donderdag 27 augustus 2009 22:49 schreef raaavi het volgende:

    [..]

    Eujah moet ik mn eigen topic aanmaken dan?
    Je kunt het ook in het centrale 'ik ben zwanger'-topic posten natuurlijk, met dezelfde logica als dat je het hier postte.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      donderdag 27 augustus 2009 @ 22:52:59 #38
    75592 GlowMouse
    l'état, c'est moi
    pi_72216569
    quote:
    Op donderdag 27 augustus 2009 22:49 schreef Xcalibur het volgende:

    [..]

    Sessies niet, die kun je direct gebruiken.
    Als je wilt dat ze als sessie bewaard blijven heb je wel output naar je browser nodig, anders gaan ze verloren. Gelukkig is daar session_write_close() voor, die kun je dus aanroepen voor een redirect, zodat je sessie bewaard blifjt
    Hij stuurt toch output? Session_write_close() heb ik echt nog nooit gezien ergens.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_72216866
    quote:
    Op donderdag 27 augustus 2009 22:49 schreef raaavi het volgende:

    [..]

    Eujah moet ik mn eigen topic aanmaken dan?
    css voor dummies: [CSS] voor dummies - deel 12
    pi_72216987
    quote:
    Op donderdag 27 augustus 2009 22:52 schreef GlowMouse het volgende:

    Hij stuurt toch output? Session_write_close() heb ik echt nog nooit gezien ergens.
    Ja, dat zou hier het probleem niet moeten zijn
    Session_write_close gebruik ik standaard voor iedere redirect, just in case
    pi_72222700
    @Moozzie: nog meer comments over m'n class?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_72236381
    Chandler, je gebruikt steeds date/time waarden en unix timespamp waarden door elkaar. Je moet of date/time waarden vergelijk of unix timestamps.
    Dus als je een kolom als date definieerd, vergelijk 'm dan met CURDATE(), of NOW().
    Als je een kolom als integer en je zet er timestamps in, vergelijk 'm dan met UNIX_TIMESTAMP().

    Het prefixen van kolomnamen met een afkorting van de tabelnaam vind ik onzinnig. Alleen voor een PK id kolom is 't wel handig om er de naam van de tabel in te verwerken, maar gebruik die dan ook voor lalle kolommen die er naar verwijzen.

    Probeer in ieder geval consequent te zijn. Ook in naamgeving, sommige namen zijn bij jou lowercase (votedate), andere camel case (tinyPoll) en sommige met underscores (date_started).

    Wat is eigenlijk de gedachte achter de lengte van velden in machten van 2? Het ljikt me sterk dat het supergeoptimaliseerde waarden zijn. Gebruik dan ook gewoon lengtes van 50 of 100 tekens. Wel zomakkelijk, en minder vreemd voor een gebruiker. ('De titel mag maximaal 64 tekens lang zijn' )
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_72238185
    @SuperRembo;

    Ik zal het proberen te onthouden (alles over de dates)
    En heb het script nu al aangepast op mijn nieuwe style testTestTest

    Ennuh ja ik zal idd eens andere waarden gebruiken, maar 64/128 werkt zo fijn
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_72238725
    session_start(); in de index erbij werkte ook niet (evenals de beide session_start(); bij het image.php en form bestand op de eerste regel zetten).
    ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
    pi_72242573
    quote:
    Op vrijdag 28 augustus 2009 18:38 schreef Chandler het volgende:
    @SuperRembo;

    Ik zal het proberen te onthouden (alles over de dates)
    Je hoeft het niet allemaal te onthouden, je kan het makkelijk opzoeken.
    quote:
    Ennuh ja ik zal idd eens andere waarden gebruiken, maar 64/128 werkt zo fijn
    Wat is er zo fijn aan 64 of 128
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_72243485
    quote:
    Op vrijdag 28 augustus 2009 17:30 schreef SuperRembo het volgende:
    Het prefixen van kolomnamen met een afkorting van de tabelnaam vind ik onzinnig. Alleen voor een PK id kolom is 't wel handig om er de naam van de tabel in te verwerken, maar gebruik die dan ook voor lalle kolommen die er naar verwijzen.
    Ben ik niet helemaal met je eens. Ik heb bijvoorbeeld heel vaak 'name', 'desc' en/of 'content' kolommen in verschillende tabellen. Als je deze tabellen gaat joinen dan moet je al gaan aliassen om de correcte kolom te kunnen benaderen in je code, of je moet in je daadwerkelijke query de hele tabelnaam als identifier mee gaan geven. Dan heb ik toch liever een kleine maar duidelijke prefix. Maar goed, da's weer een kwestie van voorkeur natuurlijk. Ik werk heel vaak met grote, relationele databases waar t.b.v. de normalisatie gebruik wordt gemaakt van een behoorlijk aantal stamtabellen. Ik moet er niet aan denken om dan op query-niveau te gaan aliassen.

    Tevens TVP.
    pi_72245709
    quote:
    Op vrijdag 28 augustus 2009 21:36 schreef Tuvai.net het volgende:
    Als je deze tabellen gaat joinen dan moet je al gaan aliassen om de correcte kolom te kunnen benaderen in je code, of je moet in je daadwerkelijke query de hele tabelnaam als identifier mee gaan geven. Dan heb ik toch liever een kleine maar duidelijke prefix.
    ik heb dan weer een hekel aan luie programmeurs die de hele bende gaan afkorten
    geef mij maar fijne aliassen en overzichtelijke namen
    pi_72246782
    quote:
    Op vrijdag 28 augustus 2009 22:38 schreef Xcalibur het volgende:

    [..]

    ik heb dan weer een hekel aan luie programmeurs die de hele bende gaan afkorten
    geef mij maar fijne aliassen en overzichtelijke namen
    Ik kort helemaal niks af, ik zet juist overal een prefix voor.

    Aliasing is handig, maar totaal niet leuk meer in bijvoorbeeld een view waarin 20 tabellen gejoined of zo.
    pi_72248073
    ik verdenk je ervan dat die prefix een afkorting is
    Of dat je tabellen aliast met 1 letter
    pi_72249260
    Grof gezegd is dit momenteel mijn form:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    session_start
    ();
    require (
    "php/XXX/secFunctions.php");
     
    $_SESSION['sessionString'] = randomString(5);
    session_write_close();
     
    if(!IsSet(
    $_POST['stage']))
    {

    <
    form action=" echo $_SERVER["PHP_SELF"]; ?id=gbadd" method="POST">
    .
    <
    img width="150" height="100" border="0" src="image.php?random='.microtime(true).'" alt=&#8221;secImage&#8221;> <br />
    <input size="50" maxlength="60" type="text" name="sec"><br />
     echo 
    "session:"Print_r ($_SESSION); 
    <
    input type="hidden" name="stage" value=1>
    </
    form>

    } else {
    ?>


    image.php:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    header
    "Content-Type: image/png");
    header"Expires: Mon, 20 Dec 1998 01:00:00 GMT" );
    header"Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT" );
    header"Cache-Control: no-cache, must-revalidate" );
    header"Pragma: no-cache" );
     
    session_start();
    require (
    "php/XXX/secFunctions.php");
    createSecImage(150100100$_SESSION['sessionString']);
    ?>


    Probleem blijft echter dat de eerste keer dat de pagina van de form bezocht wordt er nog geen text in het plaatje staat. Wel bij de print_r
    ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')