FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies - Deel 80
Intrepiditydinsdag 23 februari 2010 @ 20:48

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,75, 76, 77, 78, 79

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

    Game on
  • cablegunmasterdinsdag 23 februari 2010 @ 20:49
    tvp:)
    quote:
    Op dinsdag 23 februari 2010 20:53 schreef Light het volgende:
    Goed topic
    Nu al he

    [ Bericht 98% gewijzigd door cablegunmaster op 23-02-2010 20:56:10 ]
    Lightdinsdag 23 februari 2010 @ 20:53
    Goed topic
    Chandlerdinsdag 23 februari 2010 @ 20:56
    quote:
    Op dinsdag 23 februari 2010 20:06 schreef Tiemie het volgende:
    vrouwen die devven
    urseldinsdag 23 februari 2010 @ 21:01
    quote:
    Op dinsdag 23 februari 2010 20:06 schreef Tiemie het volgende:
    vrouwen die devven
    Nu snap ik waarom ze zo snel hulp kreeg..
    Intrepiditydinsdag 23 februari 2010 @ 21:03
    quote:
    Op dinsdag 23 februari 2010 21:01 schreef ursel het volgende:

    [..]

    Nu snap ik waarom ze zo snel hulp kreeg..
    Ach, laten we eerlijk wezen, een leuk koppie spoort wel aan tot hulp ja
    Hardrebeldinsdag 23 februari 2010 @ 21:06
    tvp
    urseldinsdag 23 februari 2010 @ 21:11
    quote:
    Op dinsdag 23 februari 2010 21:03 schreef Intrepidity het volgende:

    [..]

    Ach, laten we eerlijk wezen, een leuk koppie spoort wel aan tot hulp ja
    Wou je zeggen dat mijn koppie averechts werkt..
    #ANONIEMdinsdag 23 februari 2010 @ 21:12
    Vrouwen en devven, goed bezig
    Intrepiditydinsdag 23 februari 2010 @ 21:12
    quote:
    Op dinsdag 23 februari 2010 21:11 schreef ursel het volgende:

    [..]

    Wou je zeggen dat mijn koppie averechts werkt..
    Ik krijg niet bepaald een harde L van Ursel de Geer, nee.
    555Martijndinsdag 23 februari 2010 @ 21:16
    Is dat PHP voor dummies boek eigenlijk goed? Of heeft iemand anders een goed beginners boek?

    Kheb hier al een PHP boek liggen maar die is dikker dan mijn LOTR trilogy. En dat leest gewoon niet lekker, voordat je "hello world" ziet ben je 3 hoofdstukken verder...
    Intrepiditydinsdag 23 februari 2010 @ 21:18
    quote:
    Op dinsdag 23 februari 2010 21:16 schreef 555Martijn het volgende:
    Is dat PHP voor dummies boek eigenlijk goed? Of heeft iemand anders een goed beginners boek?

    Kheb hier al een PHP boek liggen maar die is dikker dan mijn LOTR trilogy. En dat leest gewoon niet lekker, voordat je "hello world" ziet ben je 3 hoofdstukken verder...
    Dat komt omdat ze in de eerste 3 hoofdstukken waarschijnlijk belangrijke basisconcepten uitleggen. Ik kan me heel goed voorstellen dat je dat wilt overslaan, maar geloof me, die informatie is echt nuttig.
    Een programmeertaal (goed!) leren gebruiken is nou eenmaal niet iets wat je met een korte tutorial leert.
    Crutchdinsdag 23 februari 2010 @ 21:19
    function tvp() {

    echo "Geplaatst!";

    }

    tvp();
    Trollface.dinsdag 23 februari 2010 @ 21:22
    1
    2
    3
    4
    <?php
    $oPhpVoorDummiesTVP 
    = new FokForumTVP(1415771);
    $oPhpVoorDummiesTVP->plaats(254493);
    ?>
    Sitethiefdinsdag 23 februari 2010 @ 21:51
    Wat voor een regels hebben jullie eigenlijk jezelf gesteld voor de programmeerstijl die jullie hanteren, bijvoorbeeld de namen van variables, classes, functions etc? Denk dan aan underscores, camelcasing, maar ook de plek van een } en namen van tabellen in de database.

    Vind ik namelijk wel een interessant onderwerp.
    SharQueDodinsdag 23 februari 2010 @ 22:03
    <?php
    echo 'tvp';
    Trollface.dinsdag 23 februari 2010 @ 22:19
    quote:
    Op dinsdag 23 februari 2010 21:51 schreef Sitethief het volgende:
    Wat voor een regels hebben jullie eigenlijk jezelf gesteld voor de programmeerstijl die jullie hanteren, bijvoorbeeld de namen van variables, classes, functions etc? Denk dan aan underscores, camelcasing, maar ook de plek van een } en namen van tabellen in de database.

    Vind ik namelijk wel een interessant onderwerp.
    Ik ben een camelCaser, en maak functies van een class meestal zo:
    1
    2
    3
    4
    5
    6
    7
    <?php
    $oObject 
    = new Class();
    $iCount $oObject->getCount();
    $oObject->setCount(++$iCount);
    /* andere manier voor het bovenstaande */
    $oObject->incrementCount();
    ?>


    Variabelen doe ik als $<type><naam>:
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $iCount 
    0;
    $aProducts = array();
    $oUser = new FokUser($iID);
    /* ik gebruik single quotes voor strings */
    $sError 'Geen wachtwoord ingevuld!';
    $bHasAccess false;
    ?>


    Ik plaats over het algemeen mijn accolades zo;
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    /* schrijf defines met hoofdletters */
    if(TRUE) {
     
    /* doe iets... */
    } else {
     
    /* doe iets anders... */
    }
    ?>

    Ik indent normaal met tabs, maar ik ben mobiel op het moment.


    Comments:
    1
    2
    3
    4
    5
    6
    7
    <?php
    /* Single-line comment */
    /**
     * Multi-line
     * comment
     */
    ?>


    Database table names:
    1
    2
    3
    4
    5
    users
    topics
    ranks
    forums
    etc...


    Database column names:
    1
    2
    3
    4
    user_id
    user_name
    user_email
    etc...




    [ Bericht 3% gewijzigd door Trollface. op 23-02-2010 22:30:42 ]
    Chandlerdinsdag 23 februari 2010 @ 22:41
    quote:
    Op dinsdag 23 februari 2010 21:51 schreef Sitethief het volgende:
    Wat voor een regels hebben jullie eigenlijk jezelf gesteld voor de programmeerstijl die jullie hanteren, bijvoorbeeld de namen van variables, classes, functions etc? Denk dan aan underscores, camelcasing, maar ook de plek van een } en namen van tabellen in de database.

    Vind ik namelijk wel een interessant onderwerp.
    Dit is al tamelijk vaak behandeld, het is gewoon de smaak die jezelf hanteert... maar upperCammel wordt wel vaak gebruikt, ik werk er zelf ook mee. zowel voor variabelen, functies en classes. voor tabellen (linken) gebruik ik zelf vaak treeID om een link veld aan te geven.
    555Martijndinsdag 23 februari 2010 @ 23:18
    quote:
    Op dinsdag 23 februari 2010 21:18 schreef Intrepidity het volgende:

    [..]

    Dat komt omdat ze in de eerste 3 hoofdstukken waarschijnlijk belangrijke basisconcepten uitleggen. Ik kan me heel goed voorstellen dat je dat wilt overslaan, maar geloof me, die informatie is echt nuttig.
    Een programmeertaal (goed!) leren gebruiken is nou eenmaal niet iets wat je met een korte tutorial leert.
    Ja daar heb je ook wel weer gelijk in, maar het gehele boek leest niet prettig. Kben wel een aantal programmeer boeken gelezen (C++) en merk toch echt wel dat sommige schrijvers het gewoon véél te moeilijk brengen. Wat ik hier heb liggen is ook meer een naslag werk dan een beginners-book.
    Lightdinsdag 23 februari 2010 @ 23:31
    quote:
    Op dinsdag 23 februari 2010 21:51 schreef Sitethief het volgende:
    Wat voor een regels hebben jullie eigenlijk jezelf gesteld voor de programmeerstijl die jullie hanteren, bijvoorbeeld de namen van variables, classes, functions etc? Denk dan aan underscores, camelcasing, maar ook de plek van een } en namen van tabellen in de database.

    Vind ik namelijk wel een interessant onderwerp.
    Namen met camelCasing, bij classes is de eerste letter ook een hoofdletter, bij functies en variabelen niet. De { staat op dezelfde regel als het woord waar hij bij hoort en de } staat op dezelfde tabstop. Eenlettervariabelen zijn counters en/of hebben een beperkte scope (hooguit een paar regels).

    Bij tables gebruik ik alleen kleine letters en dus _ voor woordscheiding. Ik heb wel eens gelezen dat tabelnamen enkelvoud moeten zijn, maar tegenwoordig gebruik ik toch meervoudsnamen. Dat komt omdat het framework dat ik meestal gebruik dat vereist.
    Crutchdinsdag 23 februari 2010 @ 23:39
    [off topic]

    Wat is eigenlijk een goed beginnersboek voor C++? Ik ben er namelijk wel erg nieuwsgierig naar.

    [/offtopic]
    Intrepiditydinsdag 23 februari 2010 @ 23:42
    quote:
    Op dinsdag 23 februari 2010 23:39 schreef Crutch het volgende:
    [off topic]

    Wat is eigenlijk een goed beginnersboek voor C++? Ik ben er namelijk wel erg nieuwsgierig naar.

    [/offtopic]
    http://www.amazon.com/C-Beginning-2nd-J-Skansholm/dp/0201721686
    Dat vind ik zelf wel een aanrader Hoewel iets verouderd, want het legt bijvoorbeeld niet uit hoe de WIN32 API en dergelijke werken.
    Crutchdinsdag 23 februari 2010 @ 23:44
    quote:
    Op dinsdag 23 februari 2010 23:42 schreef Intrepidity het volgende:

    [..]

    http://www.amazon.com/C-Beginning-2nd-J-Skansholm/dp/0201721686
    Dat vind ik zelf wel een aanrader Hoewel iets verouderd, want het legt bijvoorbeeld niet uit hoe de WIN32 API en dergelijke werken.
    Maar wel een goede basis neem ik aan? Of kan ik het er maar beter meteen bijleren?
    Jo0Lzwoensdag 24 februari 2010 @ 07:58
    -> Centraal.
    Intrepiditywoensdag 24 februari 2010 @ 10:11
    quote:
    Op dinsdag 23 februari 2010 23:44 schreef Crutch het volgende:

    [..]

    Maar wel een goede basis neem ik aan? Of kan ik het er maar beter meteen bijleren?
    Nee het is een prima basis Je leert eerst hoe de core-taal in elkaar steekt, inclusief objectorientatie, pointers, en alle grappen en grollen die daarbij komen kijken. Dat doe je wel in een consoleomgeving, zodat je later zelf kunt kiezen door middel van welke API je grafische interfaces gaat bouwen. Ze kunnen je immers wel WIN32 aanleren, maar wellicht ga je later wel met Linux werken oid.
    Regenbuiwoensdag 24 februari 2010 @ 16:11
    Mensen. Ik probeer eens simpel PHP mail form te maken maar er gaat wat mis:

    Mijn 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
    <table width="400" border="0" align="center" cellpadding="3" cellspacing="1">
    <tr>
    <td><strong>Contact Form </strong></td>
    </tr>
    </table>

    <table width="400" border="0" align="center" cellpadding="0" cellspacing="1">
    <tr>
    <td><form name="form1" method="post" action="send_contact.php">
    <table width="100%" border="0" cellspacing="1" cellpadding="3">
    <tr>
    <td width="16%">Subject</td>
    <td width="2%">:</td>
    <td width="82%"><input name="subject" type="text" id="subject" size="50"></td>
    </tr>
    <tr>
    <td>Detail</td>
    <td>:</td>
    <td><textarea name="detail" cols="50" rows="4" id="detail"></textarea></td>
    </tr>
    <tr>
    <td>Name</td>
    <td>:</td>
    <td><input name="name" type="text" id="name" size="50"></td>
    </tr>
    <tr>
    <td>Email</td>
    <td>:</td>
    <td><input name="customer_mail" type="text" id="customer_mail" size="50"></td>
    </tr>
    <tr>
    <td> </td>
    <td> </td>
    <td><input type="submit" name="Submit" value="Submit"> <input type="reset" name="Submit2" value="Reset"></td>
    </tr>
    </table>
    </form>
    </td>
    </tr>
    </table>


    Code van send_contact.php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    // Contact subject
    $subject ="$subject";
    // Details
    $message="$detail";

    // Mail of sender
    $mail_from="$customer_mail";
    // From
    $header="from: $name <$mail_from>";

    // Enter your email address
    $to ='mijnemail@gmail.com';

    $send_contact=mail($to,$subject,$message,$header);

    // Check, if message sent to your email
    // display message "We've recived your information"
    if($send_contact){
    echo "We've recived your contact information";
    }
    else {
    echo "ERROR";
    }
    ?>


    Email word verstuurd, maar ik krijg een leeg bericht met als titel: to me

    Waar zit de fout? please help
    Trollface.woensdag 24 februari 2010 @ 17:46
    quote:
    Op woensdag 24 februari 2010 16:11 schreef Regenbui het volgende:
    Mensen. Ik probeer eens simpel PHP mail form te maken maar er gaat wat mis:

    Mijn code:
    [ code verwijderd ]

    Code van send_contact.php
    [ code verwijderd ]

    Email word verstuurd, maar ik krijg een leeg bericht met als titel: to me

    Waar zit de fout? please help
    1
    2
    3
    4
    5
    6
    <?php
    $message 
    $_POST['detail'];
    $subject $_POST['subject']
    $mail_from htmlspecialchars($_POST['customer_mail']);
    $name htmlspecialchars($_POST['name']);
    ?>

    In plaats van:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    // Contact subject
    $subject ="$subject";
    // Details
    $message="$detail";

    // Mail of sender
    $mail_from="$customer_mail";
    ?>

    Nooit op register_globals vertrouwen, ook meteen uitzetten trouwens!

    Tevens is het received, en niet recived.
    Chandlerdonderdag 25 februari 2010 @ 10:15
    Is het ook niet handig om dan gelijk htmlspecialchars er overheen te gooien? (ook over de andere variablen)

    Andere vraag.

    Ik wil middels preg_match controleren of de tekst uit karakters bestaat met (0-9a-z?/.,><'":;|\}]{[+=_-)(!@#$%^&A*~`). Indien er andere karakters er in zitten een false te returnen... hoe krijg ik dat voor elkaar?
    Trollface.donderdag 25 februari 2010 @ 17:59
    quote:
    Op donderdag 25 februari 2010 10:15 schreef Chandler het volgende:
    Is het ook niet handig om dan gelijk htmlspecialchars er overheen te gooien? (ook over de andere variablen)

    Andere vraag.

    Ik wil middels preg_match controleren of de tekst uit karakters bestaat met (0-9a-z?/.,><'":;|\}]{[+=_-)(!@#$%^&A*~`). Indien er andere karakters er in zitten een false te returnen... hoe krijg ik dat voor elkaar?
    1
    2
    3
    4
    5
    6
    <?php
    if(!preg_match('[0-9a-zA-Z\?\/\.,><\'";:\|\\\[\]\{\}\+=_-\(\)\!@#$%^&]+/i'$str)) {
     
    /* string bestaat uit andere characters, geef bericht en exit() */
     
    exit("Dagmagnie!");
    }
    ?>

    Misschien?
    Chandlerdonderdag 25 februari 2010 @ 18:12
    Yup, idee is helemaal goed! ga er straks eens even mee spelen.
    Trollface.donderdag 25 februari 2010 @ 18:43
    Ik neem aan dat je alle non-printable chars eruit wilt? Dan is dit beter:
    1
    2
    3
    <?php
    $string 
    preg_replace('/[\x00-\x1F\x80-\xFF]/'''$string);
    ?>

    Hier gevonden.
    DaFanmaandag 1 maart 2010 @ 14:13
    Ik heb de volgende query:
    1select usr_id from humres


    Deze returned ongeveer 50 rows.

    Ik wil deze INSERT statement uitvoeren:
    1
    2
    insert into BacoSettings (SettingType,SettingGroup,SettingName,ValueType,longvalue)
                values(2,@usr_id,'HomePage_Doc',1,2)


    Waar @usr_id alle waarden een keer aanneemt die in de SELECT query voorkomen.

    Kan ik er doorheen loopen oid?
    SharQueDomaandag 1 maart 2010 @ 14:22
    quote:
    Op maandag 1 maart 2010 14:13 schreef DaFan het volgende:
    Ik heb de volgende query:
    [ code verwijderd ]

    Deze returned ongeveer 50 rows.

    Ik wil deze INSERT statement uitvoeren:
    [ code verwijderd ]

    Waar @usr_id alle waarden een keer aanneemt die in de SELECT query voorkomen.

    Kan ik er doorheen loopen oid?
    1
    2
    3
    4
    5
    6
    7
    insert into BacoSettings (SettingType,SettingGroup,SettingName,ValueType,longvalue) values
    (2,usr_id1,'HomePage_Doc',1,2),
    (2,usr_id2,'HomePage_Doc',1,2),
    (2,usr_id3,'HomePage_Doc',1,2),
    (2,usr_id4,'HomePage_Doc',1,2),
    etc
    (2,usr_id50,'HomePage_Doc',1,2)
    DaFanmaandag 1 maart 2010 @ 14:25
    Ik heb nu;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    declare @usr_id as varchar(100)
    declare cur cursor for
    select usr_id from humres

    open cur;
    FETCH NEXT from cur into @usr_id
    WHILE @@FETCH_STATUS = 0
    BEGIN
    insert into BacoSettings (SettingType,SettingGroup,SettingName,ValueType,longvalue)
                values(2,@usr_id,'HomePage_Doc',1,2)
    End
    close cur
    deallocate cur


    Maar die blijft lopen en krijgt een error op
    Msg 2627, Level 14, State 1, Line 9
    Violation of PRIMARY KEY constraint 'PK_BacoSettings'. Cannot insert duplicate key in object 'dbo.BacoSettings'.

    Nvm daar stond de value al in
    DaFanmaandag 1 maart 2010 @ 14:25
    quote:
    Op maandag 1 maart 2010 14:22 schreef SharQueDo het volgende:

    [..]
    [ code verwijderd ]
    Pfrt
    Ik heb straks ook een select met 200 uitkomsten, wat dan?

    Dat dat niet kan met SQL....
    genaktmaandag 1 maart 2010 @ 16:10
    ik wil graag als een user heeft ingelogd en bijv 5 minuten niks doet dat hij dan automatisch uitlogd.

    Iemand die weet hoet dat moet ?
    urselmaandag 1 maart 2010 @ 16:18
    quote:
    Op maandag 1 maart 2010 16:10 schreef genakt het volgende:
    ik wil graag als een user heeft ingelogd en bijv 5 minuten niks doet dat hij dan automatisch uitlogd.

    Iemand die weet hoet dat moet ?
    Hier wordt dat bij gehouden in zijn sessie. Een sessionIdle erbij en daarop checken
    genaktmaandag 1 maart 2010 @ 17:34
    quote:
    Op maandag 1 maart 2010 16:18 schreef ursel het volgende:

    [..]

    Hier wordt dat bij gehouden in zijn sessie. Een sessionIdle erbij en daarop checken
    ik ben helemaal niet in php en kan het niet zo even programeren

    hoe ziet zoiets eruit ?
    genaktmaandag 1 maart 2010 @ 18:26
    zoeits ?

    php_value session.cookie_lifetime 3600
    php_value session.gc_maxlifetime 3600

    maar waar zet ik dat dan ?
    SinofEnvymaandag 1 maart 2010 @ 18:47
    In je htaccess file.
    genaktmaandag 1 maart 2010 @ 20:51
    quote:
    Op maandag 1 maart 2010 18:47 schreef SinofEnvy het volgende:
    In je htaccess file.
    huh ? nou heb ik die acces file gevonden en heb het irin geplakt maar het werkt niet
    genaktmaandag 1 maart 2010 @ 21:00
    Ik wil nadat een persoon heeft ingelogd dat als er niks meer gebeur dat hij dan automatisch uitlogd. Hoe doe ik dat iemand voorbeeldje ? of iemand ie mij kan helpen

    dit zijn de scripts die ik heb

    inlog.php
    quote:
    <html>
    <head>
    <title>MEDINFO</title>
    </head>
    <body BGCOLOR="Grey">
    <br>
    <br>
    <br>
    <h1><center>MEDINFO</center>
    <br>
    <br>
    <br>
    <br>
    <center>
    <form action="login_code.php" method="POST">
    <table>
    <tr><td>BSN: </td><td><input type="password" name="bsn" size="20" maxlenght"9"></td></tr>
    <br>
    <tr><td>Achternaam: </td><td><input type="text" name="gebruikersnaam" size="20" maxlenght"20"></td></tr>
    <br>
    <tr><td ALIGN="right"><input type="submit" value="Aanmelden"></td><td ALIGN="center"><input type="reset" value="Velden wissen"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    logout.php
    quote:
    <?php

    session_start();
    session_unset();
    session_destroy();
    ?>
    <html>
    <head>
    <title>MEDINFO</title>
    </head>
    <body bgcolor="Grey">
    <center><h1>MEDINFO<h1></center>
    <br><br>
    <br>
    <center>
    <h3>
    U bent nu uitgelogd.
    <br><br>
    <a href = "login.php">opnieuw inloggen</a><br><br>
    </h3>
    </hr>

    </center>
    </body>
    overzicht.php
    quote:
    <?php
    session_start();

    require 'db.php';
    ?>
    <html>
    <head>
    <title>Uitgifte medicijnen</title>
    </head>
    <body bgcolor="Grey">
    <h1><center>MEDINFO</center>
    <br></h1>

    <?php
    if (!($connection = @ mysql_connect($hostName, $username, $password)))
    showerror();

    if (!mysql_select_db($databaseName, $connection))
    showerror();

    $bsn = ($_SESSION["bsn"]);

    $sql = "SELECT *
    FROM patient
    WHERE burgerservicenummer = $bsn";

    $resultaat = mysql_query($sql);

    $rij = mysql_fetch_array($resultaat);

    echo "Patientnummer: " . $rij[0] . "<br>" ;

    echo "Voorletters: " . $rij[2] . "<br>" ;
    echo "Achternaam: " . $rij[3] . "<br>" ;
    echo "Woonplaats: " . $rij[5] . "<br>" ;;
    echo "Geboortedatum: " . $rij[6] . "<br><br><hr><br>" ;

    $sql2 = "SELECT naam, toepassing, uitgiftedatum
    FROM patient p, medicijn m, uitgifte u
    WHERE burgerservicenummer = $bsn
    AND u.patientnummer = p.patientnummer
    AND u.code = m.code";

    $resultaat2 = mysql_query($sql2);

    echo "<center><table>";
    echo "<tr><td><b>Naam</b></td>
    <td><b>Toepassing<b></td>
    <td><b>Datum van uitgifte</b></td>";

    while($rij2 = mysql_fetch_array($resultaat2))
    {
    echo "<tr>";
    echo "<td width='120'>" .$rij2["0"] . "</td>";
    echo "<td width='240'>" .$rij2["1"] . "</td>";
    echo "<td>" .$rij2["2"] . "</td>";
    echo "</tr>";


    }
    echo "</table></center>";




    ?>
    <center><h3><a href = "logout.php">uitloggen</a><br><br></h3></center>
    <?php
    db.php
    quote:
    <?php
    $hostName = "localhost";
    $databaseName = "med-info";
    $username = "student4";
    $password = "student4";

    function showerror()
    {
    die("Error " . mysql_errno() . " : " . mysql_error());
    }
    ?>
    Lightmaandag 1 maart 2010 @ 21:46
    Tip: gebruik [ code] [ /code] voor code, en [ php] [ /php] voor php. Is stukken beter leesbaar dan quotes, en je krijgt gratis regelnummers.

    1Op deze manier dus
    urseldonderdag 4 maart 2010 @ 17:27
    Even toch een vraag met betrekking tot Smarty.
    Gezien de beta's ziet het er naar uit dat versie 3 op redelijk korte termijn klaar moet zijn.

    Maar hoe staat men hier tegenover qua functionaliteit.
    Normaliter wil je zo veel logica in je code houden. Echter Smarty kan redelijk tot zeer veel in mijn ogen waardoor de mengeling tussen logica en templating dreigt.

    Hoe doet een ieder dat zelf?
    Een "tabel" van data wil ik best nog wel uit een array in mijn template gebruik met de loop functie. Maar meer dan dat wil ik eigenlijk ook niet verder gaan. Mijn collega is echter van mening dat zelfs dat nog te ver gaat en vindt dat een template volledig statisch dient te zijn.

    Zijn voorkeur gaat hierin meer naar template Power waarbij de tabel eigenlijk uit blocks bestaat en je vanuit je code blocks assigned en zodoende vult.
    genaktdonderdag 4 maart 2010 @ 18:43
    het is gelukt heb me phpmysql examen gehaald !
    Intrepiditydonderdag 4 maart 2010 @ 18:45
    quote:
    Op donderdag 4 maart 2010 17:27 schreef ursel het volgende:
    Even toch een vraag met betrekking tot Smarty.
    Gezien de beta's ziet het er naar uit dat versie 3 op redelijk korte termijn klaar moet zijn.

    Maar hoe staat men hier tegenover qua functionaliteit.
    Normaliter wil je zo veel logica in je code houden. Echter Smarty kan redelijk tot zeer veel in mijn ogen waardoor de mengeling tussen logica en templating dreigt.

    Hoe doet een ieder dat zelf?
    Een "tabel" van data wil ik best nog wel uit een array in mijn template gebruik met de loop functie. Maar meer dan dat wil ik eigenlijk ook niet verder gaan. Mijn collega is echter van mening dat zelfs dat nog te ver gaat en vindt dat een template volledig statisch dient te zijn.

    Zijn voorkeur gaat hierin meer naar template Power waarbij de tabel eigenlijk uit blocks bestaat en je vanuit je code blocks assigned en zodoende vult.
    Ik stop zelf alles in mijn templates wat nodig is om te transformeren van een generiek formaat naar html. In mijn model-view-controller opstelling zorg is dus dat mijn controller compleet generiek is. Met een andere template ervoor kun je daar dus direct xml, html of whatever mee genereren. Escapen van output, of andere dingen die specifiek nodig zijn voor HTML-templates vind ik okay om in die template te stoppen. Ook het parsen van een datum van timestamp naar leesbaar formaat valt daar dus onder, want wellicht wil je in een XML-bestand wel gewoon de timestamp gebruiken, etcetera.

    De router in mijn MVC-framework vogelt vervolgens uit dat je een XML-template wilt als je /pagina.xml opvraagt en een HTML-template als je /pagina.html opvraagt. Vrijwel automatische REST dus, vanuit de controller gezien
    urselvrijdag 5 maart 2010 @ 16:47
    Yeah.. we hebben last van de Y2K38 bug..
    Ofwel, het eind punt van de unix time stamp op 19 january 2038.

    Het merendeel van ons systeem maakt dus voor tijd/datum gebruik van de unix timestamp. Nu hebben we de eerste data binnen welke een afloop datum heeft op juli 2038 en loopt ut krijgen we een leeg resultaat terug.

    Zijn er eenvoudige oplossingen welke we hiervoor kunnen toepassen, zonder te ingrijpend in het gehele systeem te moeten zitten?
    Intrepidityvrijdag 5 maart 2010 @ 16:55
    Datatype van het veld omgooien naar unsigned integer? Tenzij je data van voor 1970 hebt natuurlijk..
    urselvrijdag 5 maart 2010 @ 17:09
    quote:
    Op vrijdag 5 maart 2010 16:55 schreef Intrepidity het volgende:
    Datatype van het veld omgooien naar unsigned integer? Tenzij je data van voor 1970 hebt natuurlijk..
    Mja, het gaat niet alleen om database veld namen. De functie mktime spuugt bijvoorbeeld ook een unix timestamp terug. Alleen een jaartal boven 2038 geeft niks terug, ook geen error ofzo.
    Tijnvrijdag 5 maart 2010 @ 17:14
    Mijn mktime() doet ook niks met datums (data?) na 2038

    En dat terwijl ik toch een vrij recente PHP draai (5.2.3)
    Lightvrijdag 5 maart 2010 @ 19:15
    quote:
    Op vrijdag 5 maart 2010 17:09 schreef ursel het volgende:

    [..]

    Mja, het gaat niet alleen om database veld namen. De functie mktime spuugt bijvoorbeeld ook een unix timestamp terug. Alleen een jaartal boven 2038 geeft niks terug, ook geen error ofzo.
    mktime geeft false terug als de datum ongeldig is. Wel een soort van error dus.
    Lightvrijdag 5 maart 2010 @ 19:17
    quote:
    Op vrijdag 5 maart 2010 17:14 schreef Tijn het volgende:
    Mijn mktime() doet ook niks met datums (data?) na 2038

    En dat terwijl ik toch een vrij recente PHP draai (5.2.3)
    Mijn mktime() werkt ook nog met het jaar 3038, ik zie het probleem eigenlijk niet. Denk niet dat het aan de php-versie ligt, heb hier 5.2.12.
    Intrepidityvrijdag 5 maart 2010 @ 19:20
    quote:
    Op vrijdag 5 maart 2010 19:17 schreef Light het volgende:

    [..]

    Mijn mktime() werkt ook nog met het jaar 3038, ik zie het probleem eigenlijk niet. Denk niet dat het aan de php-versie ligt, heb hier 5.2.12.
    OS kan ook relevant wezen. Als je OS maar een signed 32-bits integer als time_t gebruikt ondersteunt PHP ook nog hoger.
    Lightvrijdag 5 maart 2010 @ 19:23
    quote:
    Op vrijdag 5 maart 2010 16:47 schreef ursel het volgende:

    Zijn er eenvoudige oplossingen welke we hiervoor kunnen toepassen, zonder te ingrijpend in het gehele systeem te moeten zitten?
    Overschakelen naar een 64-bit server met 64-bit besturingssysteem. Dan kun je vooruit tot het einde der tijden (als de jaartallen 15 cijfers krijgen, wordt het nog een keer spannend).
    Lightvrijdag 5 maart 2010 @ 19:45
    Dit levert bij mij een positief getal (9223372036854775807) op:
    1
    2
    3
    <?php
    var_dump
    (mktime(83423612798793108307363));
    ?>


    1 seconde later krijg ik een negatief getal. Maar waarschijnlijk verandert de jaartelling nog wel een paar keer voordat het jaar 798.793.108.307.363 na Christus wordt bereikt, als het al wordt bereikt.
    Crutchzaterdag 6 maart 2010 @ 11:51
    Jo, is er een centraal Java-topic hier op FOK!?
    Intrepidityzaterdag 6 maart 2010 @ 11:56
    quote:
    Op zaterdag 6 maart 2010 11:51 schreef Crutch het volgende:
    Jo, is er een centraal Java-topic hier op FOK!?
    Niet voor zover ik weet, maar voel je vrij er een te starten Met google vind ik wel genoeg java-vraagtopics, dus er zal vast animo voor wezen.
    Crutchzaterdag 6 maart 2010 @ 12:59
    quote:
    Op zaterdag 6 maart 2010 11:56 schreef Intrepidity het volgende:

    [..]

    Niet voor zover ik weet, maar voel je vrij er een te starten Met google vind ik wel genoeg java-vraagtopics, dus er zal vast animo voor wezen.
    Done: [Java] voor dummies -deel 1
    SharQueDozaterdag 6 maart 2010 @ 19:02
    quote:
    Op vrijdag 5 maart 2010 19:15 schreef Light het volgende:

    [..]

    mktime geeft false terug als de datum ongeldig is. Wel een soort van error dus.
    Of als je je MySQL fatsoenlijk ingesteld hebt (lees: sql-mode op o.a. Traditional), dan krijg je wel keihard een foutmelding terug. Zoals het hoort.
    Trollface.zaterdag 6 maart 2010 @ 19:33
    quote:
    Op zaterdag 6 maart 2010 12:59 schreef Crutch het volgende:

    [..]

    Done: [Java] voor dummies - deel 1
    [C(++)] voor dummies - Deel 1
    cablegunmasterzaterdag 6 maart 2010 @ 23:10
    oh ja even simpel vraagje hoe zit het met entities? ?
    ik heb nu een tekst veld en daar wil ik alle illegale velden omzetten in iets legaals wat voor een database weer handig eruit te halen is.

    Daarnaast een 2e vraag, ik heb nu een afkapper voor een stuk tekst. een lange string van bvb

    1
    2
    3
    <?php
    echo mb_strcut($row['news'],0,1000);
    ?>

    Alleen molt dit soms m'n pagina door dat erna wat <div> komen en de eerste geeft hij al niet goed weer de rest doet hij de hele code erna wel maar het heeft ermee te maken denk ik met "" quote's.die mogelijk in de string zitten van news.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
        
    if(empty($_GET)){
            
    $sql "select * from cable_news where hidden = '0' ORDER BY news_id DESC  LIMIT 0,3";
            
    $result $db->query($sql);
            while(
    $row mysql_fetch_array($result))
            {
                echo 
    "<h2><a href='index.php?blog=".$row['news_id']."'>".ucfirst($row['title'])."</a></h2>\n";
                echo 
    "<p class='ondertitel'>Published on: ".$row['date']."<br><a href='./index.php?blog=".$row['news_id']."#comments'>Comment:".$row['comment']." , Add your own comment!</a></p>\n";
                echo 
    mb_strcut($row['news'],0,1000);
                echo 
    "...<a href='index.php?blog=".$row['news_id']."'>Lees verder</a>";
                echo 
    "<div class=\"ondertitel\">\n";
                echo 
    "<br/>";
                echo 
    "<b>Mood: </b>".ucfirst($row['emotion'])."<br/>\n";
                echo 
    "<b>Listening to: </b>".ucfirst($row['music'])."<br/>\n";
                echo 
    "</div>\n";
                echo 
    "<hr>\n";
            }
        }
    ?>



    Edit1: snap het al een beetje maar hoe haal ik alle html tags uit de string ?

    [ Bericht 2% gewijzigd door cablegunmaster op 06-03-2010 23:15:53 ]
    Trollface.zaterdag 6 maart 2010 @ 23:15
    Wat is het probleem nu precies
    cablegunmasterzaterdag 6 maart 2010 @ 23:17
    quote:
    Op zaterdag 6 maart 2010 23:15 schreef Trollface. het volgende:
    Wat is het probleem nu precies
    Excuses voor mijn vaagheid zat zelf ook nog te puzzelen

    Hoe haal ik alle html tekens uit de volgende string:
    1
    2
    3
    <?php
    echo mb_strcut($row['news'],0,700);
    ?>

    dus $row['news']. voor een preview van de tekst wil ik een korte versie weergeven zonder dat hij de pagina molesteert. dus dat als er html tags in zitten die de pagina schade kunnen doen. natuurlijk kan ik met entities gaan werken maar kan php ze er ook helemaal uit filteren tijdelijk?

    found it
    http://php.net/manual/en/function.strip-tags.php

    had het moeten weten

    [ Bericht 22% gewijzigd door cablegunmaster op 06-03-2010 23:24:45 ]
    Trollface.zaterdag 6 maart 2010 @ 23:47
    htmlentities() werkt daarvoor beter, daardoor wordt het ook meteen valid HTML
    Xcaliburzaterdag 6 maart 2010 @ 23:50
    Sinds wanneer stript htmlentities je tags?
    Trollface.zaterdag 6 maart 2010 @ 23:55
    quote:
    Op zaterdag 6 maart 2010 23:50 schreef Xcalibur het volgende:
    Sinds wanneer stript htmlentities je tags?
    Het convert ze naar &lt; en &gt;, zodat ze niet als HTML-tags geïnterpreteerd worden.
    cablegunmasterzondag 7 maart 2010 @ 00:06
    quote:
    Op zaterdag 6 maart 2010 23:50 schreef Xcalibur het volgende:
    Sinds wanneer stript htmlentities je tags?
    Niet?
    quote:
    Op zaterdag 6 maart 2010 23:55 schreef Trollface. het volgende:

    [..]

    Het convert ze naar &lt; en &gt;, zodat ze niet als HTML-tags geïnterpreteerd worden.
    Maar als weergave op je website staat dit heel erg lelijk. Dus om deze reden besloten het niet te doen.
    Alleen maar de database in voor valid html en uit de database decoding.
    Xcaliburzondag 7 maart 2010 @ 00:08
    quote:
    Op zaterdag 6 maart 2010 23:55 schreef Trollface. het volgende:

    [..]

    Het convert ze naar &lt; en &gt;, zodat ze niet als HTML-tags geïnterpreteerd worden.
    Juist, en jij denkt dat dat een realistische preview oplevert?


    Trouwens, volgens mij is BBcode hiervoor uitgevonden
    Trollface.zondag 7 maart 2010 @ 00:12
    Achso, ik had de vraag niet helemaal goed gelezen. Excuses.
    Gitaarmatzondag 7 maart 2010 @ 12:15
    Hoi, ik ben net begonnen met PHP maar dit doet ie niet eens:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
    <head>
    <title> Hoi </title>
    </head>
    <body>

    <?php
    echo "Hallo dit is een test";
    ?>

    </body>

    </html> 


    als ik er html bij zet dan staat dat er wel in als ik hem open maar PHP geeft hij niet weer.
    Ik gebruik xammp ofzo die heb ik dan op mijn USB staan en via de USB open ik dat om toegang tot de PHP-server (?) te krijgen?
    Intrepidityzondag 7 maart 2010 @ 12:21
    En je opent dat .php bestand direct vanaf die USB-stick zeker? PHP bestand moet je in de htdocs (oid) map van xammp zetten en dan http://localhost/bestand.php in je browser openen.
    Gitaarmatzondag 7 maart 2010 @ 12:23
    quote:
    Op zondag 7 maart 2010 12:21 schreef Intrepidity het volgende:
    En je opent dat .php bestand direct vanaf die USB-stick zeker? PHP bestand moet je in de htdocs (oid) map van xammp zetten en dan http://localhost/bestand.php in je browser openen.
    Dat heb ik al geprobeerd en dat werkt niet.
    Crutchzondag 7 maart 2010 @ 12:28
    quote:
    Op zondag 7 maart 2010 12:23 schreef Gitaarmat het volgende:

    [..]

    Dat heb ik al geprobeerd en dat werkt niet.
    heb je gecontroleerd of de service draait?
    Gitaarmatzondag 7 maart 2010 @ 12:29
    Oh, en er staat achter Apache en MySQL ook geen running als ik op start klik. Maar in het witte scherm daaronder staat er wel Apache started [Port 80]
    Maar dan staat er alsnog geen running.
    Crutchzondag 7 maart 2010 @ 12:32
    het kan zijn dat Microsoft SQL al draait, dan wil mySQL niet.
    Crutchzondag 7 maart 2010 @ 12:34
    oh nu weet ik niet of het Wamp of Xxamp is, maar dat combineert niet met Skype, dus eerst service starten en daarna skype starten.
    Gitaarmatzondag 7 maart 2010 @ 12:35
    Wat heeft skype ermee te maken?
    Dat heb ik btw niet eens.
    Crutchzondag 7 maart 2010 @ 12:38
    quote:
    Op zondag 7 maart 2010 12:35 schreef Gitaarmat het volgende:
    Wat heeft skype ermee te maken?
    Dat heb ik btw niet eens.
    conflict met een poort.
    Gitaarmatzondag 7 maart 2010 @ 12:39
    Ok. Ik heb nu alle programmaatjes uitgezet behalve internet en xammp. Ik klik op Xammp control, daar klik ik bij Apache en MySQL op start. Dan voer ik http://localhost in en dan komt die melding probleem bij het laden van de pagina.
    Gitaarmatzondag 7 maart 2010 @ 12:44
    Ah, ik heb het. Mijn firewall had beide programmaatjes geblokkeerd.
    Crutchzondag 7 maart 2010 @ 12:46
    lol, dat kan natuurlijk ook
    Gitaarmatzondag 7 maart 2010 @ 12:58
    Wij moeten dit soort opdrachten met PHP maken. Zijn deze lastig of is dat zo gebeurd als je de basis van PHP al weet?


  • Maak een zeer eenvoudige rekenmachine die alleen maar twee getallen bij elkaar kan optellen als je op een submit knop klikt.

  • Maak een webpagina waarbij de gebruiker zelf kan bepalen wat de achtergrondkleur van de pagina zal worden.


  • Maak de beroemde “Hello world” regel in php in de zeven verschillende font sizes met behulp van een for-lus.
  • #ANONIEMzondag 7 maart 2010 @ 13:05
    ja, dat is vrij makkelijk te doen.
    Gitaarmatzondag 7 maart 2010 @ 13:11
    Ik snap de functie van strlen niet echt.

    <?php
    echo strlen("Hello world!");
    ?>

    The output of the code above will be:
    12

    Waarom 12?
    urselzondag 7 maart 2010 @ 13:13
    tel alle karakters tussen de 2 " maar eens
    Gitaarmatzondag 7 maart 2010 @ 13:15
    Oke, en

    <?php
    echo strpos("Hello world!","world");
    ?>
    The output of the code above will be 6

    waarom want world is 5 letters
    Tijnzondag 7 maart 2010 @ 13:16
    quote:
    Op zondag 7 maart 2010 13:11 schreef Gitaarmat het volgende:
    Ik snap de functie van strlen niet echt.

    <?php
    echo strlen("Hello world!");
    ?>

    The output of the code above will be:
    12

    Waarom 12?
    Hoe is het niet 12?



    Er staan gewoon 12 karakters tussen je quotes. Dus het resultaat van de functie strlen() is 12. Logisch toch?
    Gitaarmatzondag 7 maart 2010 @ 13:18
    quote:
    Op zondag 7 maart 2010 13:16 schreef Tijn het volgende:

    [..]

    Hoe is het niet 12?

    [ afbeelding ]

    Er staan gewoon 12 karakters tussen je quotes. Dus het resultaat van de functie strlen() is 12. Logisch toch?
    Yep, die snap ik nu. Maar die andere niet.
    Tijnzondag 7 maart 2010 @ 13:18
    quote:
    Op zondag 7 maart 2010 13:15 schreef Gitaarmat het volgende:
    Oke, en

    <?php
    echo strpos("Hello world!","world");
    ?>
    The output of the code above will be 6

    waarom want world is 5 letters
    strpos() is een hele andere functie dan strlen() he. Je krijgt nu de plek terug waar "world" begint. Dat is op positie 6 (H is 0, e is 1, l is 2 etc... world begint dus op plaats 6).
    #ANONIEMzondag 7 maart 2010 @ 13:19
    quote:
    Op zondag 7 maart 2010 13:15 schreef Gitaarmat het volgende:
    Oke, en

    <?php
    echo strpos("Hello world!","world");
    ?>
    The output of the code above will be 6

    waarom want world is 5 letters
    www.php.net
    Gitaarmatzondag 7 maart 2010 @ 13:21
    quote:
    Op zondag 7 maart 2010 13:18 schreef Tijn het volgende:

    [..]

    strpos() is een hele andere functie dan strlen() he. Je krijgt nu de plek terug waar "world" begint. Dat is op positie 6 (H is 0, e is 1, l is 2 etc... world begint dus op plaats 6).
    Ah, dat had ik niet gezien. Bedankt. Snelle reacties hier zeg.
    Tijnzondag 7 maart 2010 @ 13:23
    Ik begrijp trouwens niet helemaal waarom je strlen() of strpos() nodig hebt voor de huiswerkoprachten die je eerder beschreef.
    Gitaarmatzondag 7 maart 2010 @ 13:23
    Ach, ik ben gewoon eerst de tutorial op w3schools aan het doornemen.
    Tijnzondag 7 maart 2010 @ 13:24
    quote:
    Op zondag 7 maart 2010 13:23 schreef Gitaarmat het volgende:
    Ach, ik ben gewoon eerst de tutorial op w3schools aan het doornemen.
    Niks mis mee
    Gitaarmatzondag 7 maart 2010 @ 13:46
    Maak een zeer eenvoudige rekenmachine die alleen maar twee getallen bij elkaar kan optellen als je op een submit knop klikt.

    Moet je die knop dan met html maken?
    Tijnzondag 7 maart 2010 @ 13:50
    quote:
    Op zondag 7 maart 2010 13:46 schreef Gitaarmat het volgende:
    Maak een zeer eenvoudige rekenmachine die alleen maar twee getallen bij elkaar kan optellen als je op een submit knop klikt.

    Moet je die knop dan met html maken?
    Ja. Je maakt met HTML gewoon een webpagina met daarop een formulier waarop je waarden voor je berekening kan invullen, inclusief een knop om het formulier te versturen. Vervolgens stuur je dat formulier naar een PHP-script, die rekent iets uit en toont een HTML-pagina met het resultaat erop.
    Alfjezondag 7 maart 2010 @ 15:07
    beste mensen, ik heb een database met daarin een tabel "events" met onder andere de kolommen "ID", "type", en "teamID". Wat ik nu wil is tellen hoe vaak per team bepaalde waardes van "type" voorkomen. In dit geval wil ik weten hoe vaak de waardes 'red' en 'yellow' voorkomen. Het is me wel gelukt om ze allemaal bij elkaar op te tellen met de volgende query:

    SELECT teamID, COUNT(ID) FROM events WHERE type='yellow' OR type='red' GROUP BY teamID

    Maar deze levert een tabel met 2 kolommen, 1 met het teamID en 1 me het toal aantal keer geel of rood. Wat ik wil is 2 aparte kolommen voor geel en rood. Of als dat mogelijk is 1 kolom met alles bij elkaar opgeteld waar de keren rood dubbel tellen.

    vraag 1: Kan dat? en dan is vraag 2 natuurlijk: Hoe dan?
    GlowMousezondag 7 maart 2010 @ 15:11
    SELECT teamID,type,COUNT(ID) FROM events WHERE type='yellow' OR type='red' GROUP BY teamID,type
    Alfjezondag 7 maart 2010 @ 15:17
    Wow dat was snel. Dat is in ieder geval wel een verbetering maar dat levert per teamID 2 rijen op 1 met 'yellow' en 1 met 'rood' en ik wil ze eigenlijk in 1 rij per 'teamID' met een kolom voor 'red' en een kolom voor 'yellow'
    Alfjezondag 7 maart 2010 @ 19:16
    Nou ik ben eruit hoor, ik gebruik nu SUM met voorwaardes om het op te lossen:

    SELECT teamID, SUM(IF(type='red',2,IF(type='yellow',1,0))) AS count FROM events GROUP BY teamID
    GlowMousezondag 7 maart 2010 @ 20:49
    Rood tel je nu dubbel door de 2 he?
    Lightzondag 7 maart 2010 @ 22:36
    quote:
    Op zondag 7 maart 2010 19:16 schreef Alfje het volgende:
    Nou ik ben eruit hoor, ik gebruik nu SUM met voorwaardes om het op te lossen:

    SELECT teamID, SUM(IF(type='red',2,IF(type='yellow',1,0))) AS count FROM events GROUP BY teamID
    Dat levert weinig nuttige informatie op. Als de sum 4 is, kan dat meerdere dingen betekenen.
    2 + 2 = 4
    2 + 1 + 1 = 4
    1 + 1 + 1 + 1 = 4
    Alfjemaandag 8 maart 2010 @ 02:29
    Bedankt dat jullie meedenken, maar dat rood dubbel telt is juist de bedoeling en hoe de som precies tot stand komt is in dit geval niet van belang.
    Arn0maandag 8 maart 2010 @ 12:23
    Een enorme noobvraag maar ben wat aan het opzoeken in mijn forumdatabase maar ik moet een * gebruiken omdat hetgeen wat ik zoek onderdeel is van een lijst. Maar ik krijg de syntax maar niet correct.

    1
    2
    3
    <?php
    SELECT 
    *  FROM `profile_portalWHERE `pp_last_visitors` = *'i:163'*
    ?>


    Ook als ik de ' weglaat, of voor de * zet krijg ik geen resultaat. De oplossing zal vast wel erg simpel zijn

    [ Bericht 1% gewijzigd door Arn0 op 08-03-2010 12:29:20 ]
    Xcaliburmaandag 8 maart 2010 @ 12:38
    in MySQL werkt dat met een % ipv *
    En met LIKE

    dus LIKE %'tekst'%
    Arn0maandag 8 maart 2010 @ 12:42
    Bedankt Maar klopt het dat ik de ' buiten de % moest zetten? Dus '%tekst%', anders werkte het niet.
    Xcaliburmaandag 8 maart 2010 @ 13:14
    Oh, dat zou kunnen ja
    Als het werkt, werkt het he
    Intrepiditymaandag 8 maart 2010 @ 13:18
    quote:
    Op maandag 8 maart 2010 12:42 schreef Arn0 het volgende:
    Bedankt Maar klopt het dat ik de ' buiten de % moest zetten? Dus '%tekst%', anders werkte het niet.
    Dat klopt, % is een wildcard voor meerdere karakters binnen een string, en ? is een wildcard voor slechts 1 teken. '?iets' matcht dus fiets maar geen bakfiets
    Gitaarmatmaandag 8 maart 2010 @ 17:06
    Ik kom er echt niet uit met het maken van een simpele rekenmachine die alleen maar 2 getallen bij elkaar op kan tellen dmv een submit-knop.
    Ik heb met HTML wel al een form gemaakt en een knop met submit erop.
    Tijnmaandag 8 maart 2010 @ 17:07
    quote:
    Op maandag 8 maart 2010 17:06 schreef Gitaarmat het volgende:
    Ik kom er echt niet uit met het maken van een simpele rekenmachine die alleen maar 2 getallen bij elkaar op kan tellen dmv een submit-knop.
    Welke gedeelte lukt niet?
    Gitaarmatmaandag 8 maart 2010 @ 17:10
    Het hele PHP gedeelte.
    Ik weet niet hoe ik dat in HTML kan verwerken ik heb nu:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <html>
    <head>
    <title> Hoi </title>
    </head>
    <body>
    <center>
    <FONT size="18">
    <form>
    <em>De eenvoudige rekenmachine:</em>
    <input type="text" size="20" maxlength="40" name="rekenmachine">
    <input type="submit" value="Berekening doorvoeren">
    </form>
    <?php
    $a=x;
    $b=x;
    echo "$resultaat=$a+$b";
    ?>


    </FONT>
    </body>

    </html> 
    Gitaarmatmaandag 8 maart 2010 @ 17:13
    Wat ik hier zelf over denk: het heeft weinig met PHP te maken wat ik doe geloof ik.
    Tijnmaandag 8 maart 2010 @ 17:16
    Nou, om te beginnen is het misschien handig om twee inputvelden te maken, waar je je waarden kan invullen.

    Misschien is het handig om even een tutorial te gaan lezen over het posten van forms en het verwerken van de input met PHP.
    Gitaarmatmaandag 8 maart 2010 @ 17:30
    Deze heb ik gevonden:
    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
    <?php

    /* Calculator */


    if($submit)
    {
       if($operator == '*')
       {
           echo $numa * $numb;
       } elseif($operator == '/')
       {
           echo $numa / $numb;
       } elseif($operator == '+')
       {
           echo $numa + $numb;
       } elseif($operator == '-')
       {
           echo $numa - $numb;
       }
    } else { ?>
    <form method="POST" action="<?php $_SERVER['PHP_SELF']; ?>">
     <input type="text" name="numa" size="10">
     <input type="text" name="operator" size="2">
     <input type="text" name="numb" size="10">
     <input type="submit" value="Calculate" name="submit">
     
    </form>
    <?php } ?>


    Maar hoe krijg ik de output erbij?
    Arn0maandag 8 maart 2010 @ 17:36
    Het is echt niet moeilijk

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    <html>
    <
    head>
    <
    titleHoi </title>
    </
    head>
    <
    body>
    <
    center>


    <
    form method="post" action=" echo $PHP_SELF;">
    Getal 1: <input type="text" size="12" maxlength="12" name="Getal1"><br />
    Getal 2:<input type="text" size="12" maxlength="12" name="Getal2"><br />
    <
    input type="submit" value="submit" name="submit">
    </
    form>

    $Getal1 $_POST["Getal1"];
    $Getal2 $_POST["Getal2"];
    $Verschil $Getal1 $Getal2;

    echo 
    $Verschil;


    </
    body>

    </
    html>
    ?>


    Je moet uiteraard eerst met de formtag beginnen. <?php echo $PHP_SELF;?> gebruik je opdat je de ingevoerde getallen in het huidige bestand kunt gebruiken. Vervolgens zorg je ervoor dat de gebruiker twee getallen kan ingeven (naam van de formvariablen is getal1 & getal2). Je sluit het form af met een submit button en start je php code. Je stelt de variablen getal1 en getal2 gelijk aan de formvariable door middel van:
    $Getal1 = $_POST["Getal1"];

    $Getal1 is je PHP variable, $_POST["Getal1"]; is je al bestaande formvariable. Vervolgens bereken je het verschil in een nieuwe variable en laat je deze zien.
    Tijnmaandag 8 maart 2010 @ 17:37
    quote:
    Op maandag 8 maart 2010 17:30 schreef Gitaarmat het volgende:
    Deze heb ik gevonden:
    [ code verwijderd ]

    Maar hoe krijg ik de output erbij?
    Dit voorbeeld werkt niet met moderne versies van PHP. Je moet de waarden halen uit de $_POST array.

    Ik zou even een tutorial zoeken, want dit soort dingen worden echt wel goed uitgelegd bij bv w3schools.
    Gitaarmatmaandag 8 maart 2010 @ 17:45
    Dat doet het helemaal niet bij mij? Parse error
    Arn0maandag 8 maart 2010 @ 17:46
    quote:
    Op maandag 8 maart 2010 17:45 schreef Gitaarmat het volgende:
    Dat doet het helemaal niet bij mij? Parse error
    Je test het toch wel op bijvoorbeeld Apache of een eigen webserver? Toch niet vanuit bijvoorbeeld Mijn Documenten in Firefox openen? Want de code werkt hier..
    Gitaarmatmaandag 8 maart 2010 @ 17:46
    eigen webserver ja
    er staat unexpected "<" on line 2
    Arn0maandag 8 maart 2010 @ 17:48
    Ik zie het al.. Fok heeft <?php in het begin en ?> aan het einde van de code toegevoegd omdat ik de [php] tag gebruikte. Die moet je dus even wegdoen
    Gitaarmatmaandag 8 maart 2010 @ 18:15
    Dan staan er dus helemaal geen PHP-tags meer in?

    Dan krijg ik de onderstaand regel namelijk in beeld en daarboven twee invoer hokjes met een submit-knop.

    $Getal1 = $_POST["Getal1"]; $Getal2 = $_POST["Getal2"]; $Verschil = $Getal1 - $Getal2; echo "$Verschil";

    -edit- Ah om die regel moet natuurlijk juist e PHP-tag staan

    Nu weer een probleem.

    Als ik op submit klik krijg ik object niet gevonden...

    [ Bericht 46% gewijzigd door Gitaarmat op 08-03-2010 18:20:46 ]
    Arn0maandag 8 maart 2010 @ 18:23
    Jawel, er staat nog steeds PHP code in..
    <?php
    $Getal1 = $_POST["Getal1"];
    $Getal2 = $_POST["Getal2"];
    $Verschil = $Getal1 - $Getal2;

    echo $Verschil;
    ?>

    Dit is de complete code, die werkt toch echt;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <html>
    <head>
    <title> Hoi </title>
    </head>
    <body>
    <center>


    <form method="post" action="<?php echo $PHP_SELF;?>">
    Getal 1: <input type="text" size="12" maxlength="12" name="Getal1"><br />
    Getal 2:<input type="text" size="12" maxlength="12" name="Getal2"><br />
    <input type="submit" value="submit" name="submit">
    </form>
    <?php
    $Getal1 = $_POST["Getal1"];
    $Getal2 = $_POST["Getal2"];
    $Verschil = $Getal1 - $Getal2;

    echo $Verschil;
    ?>

    </body>

    </html>
    SinofEnvymaandag 8 maart 2010 @ 18:24
    Yep. Je kan ook gewoon:
    1echo $Getal1 - Getal2;


    Overigens, werkt $PHP_SELF nog? Dat is volgens mij vrij PHP4. De nette manier om het te doen is:
    1$_SERVER['PHP_SELF']
    Gitaarmatmaandag 8 maart 2010 @ 18:30
    Als ik op submit klik krijg ik toch echt:

    Gitaarmatmaandag 8 maart 2010 @ 18:33
    Ik heb trouwens wel Getal1 + Getal2 maar dat maakt niet veel uit lijkt me.
    Trollface.maandag 8 maart 2010 @ 18:33
    Moet $_SERVER['PHP_SELF'] zijn.
    Arn0maandag 8 maart 2010 @ 18:36
    quote:
    Op maandag 8 maart 2010 18:33 schreef Trollface. het volgende:
    Moet $_SERVER['PHP_SELF'] zijn.
    Hmm, dat zal het dan zijn, foutje van mij. Excuses, ben zelf ook een newb

    Overigens wel vaag: Ik heb een modernere PHP versie en hier werkt het wel..
    Gitaarmatmaandag 8 maart 2010 @ 18:39
    Bij mij werkt PHP_SELF nu ook gewoon.
    Intrepiditymaandag 8 maart 2010 @ 18:40
    quote:
    Op maandag 8 maart 2010 18:36 schreef Arn0 het volgende:

    [..]

    Hmm, dat zal het dan zijn, foutje van mij. Excuses, ben zelf ook een newb

    Overigens wel vaag: Ik heb een modernere PHP versie en hier werkt het wel..
    Zet dan eens heel snel register_globals uit in je php.ini
    Gitaarmatmaandag 8 maart 2010 @ 18:45
    Ik kom niet op de naam maar ik wil met HTML zo'n lijstje maken waar de gebruiker een keuze kan maken.

    Zo'n vakje waar je op klikt en dan zie je meerdere dingen staan.
    Arn0maandag 8 maart 2010 @ 18:51
    quote:
    Op maandag 8 maart 2010 18:45 schreef Gitaarmat het volgende:
    Ik kom niet op de naam maar ik wil met HTML zo'n lijstje maken waar de gebruiker een keuze kan maken.

    Zo'n vakje waar je op klikt en dan zie je meerdere dingen staan.
    1
    2
    3
    4
    5
    <select name="Voorbeeld">
    <option value="Een">Een</option>
    <option value="Twee">Twee</option>
    <option value="Drie">Drie</option>
    </select>
    Gitaarmatmaandag 8 maart 2010 @ 18:53
    Dat dit soort dingen zo simpel zijn.
    Arn0maandag 8 maart 2010 @ 18:53
    quote:
    Op maandag 8 maart 2010 18:40 schreef Intrepidity het volgende:

    [..]

    Zet dan eens heel snel register_globals uit in je php.ini
    Hmm.. Kan dit geen kwaad voor de dingen die al op de webserver staan? (IPB, Wordpress)
    Gitaarmatmaandag 8 maart 2010 @ 18:57
    Ik moet een pagina maken waar de gebruiker de kleuren kan instellen..

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <body bgcolor="white">

    <select name="Colorchoice">
    <option value="option1">White</option>
    <option value="option2">Red</option>
    <option value="option3">Yellow</option>
    </select>
    <?php
    $option1= "White"
    $option2= "Red"
    $option3= "Yellow"

    If Colorchoice= "White"
     then bgcolor="white"
     
     ?> 


    </body>


    Zo heb ik het dan in mijn hoofd
    Trollface.maandag 8 maart 2010 @ 19:10
    quote:
    Op maandag 8 maart 2010 18:53 schreef Arn0 het volgende:

    [..]

    Hmm.. Kan dit geen kwaad voor de dingen die al op de webserver staan? (IPB, Wordpress)
    Nee, die zijn gebouwd om er niet op te vertrouwen.
    Arn0maandag 8 maart 2010 @ 19:24
    quote:
    Op maandag 8 maart 2010 18:57 schreef Gitaarmat het volgende:
    Ik moet een pagina maken waar de gebruiker de kleuren kan instellen..
    [ code verwijderd ]

    Zo heb ik het dan in mijn hoofd
    Nee, die code ziet er wel erg raar uit? Je moet je formtag nog gebruiken en die if statement is ook overbodig.. Daarnaast hoef je ook geen 3 variablen toe te wijzen. (en zelfs als dat nodig was, deed je het verkeerd).

    PHP-experts, verbeter mijn code maar waar nodig


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <body bgcolor="<?php echo $Colorchoice; ?>">
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <select name="Colorchoice">
    <option value="White">White</option>
    <option value="Red">Red</option>
    <option value="Yellow">Yellow</option>
    </select>
    <input type="submit" value="submit" name="submit">
    <?php
    $Colorchoice = $_POST["Colorchoice"];
      ?> 
    Gitaarmatmaandag 8 maart 2010 @ 20:46
    Deze werkt niet? Als ik hem op rood zet blijft ie wit.
    Tijnmaandag 8 maart 2010 @ 21:17
    Als je $_POST["Colorchoice"] gelijk in je in je bgcolor-ding zet, werkt het wel. Dan heb je dat stukje onderaan ook niet nodig.
    Intrepiditymaandag 8 maart 2010 @ 22:10
    Heeft er iemand ervaring met het PHP e-commerce pakket Magento? We overwegen het in onze organisatie als alternatief voor het zelf bouwen van een webshoppakket, waar we eigenlijk geen tijd voor hebben.. Hoe uitbreidbaar/hackbaar is Magento, en hoe is je ervaring met de community erachter? En is het gratis communitypakket (in vergelijking met de enterprise-versie) uitgebreid genoeg voor de gemiddelde toepassing in het MKB?
    We zijn een relatief kleine organisatie met 5 devvers, dus zeer veel tijd om het onder de knie te krijgen of om mensen op cursus te sturen hebben we nou ook weer niet, en waarschijnlijk zal er toch het een en ander aan maatwerk gebouwd moeten worden..
    boem-dikkiedinsdag 9 maart 2010 @ 14:38
    Ik heb een inlog pagina waar hij gebruik maakt van mySQL. Dit werkt allemaal en als de gebruiker goed heeft ingelogd wordt hij doorgestuurd naar 'gelukt.php'. Nou heb ik voor de test even dit in gelukt.php staan:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
       if (! $_SESSION['ingelogd'] )
         {
            header ("location: inlog.php"); 
       }
         else 
       { 
          print " <p>U bent ingelogd.</p>";
         }
    ?>


    Alleen het werkt niet.. Als ik nu naar gelukt.php ga dan stuurt hij me meteen terug naar inlog.php en als ik via inlog.php gewoon mijn goede gegevens invul dan blijft hij hangen op inlog.php ...
    Intrepiditydinsdag 9 maart 2010 @ 14:40
    quote:
    Op dinsdag 9 maart 2010 14:38 schreef boem-dikkie het volgende:
    Ik heb een inlog pagina waar hij gebruik maakt van mySQL. Dit werkt allemaal en als de gebruiker goed heeft ingelogd wordt hij doorgestuurd naar 'gelukt.php'. Nou heb ik voor de test even dit in gelukt.php staan:
    [ code verwijderd ]

    Alleen het werkt niet.. Als ik nu naar gelukt.php ga dan stuurt hij me meteen terug naar inlog.php en als ik via inlog.php gewoon mijn goede gegevens invul dan blijft hij hangen op inlog.php ...
    Aanroep naar session_start(); bovenaan gelukt.php? Dat geldt voor iedere pagina waar je de sessie wilt gebruiken.
    http://php.net/manual/en/function.session-start.php
    boem-dikkiedinsdag 9 maart 2010 @ 15:19
    quote:
    Op dinsdag 9 maart 2010 14:40 schreef Intrepidity het volgende:

    [..]

    Aanroep naar session_start(); bovenaan gelukt.php? Dat geldt voor iedere pagina waar je de sessie wilt gebruiken.
    http://php.net/manual/en/function.session-start.php
    Ah. Nu doet hij het, dat was ik vergeten dus.. Thanks.
    cablegunmasterdinsdag 9 maart 2010 @ 20:35
    quote:
    Op maandag 8 maart 2010 22:10 schreef Intrepidity het volgende:
    Heeft er iemand ervaring met het PHP e-commerce pakket Magento? We overwegen het in onze organisatie als alternatief voor het zelf bouwen van een webshoppakket, waar we eigenlijk geen tijd voor hebben.. Hoe uitbreidbaar/hackbaar is Magento, en hoe is je ervaring met de community erachter? En is het gratis communitypakket (in vergelijking met de enterprise-versie) uitgebreid genoeg voor de gemiddelde toepassing in het MKB?
    We zijn een relatief kleine organisatie met 5 devvers, dus zeer veel tijd om het onder de knie te krijgen of om mensen op cursus te sturen hebben we nou ook weer niet, en waarschijnlijk zal er toch het een en ander aan maatwerk gebouwd moeten worden..
    Ja , een beetje handig als je veel vrije tijd hebt. Beste oplossing blijft zelf een script schrijven.
    Heb er zelf een periode aan zitten klooien maar de community is opzich wel behulpzaam maar het duurt wel even eer je alles onder de knie hebt!. Veel uitzoek werk! Niet aan te raden voor een klein bedrijf. Maar als je er genoeg tijd aan besteed lonend. Als je niet zoveel tijd hebt is het meer waard om zelf een eigen systeempje op te zetten. Want het probleem van Magento is dat het te over compleet is en aanpassen gaat je haast nachtmerries bezorgen.
    boem-dikkiedinsdag 9 maart 2010 @ 20:56
    OScommerce is trouwens ook wel goed te doen. Daar is heel veel heel makkelijk aan te passen en er hangt een goede community achter.
    boem-dikkiedinsdag 9 maart 2010 @ 21:24
    Ik kom er trouwens niet uit waarom dit niet werkt... zal vast weer dom zijn zoals de eerder gestelde vraag.

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

       if ( isset( $_POST['submit'] ) )
       {

          include 'database.inc.php';
          
          $sql="INSERT INTO gebruikers (gebruikersnaam, wachtwoord)
          VALUES ('$_POST[gebruikersnaam]','$_POST[wachtwoord]')";

          if (!mysql_query($sql))
          {
            die('Error: ' . mysql_error());
          }

          echo "Een nieuwe gebruiker toevoegen is gelukt";
       }
    ?>


    Als ik gewoon deze code in een andere pagina zet en mijn submit action naar die pagina doorverwijst doet hij het wel. Als ik zeg dat de submit action PHP self moet zijn voert hij de code niet goed uit...

    Ik denk zelf dat er iets mis zit in de combinatie van de isset POST en de rest maar wat weet ik niet.
    Trollface.dinsdag 9 maart 2010 @ 21:29
    NOOIT post-waardes direct in een query zetten! Lees jezelf even in op SQL injection, en gebruik mysql_real_escape_string().

    Ohja, en het moet $_POST['gebruikersnaam'] en $_POST['wachtwoord'] zijn, mét quotes dus.

    Verder moet je nooit een wachtwoord 'kaal' in een database zetten, altijd eerst door een hashfunctie zoals sha256 gooien:
    1
    2
    3
    4
    <?php
    $wachtwoord 
    $_POST['wachtwoord'];
    $wachtwoord hash('sha256'$wachtwoord);
    ?>


    En dan bij het controleren:
    1
    2
    3
    4
    5
    <?php
    $gebruikersnaam 
    $_POST['gebruikersnaam'];
    $wachtwoord $_POST['wachtwoord'];
    $sql "SELECT * FROM gebruikers WHERE gebruikersnaam = '" mysql_real_escape_string($gebruikersnaam) . "' AND wachtwoord = '" mysql_real_escape_string(hash('sha256'$wachtwoord)) . "'";
    ?>


    [ Bericht 29% gewijzigd door Trollface. op 09-03-2010 21:38:39 ]
    Xcaliburdinsdag 9 maart 2010 @ 21:34
    quote:
    Op dinsdag 9 maart 2010 20:56 schreef boem-dikkie het volgende:
    OScommerce is trouwens ook wel goed te doen. Daar is heel veel heel makkelijk aan te passen en er hangt een goede community achter.
    Ik vind dat echt een drama pakket.... templates zijn een ramp imho
    Maar het is alweer een tijdje geleden, dus misschien is het tegenwoordig beter
    boem-dikkiedinsdag 9 maart 2010 @ 21:37
    Bedankt Trollface! Ik zie op de Wikipedia pagina inderdaad dat het belangrijk is. Thanks!
    quote:
    Op dinsdag 9 maart 2010 21:34 schreef Xcalibur het volgende:

    [..]

    Ik vind dat echt een drama pakket.... templates zijn een ramp imho
    Maar het is alweer een tijdje geleden, dus misschien is het tegenwoordig beter
    Er wordt ook duidelijk op de website van OS gezegd dat er geen ondersteuning is voor mensen die templates gebruiken, omdat deze vaak door buitenstaanders gemaakt zijn en dus ver afwijken van de standaard code.
    Als je 5 devvers hebt die een béétje verstand hebben maken ze zelf wat, dat is niet moeilijk. Grotendeels zelfs aangegeven in de handleiding.
    Intrepiditydinsdag 9 maart 2010 @ 22:46
    Bedankt voor de tips, ik denk dat we toch voor Magento gaan. Voordat je zo'n systeem nagebouwd hebt (en ja, onze klanten hebben een groot gedeelte van de functionaliteit ook daadwerkelijk nodig) ben je zo 500 uur verder. Binnen 500 uur heb je echt wel uitgevogeld hoe Magento werkt imo.
    En osCommerce with all due respect is een baggerpakket. Ook al naar gekeken, is totaal geen alternatief.
    Het zal wel Magento worden Maar bedankt voor het meedenken
    Chandlerwoensdag 10 maart 2010 @ 22:09
    Hoe krijg ik dit voor elkaar?

    van naar.

    123123123534 => 123.123.123.534
    2142123435 => 2.142.123.435
    211231 => 211.231
    3421 => 3.421

    Heb gezocht naar sprintf maar wordt er niet echt wijs van
    Lightwoensdag 10 maart 2010 @ 22:18
    quote:
    Op woensdag 10 maart 2010 22:09 schreef Chandler het volgende:
    Hoe krijg ik dit voor elkaar?

    van naar.

    123123123534 => 123.123.123.534
    2142123435 => 2.142.123.435
    211231 => 211.231
    3421 => 3.421

    Heb gezocht naar sprintf maar wordt er niet echt wijs van
    number_format()
    Chandlerwoensdag 10 maart 2010 @ 22:37
    Nee dus, die zorgt voor dit:

    123.123.1
    123.00

    etc, heel vervelend
    Lightwoensdag 10 maart 2010 @ 22:39
    quote:
    Op woensdag 10 maart 2010 22:37 schreef Chandler het volgende:
    Nee dus, die zorgt voor dit:

    123.123.1
    123.00

    etc, heel vervelend
    Hoe roep je number_format() dan aan, met welke parameters?
    urselwoensdag 10 maart 2010 @ 22:41
    quote:
    Op woensdag 10 maart 2010 22:37 schreef Chandler het volgende:
    Nee dus, die zorgt voor dit:

    123.123.1
    123.00

    etc, heel vervelend
    1number_format($number, 0, ',', '.');


    Werkt perfect hoor..
    Chandlerwoensdag 10 maart 2010 @ 22:42
    Lol, dat maakt eingelijk niet uit, alle parameters zijn slecht

    je krijgt bv dan

    200,200,321.11

    en dat wil ik dus niet, alles met puntjes en eindigen met minimaal 3 cijfers na het laatste puntje. (duizendtallen)

    Tenzij je precies eentje weet die wel goed is het moet toch met een standaard functie willen ipv zelf daarvoor een functie te schrijven!
    Chandlerwoensdag 10 maart 2010 @ 22:45
    quote:
    Op woensdag 10 maart 2010 22:41 schreef ursel het volgende:
    Werkt perfect hoor..
    Niet dus

    1.342.344.2343.21 is de uitkomst van dit 1342344234321 terwijl ik dit 1.342.344.234.321 als uitkomst wil
    Lightwoensdag 10 maart 2010 @ 22:50
    quote:
    Op woensdag 10 maart 2010 22:45 schreef Chandler het volgende:

    [..]

    Niet dus

    1.342.344.2343.21 is de uitkomst van dit 1342344234321 terwijl ik dit 1.342.344.234.321 als uitkomst wil
    Dat ligt dan aan jou. De code van ursel werkt bij mij gewoon goed.
    urselwoensdag 10 maart 2010 @ 22:51
    Misschien je regional settings van je server checken.
    Chandlerdonderdag 11 maart 2010 @ 12:03
    :N dat zou toch goed moeten staan.. nog ff een test dan!

    1
    2
    3
    date_default_timezone_set("Europe/Amsterdam");

    echo number_format(342423423, 2, '.', '.'); 


    is geworden : 342.423.423.00 terwijl ik dit wil hebben : 34.242.342.300

    :) wat doe ik dan fout volgens jullie?
    Lightdonderdag 11 maart 2010 @ 13:09
    quote:
    Op donderdag 11 maart 2010 12:03 schreef Chandler het volgende:
    dat zou toch goed moeten staan.. nog ff een test dan!
    [ code verwijderd ]

    is geworden : 342.423.423.00 terwijl ik dit wil hebben : 34.242.342.300

    wat doe ik dan fout volgens jullie?
    Je leest niet wat de parameters doen, daar gaat het fout. Je geeft namelijk aan dat je 2 decimalen wilt, dus krijg je 2 cijfers na het decimaalteken (het derde argument). Omdat jouw getal geen decimalen heeft, komen daar nullen te staan. En je maakt het jezelf niet makkelijker door bij het derde en het vierde argument hetzelfde teken op te geven.
    Chandlerdonderdag 11 maart 2010 @ 14:14
    Je hebt idd helemaal gelijk

    echo number_format(1342423423, 0, '.', '.'); werkt perfect!
    JortKdonderdag 11 maart 2010 @ 20:13
    Iemand hier enig idee hoe ik kan meten hoeveel kb de inhoud van een recordset is?

    Stel ik draai de volgende query:

    1SELECT `code`, `oms30` FROM `artikel`;


    Hoe kan ik er dan achterkomen voor hoeveel kb aan data er dan in deze resultset zit?
    Chandlerdonderdag 11 maart 2010 @ 20:28
    LEN?
    Chandlerdonderdag 11 maart 2010 @ 20:37
    Vraagje; op een van mijn website krijg ik af en toe dit te te zien



    En als ik dan weer op F5 druk zie ik de site weer? heeft iemand dit ooit ook al eens meegemaakt? het is namelijk heel vervelend!

    [ Bericht 2% gewijzigd door Chandler op 11-03-2010 20:47:09 ]
    JortKdonderdag 11 maart 2010 @ 20:47
    quote:
    Op donderdag 11 maart 2010 20:28 schreef Chandler het volgende:
    LEN?
    Nee.

    Ik denk dat ik wel iets heb gevonden, het veld Avg_row_lenght in:

    1SHOW TABLE STATUS;


    Niet helemaal accuraat, but will do.
    #ANONIEMdonderdag 11 maart 2010 @ 20:50
    quote:
    Op donderdag 11 maart 2010 20:37 schreef Chandler het volgende:
    Vraagje; op een van mijn website krijg ik af en toe dit te te zien

    [ link | afbeelding ]

    En als ik dan weer op F5 druk zie ik de site weer? heeft iemand dit ooit ook al eens meegemaakt? het is namelijk heel vervelend!
    Content type die niet goed doorkomt?
    Chandlervrijdag 12 maart 2010 @ 07:31
    quote:
    Op donderdag 11 maart 2010 20:50 schreef Scorpie het volgende:

    [..]

    Content type die niet goed doorkomt?
    Het is een gewone HTML pagina?
    Intrepidityvrijdag 12 maart 2010 @ 09:48
    phpMyAdmin gerelateerde vraag:
    Ik heb een aantal MyISAM tabellen waartussen ik relaties gelegd heb. In het geval van een foreign key naar een integer veld (en wellicht ook wel bij andere typen) genereert phpMyAdmin een dropdown lijst met mogelijke keuzen:

    Nou vraag ik me 2 dingen af:
    - Waarom staat iedere keuze er 2 maal in, een keer na- en een keer voor een dash?
    - Kan ik ook een ander veld aangeven om als omschrijving voor de foreign key te dienen?
    Ik heb dus een relatie waarbij faqvraag.categorie_id verwijst naar faqcategorie.id. Ik wil graag faqcategorie.naam (de naam van de categorie dus) ook in dit veld laten weergeven, mits dat niet teveel moeite kost. Zoekt PMA naar een bepaald type veld om als omschrijving te dienen ofzo? Ik vermoed dat er ook een soort label voor of na het streepje hoort te staan..
    JortKvrijdag 12 maart 2010 @ 10:16
    quote:
    - Waarom staat iedere keuze er 2 maal in, een keer na- en een keer voor een dash?
    Omdat de int unsigned is?
    quote:
    Kan ik ook een ander veld aangeven om als omschrijving voor de foreign key te dienen?
    Ik heb dus een relatie waarbij faqvraag.categorie_id verwijst naar faqcategorie.id. Ik wil graag faqcategorie.naam (de naam van de categorie dus) ook in dit veld laten weergeven, mits dat niet teveel moeite kost. Zoekt PMA naar een bepaald type veld om als omschrijving te dienen ofzo? Ik vermoed dat er ook een soort label voor of na het streepje hoort te staan..
    Ik weet niet hoe MySQL dat doet, ik weet dat MSSQL dat wel kan maar daar heb je weinig aan
    Intrepidityvrijdag 12 maart 2010 @ 10:18
    quote:
    Op vrijdag 12 maart 2010 10:16 schreef JortK het volgende:

    [..]

    Omdat de int unsigned is?
    [..]

    Ik weet niet hoe MySQL dat doet, ik weet dat MSSQL dat wel kan maar daar heb je weinig aan
    Unsigned, oftewel geen negatieve waarden mogelijk. Aangezien er een relatie ligt naar een ander unsigned veld kan ik me niet voorstellen dat PMA ook aanbiedt een negatief ID in te stellen Overigens, selecteren van " - 6" of "6 - " geeft beiden 6 als resultaat in de kolom.
    JortKvrijdag 12 maart 2010 @ 14:21
    quote:
    Op vrijdag 12 maart 2010 10:18 schreef Intrepidity het volgende:

    [..]

    Unsigned, oftewel geen negatieve waarden mogelijk. Aangezien er een relatie ligt naar een ander unsigned veld kan ik me niet voorstellen dat PMA ook aanbiedt een negatief ID in te stellen Overigens, selecteren van " - 6" of "6 - " geeft beiden 6 als resultaat in de kolom.
    Dat is dan wel weer raar
    Sitethiefmaandag 15 maart 2010 @ 11:57
    Ik zat ook al te klooien met foreign keys, precies hetzelfde probleem......
    Crutchmaandag 15 maart 2010 @ 12:16
    Stel ik vang de resultaten van een zoekfuntie in een while loop, oftewel; er komen meerdere resultaten uit en die wil ik per resultaat zo: <tr><td>resultaat</td></tr>.

    Voor de leesbaarheid wil ik iedere <tr> om en om een andere achtergrondkleur geven.
    Het liefst maak ik in CSS gewoon een licht en donker-class, maar hoe zorg ik dat er in de while loop om en om voor de juiste class gekozen wordt?
    #ANONIEMmaandag 15 maart 2010 @ 12:51
    quote:
    Op maandag 15 maart 2010 12:16 schreef Crutch het volgende:
    Stel ik vang de resultaten van een zoekfuntie in een while loop, oftewel; er komen meerdere resultaten uit en die wil ik per resultaat zo: <tr><td>resultaat</td></tr>.

    Voor de leesbaarheid wil ik iedere <tr> om en om een andere achtergrondkleur geven.
    Het liefst maak ik in CSS gewoon een licht en donker-class, maar hoe zorg ik dat er in de while loop om en om voor de juiste class gekozen wordt?
    Door de modulus operator te gebruiken.

    http://www.tizag.com/phpT/operators.php
    Crutchmaandag 15 maart 2010 @ 13:19
    quote:
    Op maandag 15 maart 2010 12:51 schreef Scorpie het volgende:

    [..]

    Door de modulus operator te gebruiken.

    http://www.tizag.com/phpT/operators.php
    Oftewel; een counter gebruiken die ++ doet bij ieder resultaat? Hoe herkent PHP dan even en oneven?
    #ANONIEMmaandag 15 maart 2010 @ 13:21
    quote:
    Op maandag 15 maart 2010 13:19 schreef Crutch het volgende:

    [..]

    Oftewel; een counter gebruiken die ++ doet bij ieder resultaat? Hoe herkent PHP dan even en oneven?
    Que? Nee.
    quote:
    Modulus is the remainder after the division operation has been performed.
    In this case it was 5 / 2, which has a remainder of 1
    1 % 2 = 1. Je houdt 1 over, dus weet je dat het oneven is.
    2 % 2 = 0. Je houdt 0 over, dus weet je dat het even is.
    ....
    5 % 2 = 1. Je houdt 1 over, dus weet je dat het oneven is.
    6 % 2 = 0. Je houdt 0 over, dus weet je dat het even is.

    Etc etc.

    [ Bericht 7% gewijzigd door #ANONIEM op 15-03-2010 13:22:12 ]
    Crutchmaandag 15 maart 2010 @ 13:25
    quote:
    Op maandag 15 maart 2010 13:21 schreef Scorpie het volgende:

    [..]

    Que? Nee.
    Dude, beginnen met een variabele $counter = 0; bijvoorbeeld die in de loop telkens 1 hoger wordt met $counter ++;
    quote:
    1 % 2 = 1. Je houdt 1 over, dus weet je dat het oneven is.
    2 % 2 = 0. Je houdt 0 over, dus weet je dat het even is.
    ....
    5 % 2 = 1. Je houdt 1 over, dus weet je dat het oneven is.
    6 % 2 = 0. Je houdt 0 over, dus weet je dat het even is.

    Etc etc.
    Ik snap 'm. Thanks.
    #ANONIEMmaandag 15 maart 2010 @ 13:27
    quote:
    Op maandag 15 maart 2010 13:25 schreef Crutch het volgende:

    [..]

    Dude, beginnen met een variabele $counter = 0; bijvoorbeeld die in de loop telkens 1 hoger wordt met $counter ++;
    O op die manier. Ik zie nu dat je een while gebruikt, dacht dat je een for loop gebruikte.
    Maar idd, ff een countertje ophogen.
    quote:
    Ik snap 'm. Thanks.
    Mooi !
    wdnwoensdag 17 maart 2010 @ 15:44
    Vraagje!

    Heb even gezocht en een aantal mogelijkheden gevonden die allemaal andere talen erbij pakken en dat moet ik eigenlijk vermijden.

    Is het mogelijk om het aantal kolommen van een tabel te achterhalen met alleen SQL?
    Dus ter verduidelijking: het aantal regels dat het resultaat van een SHOW COLUMNS FROM {tabel} geeft.
    #ANONIEMwoensdag 17 maart 2010 @ 15:46
    quote:
    Op woensdag 17 maart 2010 15:44 schreef wdn het volgende:
    Vraagje!

    Heb even gezocht en een aantal mogelijkheden gevonden die allemaal andere talen erbij pakken en dat moet ik eigenlijk vermijden.

    Is het mogelijk om het aantal kolommen van een tabel te achterhalen met alleen SQL?
    Dus ter verduidelijking: het aantal regels dat het resultaat van een SHOW COLUMNS FROM {tabel} geeft.
    Describe bedoel je?

    http://php.about.com/od/mysqlcommands/g/describe_table.htm
    wdnwoensdag 17 maart 2010 @ 15:52
    describe geeft ook de inhoud...

    desc test

    geeft bijvoorbeeld:

    'test1', 'varchar(3)', 'YES', 'MUL', NULL, ''
    'test2', 'varchar(6)', 'YES', '', NULL, ''
    'test3', 'varchar(8)', 'YES', '', NULL, ''
    'hallo', 'varchar(30)', 'YES', '', NULL, ''
    'nog1', 'varchar(30)', 'YES', '', NULL, ''
    'nog1tje', 'varchar(2)', 'YES', '', NULL, ''

    en ik wil 6 als resultaat (namelijk het bestand test bevat 6 velden).
    urselwoensdag 17 maart 2010 @ 16:05
    een numRow op je results is dan teveel dan?
    wdnwoensdag 17 maart 2010 @ 16:11
    quote:
    Op woensdag 17 maart 2010 16:05 schreef ursel het volgende:
    een numRow op je results is dan teveel dan?
    Ik ken geen numRow in sql. Wel in php... maar zoals gesteld... dit moet (niet mijn keus...) in sql.
    captaintokyowoensdag 17 maart 2010 @ 16:12
    Ik denk dat 'ie dit bedoelt:

    SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'tabel_naam';
    urselwoensdag 17 maart 2010 @ 16:19
    quote:
    Op woensdag 17 maart 2010 16:11 schreef wdn het volgende:

    [..]

    Ik ken geen numRow in sql. Wel in php... maar zoals gesteld... dit moet (niet mijn keus...) in sql.
    Ahh.. die had ik gemist.
    Maar voorbeeld hierboven werkt perfect..
    wdnwoensdag 17 maart 2010 @ 16:20
    YES MERCI!

    edit: trouwens pokke dat ik dat niet zelf kan bedenken
    Intrepiditywoensdag 17 maart 2010 @ 18:21
    quote:
    Op woensdag 17 maart 2010 16:20 schreef wdn het volgende:
    YES MERCI!

    edit: trouwens pokke dat ik dat niet zelf kan bedenken
    Ik denk alleen dat er best wel een zooi hosters zijn waarbij je geen toegang hebt tot de INFORMATION_SCHEMA database..
    wdnwoensdag 17 maart 2010 @ 19:12
    quote:
    Op woensdag 17 maart 2010 18:21 schreef Intrepidity het volgende:

    [..]

    Ik denk alleen dat er best wel een zooi hosters zijn waarbij je geen toegang hebt tot de INFORMATION_SCHEMA database..
    Kan zijn maar daar heb ik geen last van
    Gaat om een sql -> ireport connectie.
    F4T4L_3RR0Rwoensdag 17 maart 2010 @ 20:08
    Heb weer te lang niets met PHP gedaan en ik struikel weer over het gebruikt van haakjes:

    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
    <?php
    if ($capcode == "0708906") {

        if (
            
    strpos($melding" VIA ") !== false
            
    ||
            
    strpos($melding" HAG ") !== false
        
    )

        if (
            
    stripos($pri"P 1") !== false
            
    &&
            
    stripos($melding"OMS-BRANDALARM") === false
            
    &&
            
    stripos($melding"PAC-BRANDALARM") === false
            
    ||
            
    stripos($melding"CLASSIFICATIE") !== false
            
    ||
            
    stripos($melding"GRIP") !== false
            
    ||
            
    stripos($melding"GROTE BRAND") !== false
        
    )
        {
            
    $afzender "P2000 ALERT";
            
    $nummers[] = "31612345678";
            include(
    "twitter.php");
        }
    }
    ?>

    Moeten er nog ergens { en } komen?

    Code moet dit doen:

    Kijken of $capcode "0708906" bevat, daarna kijken of $melding " VIA " of " HAG " bevat, daarna nog naar een paar dingen kijken en als alles voldoet, $nummers in een array gooien en twitter.php includen.

    Edit:

    Ik probeer m'n eigen gelijk te verbeteren:

    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
    if ($capcode == "0708906") {

        if (
            
    strpos($melding" VIA ") !== false
            
    ||
            
    strpos($melding" HAG ") !== false
        
    )
        {

            if (
                
    stripos($pri"P 1") !== false
                
    &&
                
    stripos($melding"OMS-BRANDALARM") === false
                
    &&
                
    stripos($melding"PAC-BRANDALARM") === false
                
    ||
                
    stripos($melding"CLASSIFICATIE") !== false
                
    ||
                
    stripos($melding"GRIP") !== false
                
    ||
                
    stripos($melding"GROTE BRAND") !== false
            
    )
            {
                
    $afzender "P2000 ALERT";
                
    $nummers[] = "31612345678";
                include(
    "twitter.php");
            }
        }
    }
    ?>


    [ Bericht 34% gewijzigd door F4T4L_3RR0R op 17-03-2010 20:14:46 ]
    Trollface.woensdag 17 maart 2010 @ 20:13
    Je bent 'else' vergeten.
    F4T4L_3RR0Rwoensdag 17 maart 2010 @ 20:16
    quote:
    Op woensdag 17 maart 2010 20:13 schreef Trollface. het volgende:
    Je bent 'else' vergeten.
    Niet elke IF hoeft een ELSE te hebben in mijn code. Alleen als het voldoet met het wat doen.
    Trollface.woensdag 17 maart 2010 @ 20:57
    quote:
    Op woensdag 17 maart 2010 20:16 schreef F4T4L_3RR0R het volgende:

    [..]

    Niet elke IF hoeft een ELSE te hebben in mijn code. Alleen als het voldoet met het wat doen.
    Wat moet
    1
    2
    3
    4
    5
    if(x) {
     // ...
    } {
     // ...
    }

    dan voorstellen?
    Lightwoensdag 17 maart 2010 @ 21:06
    quote:
    Op woensdag 17 maart 2010 20:57 schreef Trollface. het volgende:

    [..]

    Wat moet
    [ code verwijderd ]

    dan voorstellen?
    Dat staat nergens. Of ik kijk scheef.
    F4T4L_3RR0Rwoensdag 17 maart 2010 @ 21:13
    Misschien is het zo iets duidelijker:

    Trollface.woensdag 17 maart 2010 @ 21:37
    quote:
    Op woensdag 17 maart 2010 21:06 schreef Light het volgende:

    [..]

    Dat staat nergens. Of ik kijk scheef.
    Vlak voor $afzender = ...
    Of de code wordt niet goed weergeven op m'n mobiel.

    Edit: Ah. ) wordt als } weergeven hier.
    erikkllwoensdag 17 maart 2010 @ 21:40
    quote:
    Op woensdag 17 maart 2010 20:08 schreef F4T4L_3RR0R het volgende:
    Heb weer te lang niets met PHP gedaan en ik struikel weer over het gebruikt van haakjes:
    wat je ook kunt doen:

    1
    2
    3
    4
    5
    if (a == b):
    echo "a is gelijk aan b";
    else:
    echo "a is niet gelijk aan b";
    endif;
    MrNilesdonderdag 18 maart 2010 @ 11:36
    ik als totale PHP n00b ben bezig om een makkelijk formuliertje te maken
    het 1 en ander is me al redelijk gelukt maar nu loop ik vast.
    In het formulier heb ik een pulldown menu om een bepaalde datum te kiezen
    alles is uitgelijnt als center
    alleen alles wat ik na de pulldown(tabel) zet, lijnt zich niet meer uit maar komt meteen achter het pulldown menu

    de betreffende code:

  • <form name="form1" method="post" action="post.php">
  • <p align="center">
  • Naam organisatie: <br><input name="organisatie" type="text" value"><br>
  • Naam contactpersoon: <br><input name="naam" type="text" value"><br>
  • Telefoonnummer: <br><input name="telnr" type="text" value"><br>
  • Emailadres: <br><input name="email" type="text" value"><br>
  • 1ste regel (max 18 karakters): <br><input name="regel1" type="text" value" MAXLENGTH="18"><br>
  • 2de regel(max 18 karakters): <br><input name="regel2" type="text" value" MAXLENGTH="18"><br>
  • 2 weken vanaf maandag: <br>
  • <td><select name="dat" SIZE="1"><br>
  • <OPTION>datum</option>
  • <OPTION>1 maart</option>
  • <OPTION>8 maart</option>
  • <OPTION>15 maart</option>
  • <OPTION>22 maart</option>
  • <OPTION>29 maart</option>
  • <OPTION>5 april</option>
  • <OPTION>12 april</option>
  • <OPTION>19 april</option>
  • <OPTION>26 april</option>
  • <OPTION>3 mei</option>
  • <OPTION>10 mei</option>
  • <OPTION>17 mei</option>
  • <OPTION>24 mei</option>
  • <OPTION>31 mei</option>
  • <OPTION>7 juni</option>
  • <OPTION>14 juni</option>
  • <OPTION>21 jun</option>
  • <OPTION>28 juni</option>
  • <OPTION>5 juli</option>
  • <OPTION>12 juli</option>
  • <OPTION>19 juli</option>
  • <OPTION>26 juli</option>
  • <OPTION>2 augustus</option>
  • <OPTION>9 augustus</option>
  • <OPTION>16 augustus</option>
  • <OPTION>23 augustus</option>
  • <OPTION>30 augustus</option>
  • <OPTION>6 september</option>
  • <OPTION>13 september</option>
  • <OPTION>20 september</option>
  • <OPTION>27 september</option>
  • <OPTION>4 oktober</option>
  • <OPTION>11 oktober</option>
  • <OPTION>18 oktober</option>
  • <OPTION>25 oktober</option>
  • <OPTION>1 november</option>
  • <OPTION>8 november</option>
  • <OPTION>15 november</option>
  • <OPTION>22 november</option>
  • <OPTION>29 november</option>
  • <OPTION>6 december</option>
  • <OPTION>13 december</option>
  • <OPTION>20 december</option>
  • <OPTION>27 december</option>
  • </td>
  • <br>
  • <input type="submit" name="Submit" value="Verzenden"></p>
  • Intrepiditydonderdag 18 maart 2010 @ 11:43
    Schoon eerst je html eens op. Er staat een <br> na <select> (binnen een select horen alleen <option>-tags, je sluit je <select> niet af na de <option>'s, etcetera. Vrij logisch dat de browser het niet snapt zo. En oh, ga CSS gebruiken, align="center" moet je tegenwoordig eigenlijk niet meer doen
    MrNilesdonderdag 18 maart 2010 @ 11:47
    quote:
    Op donderdag 18 maart 2010 11:43 schreef Intrepidity het volgende:
    Schoon eerst je html eens op. Er staat een <br> na <select> (binnen een select horen alleen <option>-tags, je sluit je <select> niet af na de <option>'s, etcetera. Vrij logisch dat de browser het niet snapt zo. En oh, ga CSS gebruiken, align="center" moet je tegenwoordig eigenlijk niet meer doen
    het is een stukje code die ik van internet heb ge kopiet
    ik ga het proberen...
    is er ook een andere mogelijkheid om zo'n pulldown te maken?
    Intrepiditydonderdag 18 maart 2010 @ 11:48
    quote:
    Op donderdag 18 maart 2010 11:47 schreef MrNiles het volgende:

    [..]

    het is een stukje code die ik van internet heb ge kopiet
    ik ga het proberen...
    is er ook een andere mogelijkheid om zo'n pulldown te maken?
    Waarom zou je het anders willen? Met CSS kun je een hele hoop aanpassen qua stijl aan zo'n ding..
    MrNilesdonderdag 18 maart 2010 @ 11:49
    quote:
    Op donderdag 18 maart 2010 11:47 schreef MrNiles het volgende:

    [..]

    het is een stukje code die ik van internet heb ge kopiet
    ik ga het proberen...
    is er ook een andere mogelijkheid om zo'n pulldown te maken?
    Het is al gelukt...thanx...zal de volgende keer beter opletten op het sluiten :-)
    MrNilesdonderdag 18 maart 2010 @ 13:30
    Volgende vraagje voor mijn formulier :-)
    zoals eerder gezegd, ik heb het van internet geript...en ik ben het aan het leren, dus schiet me niet meteen af :-)
    als ik het form verstuur dan krijg ik een volgende pagina met een echo, iets van bedankt voor bericht
    Dit heb ik nu in een alertbox gestopt die je opkomt zodra op sendknop wordt gedrukt.
    Het scripje wat achter de send knop zit toch nog een nieuwe pagina openen als echo oid
    hoe kan ik dit nu maken dat er naar een bepaalde pagina wordt gegaan (bv fok.nl)
    Xcaliburdonderdag 18 maart 2010 @ 13:40
    Met header()

    Verder: www.php.net
    captaintokyodonderdag 18 maart 2010 @ 13:41
    Ik neem aan dat je het over javascript hebt nu (in een PHP/MySQL topic). Doorlinken naar een andere pagina in javascript kan met de volgende code:

    location.href = 'http://www.fok.nl';

    Of je kan de action van het form instellen en dan het form submitten, maar bovenstaande is denk ik makkelijk voor een beginner als jij. Misschien is het handig als je post wat je al hebt, dan begrijpen wij de bedoeling waarschijnlijk beter.
    captaintokyodonderdag 18 maart 2010 @ 13:44
    quote:
    Op donderdag 18 maart 2010 13:40 schreef Xcalibur het volgende:
    Met header()

    Verder: www.php.net
    In PHP idd met header, maar hij heeft het over een alertbox... klinkt als javascript
    cablegunmasterdonderdag 18 maart 2010 @ 13:48
    quote:
    Op donderdag 18 maart 2010 13:30 schreef MrNiles het volgende:
    Volgende vraagje voor mijn formulier :-)
    zoals eerder gezegd, ik heb het van internet geript...en ik ben het aan het leren, dus schiet me niet meteen af :-)
    als ik het form verstuur dan krijg ik een volgende pagina met een echo, iets van bedankt voor bericht
    Dit heb ik nu in een alertbox gestopt die je opkomt zodra op sendknop wordt gedrukt.
    Het scripje wat achter de send knop zit toch nog een nieuwe pagina openen als echo oid
    hoe kan ik dit nu maken dat er naar een bepaalde pagina wordt gegaan (bv fok.nl)
    Je bedoelt dat je de Alerts uit een andere pagina wil inladen? In die Alert box?
    en als er geen alertbox is doorsturen? Want je kan niet EN een alert box EN een nieuwe pagina laden
    MrNilesdonderdag 18 maart 2010 @ 13:55
    misschien ben ik niet helemaal duidelijk
    ik heb een formulier gemaakt
    als je op verzend drukt dan komt er een alertbox waarin staat dat het verzonden is.

    <input type="submit" name="Submit" value="Verzenden" onclick="show_alert()" value="Show alert box" /></p>

    in dit formulier staat een verwijzing naar een php file (post.php)
    deel vd code

    $mailadres = "nielsrijkers@gmail.com";
    $message = str_replace ("<br>","\n", $message);
    mail("$mailadres", "Bericht van publicatiebord",
    $message, "From: " . $email . "");

    //echo "Uw bericht is met succes verzonden. We helpen u zo snel mogelijk.";

    }
    ?>

    nu wil ik graag ipv die echo een redirect naar een pagina
    ik heb dit geprobeert met

    header("location: www.fok.nl");

    maar dat werkt niet
    LeNickdonderdag 18 maart 2010 @ 13:57
    Ik heb dat boek van Ward van der Put, is dat wat?
    Intrepiditydonderdag 18 maart 2010 @ 13:57
    Location is ten eerste met een hoofdletter, en ik gok dat je ook http:// voor de URL moet zetten Voor de rest klopt 'ie. Het is echter wel zo netjes er ook: header("HTTP/1.0 302 Temporary Redirect"); voor te zetten.
    MrNilesdonderdag 18 maart 2010 @ 14:03
    quote:
    Op donderdag 18 maart 2010 13:57 schreef Intrepidity het volgende:
    Location is ten eerste met een hoofdletter, en ik gok dat je ook http:// voor de URL moet zetten Voor de rest klopt 'ie. Het is echter wel zo netjes er ook: header("HTTP/1.0 302 Temporary Redirect"); voor te zetten.
    tja...het zou dus moeten werken maar helaas krijg ik alleen een witte pagina tezien...
    andere ideetjes
    Intrepiditydonderdag 18 maart 2010 @ 14:06
    quote:
    Op donderdag 18 maart 2010 14:03 schreef MrNiles het volgende:

    [..]

    tja...het zou dus moeten werken maar helaas krijg ik alleen een witte pagina tezien...
    andere ideetjes
    Staat er in die post.php nog andere inhoud? Je mag geen inhoud naar de browser versturen voordat je headers verstuurt. Voor het eerste teken HTML naar de gebruiker verstuurd wordt zijn de headers al verzonden.
    Om zeker van je zaak te zijn op dat gebied kun je output-buffers gaan gebruiken
    captaintokyodonderdag 18 maart 2010 @ 14:08
    Dan staat er in post.php waarschijnlijk ergens een fout. In je log file (php_error.log) kun je zien op welke regel het misgaat. Succes.
    MrNilesdonderdag 18 maart 2010 @ 14:14
    quote:
    Op donderdag 18 maart 2010 14:06 schreef Intrepidity het volgende:

    [..]

    Staat er in die post.php nog andere inhoud? Je mag geen inhoud naar de browser versturen voordat je headers verstuurt. Voor het eerste teken HTML naar de gebruiker verstuurd wordt zijn de headers al verzonden.
    Om zeker van je zaak te zijn op dat gebied kun je output-buffers gaan gebruiken
    output-buffers MrNiles=php-n00b
    die post.php staat helemaal vol met code om een emailberichtje aan te laten komen met de gegevens uit het formulier..dit dus :
    owja...hoe krijg je die mooie vensters met programmeertaal zoals je die hier in het forum ziet:

    <?php
    $organisatie= htmlspecialchars($_POST['organisatie']);
    $naam = htmlspecialchars($_POST['naam']);
    $telnr= htmlspecialchars($_POST['telnr']);
    $email = htmlspecialchars($_POST['email']);
    $naam = htmlspecialchars($_POST['naam']);
    $regel1= htmlspecialchars($_POST['regel1']);
    $regel2= htmlspecialchars($_POST['regel2']);
    $bericht = htmlspecialchars($_POST['bericht']);
    $dat= htmlspecialchars($_POST["dat"]);


    if (!$organisatie) {
    echo "u heeft geen organisatie ingevuld!";
    exit; }

    if (!$naam) {
    echo "u heeft geen naam ingevuld!";
    exit; }

    if (!$telnr) {
    echo "u heeft geen telefoonnummer ingevuld!";
    exit; }

    if (!$email) {
    echo "u heeft geen e-mailadres ingevuld!";
    exit; }

    if (!$regel1) {
    echo "u heeft regel1 ingevuld!";
    exit; }

    else {

    $tijd = time();
    $datum = strftime("%d/%m/%y %H:%M", $tijd);
    $ip = getenv("REMOTE_ADDR");
    $message = "" . $naam . " met het e-mailadres " . $email . " en het IP $ip stuurde op $datum het volgende bericht:
    ____________________________________
    "."Organisatie: "."\t".$organisatie."\n"."Naam: "."\t\t".$naam."\n"."Telefoonr: "."\t".$telnr."\n"."Mail: "."\t"."\t".$email."\n"."Regel1: "."\t".$regel1."\n"."Regel2: "."\t".$regel2."\n"."Datum: "."\t".$dat."\n"."Bericht: "."\t".$bericht."
    ------------------------------------";

    $mailadres = "nielsrijkers@gmail.com";
    $message = str_replace ("<br>","\n", $message);
    mail("$mailadres", "Bericht van publicatiebord",
    $message, "From: " . $email . "");

    header("Location: http://www.anderdomein.com"); exit();

    }
    ?>
    Intrepiditydonderdag 18 maart 2010 @ 14:18
    Probeer eens ob_start(); helemaal aan het begin van je PHP-bestand te zetten (net na <?php dus) en ob_end_flush(); net voor ?>.
    Daarmee creëer je een output buffer. Dat wil zeggen dat PHP eerst alle inhoud van de PHP opspaart voordat het aan de browser verstuurd wordt. Normaal als je echo doet wordt het direct naar de browser verstuurd. Met een output buffer verstuur je alles op een later tijdstip in 1 keer. Aangezien je niets naar de browser mag verzenden voor een header(); aanroep. Normaal zie je daar een foutmelding van, maargoed, het is het proberen waard
    MrNilesdonderdag 18 maart 2010 @ 14:22
    er gebeurt niets...wit scherm
    that's it
    captaintokyodonderdag 18 maart 2010 @ 14:27
    In je log file kun je waarschijnlijk zien wat er fout gaat en op welke regel.
    MrNilesdonderdag 18 maart 2010 @ 14:28
    quote:
    Op donderdag 18 maart 2010 14:27 schreef captaintokyo het volgende:
    In je log file kun je waarschijnlijk zien wat er fout gaat en op welke regel.
    waar kan ik die vinden????
    captaintokyodonderdag 18 maart 2010 @ 14:35
    Ben je lokaal aan het ontwikkelen of op een server?
    MrNilesdonderdag 18 maart 2010 @ 14:39
    quote:
    Op donderdag 18 maart 2010 14:35 schreef captaintokyo het volgende:
    Ben je lokaal aan het ontwikkelen of op een server?
    op server
    ik kan de log niet vinden in de map waar ik bezig ben
    MrNilesdonderdag 18 maart 2010 @ 14:44
    als ik een lege php heb met alleen

    <?php header("Location: http://www.fok.nl");exit; ?>

    dan werkt het wel.....
    captaintokyodonderdag 18 maart 2010 @ 14:51
    Hm, als het op de server is heb je misschien geen toegang tot het error log. Wat je dan nog kan proberen is de volgende regel toevoegen, na <?php

    error_reporting(E_ALL);
    ini_set('display_errors', 1);

    Dit zou er voor moeten zorgen dat je ipv van een wit scherm een foutmelding met een regelnummer krijgt.

    Edit: let op via ini_set kun je ervoor zorgen dat errors op het scherm worden weergegeven.

    [ Bericht 18% gewijzigd door captaintokyo op 18-03-2010 14:57:19 ]
    Crutchdonderdag 18 maart 2010 @ 14:53
    quote:
    Op donderdag 18 maart 2010 14:44 schreef MrNiles het volgende:
    als ik een lege php heb met alleen

    <?php header("Location: http://www.fok.nl");exit; ?>

    dan werkt het wel.....
    zet header("Location: http://www.anderdomein.com"); exit(); eens buiten de laatste }
    Xcaliburdonderdag 18 maart 2010 @ 14:57
    quote:
    Op donderdag 18 maart 2010 14:51 schreef captaintokyo het volgende:
    Hm, als het op de server is heb je misschien geen toegang tot het error log. Wat je dan nog kan proberen is de volgende regel toevoegen, na <?php

    error_reporting(E_ALL);

    Dit zou er voor moeten zorgen dat je ipv van een wit scherm een foutmelding met een regelnummer krijgt.
    Hier zou je inderdaad een stuk wijzer van moeten worden
    MrNilesdonderdag 18 maart 2010 @ 15:17
    quote:
    Op donderdag 18 maart 2010 14:51 schreef captaintokyo het volgende:
    Hm, als het op de server is heb je misschien geen toegang tot het error log. Wat je dan nog kan proberen is de volgende regel toevoegen, na <?php

    error_reporting(E_ALL);
    ini_set('display_errors', 1);

    Dit zou er voor moeten zorgen dat je ipv van een wit scherm een foutmelding met een regelnummer krijgt.

    Edit: let op via ini_set kun je ervoor zorgen dat errors op het scherm worden weergegeven.
    Warning: Cannot modify header information - headers already sent by (output started at /home/vhosts/subumbra.nl/httpdocs/post.php:1) in /home/vhosts/subumbra.nl/httpdocs/post.php on line 53

    regel53:
    header("Location: http://www.anderdomein.com"); exit();
    captaintokyodonderdag 18 maart 2010 @ 15:20
    Dat is dus waar Intrepidity het over had. Als er een spatie/newline/tab o.i.d. voor <?php staat moet je die verwijderen. Dan werkt het als het goed is wel. <?php moet helemaal aan het begin van je bestand staan, anders kun je geen redirect doen.
    MrNilesdonderdag 18 maart 2010 @ 15:22
    ervoor??
    daarvoor staat niets....dat is het begin van de file
    Tijndonderdag 18 maart 2010 @ 15:23
    quote:
    Op donderdag 18 maart 2010 15:22 schreef MrNiles het volgende:
    ervoor??
    daarvoor staat niets....dat is het begin van de file
    Weet je zeker dat je geen enters of spaties voor de opening van je PHP-tag hebt?
    MrNilesdonderdag 18 maart 2010 @ 15:26
    quote:
    Op donderdag 18 maart 2010 15:23 schreef Tijn het volgende:

    [..]

    Weet je zeker dat je geen enters of spaties voor de opening van je PHP-tag hebt?
    yep...ik heb backspace gedaan...nothing happened
    MrNilesdonderdag 18 maart 2010 @ 15:28
    als ik eest een lege regel heb dan krijg ik dit in de foutcode
    
    MrNilesdonderdag 18 maart 2010 @ 15:31
    kan het iets te maken hebben met de if / else commandos? als ik de else functie (het versturen van de mail) uitschakel door // dan werkt de redirect wel

    else {

    //$tijd = time();
    //$datum = strftime("%d/%m/%y %H:%M", $tijd);
    //$ip = getenv("REMOTE_ADDR");
    //$message = "" . $naam . " met het e-mailadres " . $email . " en het IP $ip stuurde op $datum het volgende bericht:
    //____________________________________
    //"."Organisatie: "."\t".$organisatie."\n"."Naam: "."\t\t".$naam."\n"."Telefoonr: "."\t".$telnr."\n"."Mail: "."\t"."\t".$email."\n"."Regel1: "."\t".$regel1."\n"."Regel2: "."\t".$regel2."\n"."Datum: "."\t".$dat."\n"."Bericht: "."\t".$bericht."
    //------------------------------------";

    //$mailadres = "nielsrijkers@gmail.com";
    //$message = str_replace ("<br>","\n", $message);
    //mail("$mailadres", "Bericht van publicatiebord",
    //$message, "From: " . $email . "");

    header("Location: http://www.anderdomein.com"); exit();

    }
    ?>
    captaintokyodonderdag 18 maart 2010 @ 15:32
    Ik denk dat het iets te maken heeft met je file encoding en/of line endings. Met welk programma edit je het php bestand?

    Vreemd, dat is niet het deel waar de foutmelding over gaat... Misschien stond er een onzichtbaar teken aan het begin van je bestand. Probeer het nu nog eens met het mail-deel actief?
    MrNilesdonderdag 18 maart 2010 @ 15:35
    soort van notepad-achtig iets
    gewoon de code
    MrNilesdonderdag 18 maart 2010 @ 15:37
    quote:
    Op donderdag 18 maart 2010 15:32 schreef captaintokyo het volgende:
    Ik denk dat het iets te maken heeft met je file encoding en/of line endings. Met welk programma edit je het php bestand?

    Vreemd, dat is niet het deel waar de foutmelding over gaat... Misschien stond er een onzichtbaar teken aan het begin van je bestand. Probeer het nu nog eens met het mail-deel actief?
    helaas geen succes
    Intrepiditydonderdag 18 maart 2010 @ 15:43
    Ik heb een regex probleem, voornamelijk omdat ik er super slecht in ben Ik ben wat aan het klussen aan de routing-klasse van mijn framework, die de URL van de aanvraag ontleedt in een aantal delen: controller, actie en parameters. Ieder van deze delen is optioneel, dus:
    / --> default controller, default actie
    /test --> 'test' controller, default actie
    /test/blaat --> 'test' controller, 'blaat' actie
    /test/blaat/1/2/3 --> 'test' controller, 'blaat' actie met parameters 1, 2, 3.
    Voor ieder deel geldt dat de geldige karakters [a-zA-Z0-9] zijn.

    Ik heb nu een gigantisch lelijke oplossing:
    ^/([a-zA-Z0-9]+)/([a-zA-Z0-9]+?)/(.+?)$
    Daarbij is het dus nodig de string te manipuleren zodat er al minstens 3 slashes in staan, anders matched de regex al niet.
    Maar zelfs dat werkt niet, want als ik geen actie opgeef wordt het patroon niet gematched. verander ik +? van de 2e subexpressie in ?+ dan werkt het wel, maar dan werkt het weer niet als er wél een actie is opgegeven.

    Kortom, ik snap geen reet van regular expressions, moet hier nodig eens over gaan inlezen, maar momenteel kom ik er niet uit Ik wil dus ieder afzonderlijk deel los uit de expressie trekken, behalve de parameters, die mogen in de vorm van 'param1/param2/param3' blijven in 1 string.

    Help, anyone?
    Lightdonderdag 18 maart 2010 @ 15:46
    Zoiets
    1#^(/[a-z0-9]+)+/?$#Ui
    Intrepiditydonderdag 18 maart 2010 @ 15:52
    Daar krijg ik dit als resultaat uit: Array ( [0] => /test/blaat/1/2/3/ [1] => /3 )
    De bedoeling is om Array ( [0] => 'test', [1] => 'blaat', [2] => '1/2/3/' ) te krijgen (of desnoods de parameters ook verder uitgesplitst, dat boeit niet.
    En als je denkt: explode dan simpelweg op de slash; dat zou kunnen, maar de routing regels moeten dynamisch kunnen wezen, die gaan in een .xml file opgeslagen worden en iemand anders moet wat mij betreft kunnen zeggen dat de delen op basis van een apenstaart of whatever gesplitst worden, als voorbeeld

    [ Bericht 23% gewijzigd door Intrepidity op 18-03-2010 16:04:16 ]
    Dokaydonderdag 18 maart 2010 @ 20:09
    Heuj, ik heb een relatief simpele login met sessions werkend weten te krijgen. Nu zou ik alleen de id van de gebruiker in de session waarde willen persen, zodat ik op de "member" pagina de bijbehorende sql rijen van deze specifieke gebruiker aan kan roepen. Ik heb veel geklooid maar krijg steeds parse errors. Wat ik nu heb:

    index.php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    session_start(); 
    if (isset($_SESSION['ja'])) {
         // doe niks
    }
    else {
         // schop terug
    header("location:login.php");
    }
    ?>


    <html>
    <body>
    Login Successful
    <?php
    echo "user ID = ". $_SESSION['ja']; //retrieve data
    ?>
    </body>
    </html>


    check.php:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?php
    ob_start();
    $host="localhost"; // Host name
    $username=""; // Mysql username
    $password=""; // Mysql password
    $db_name="app"; // Database name
    $tbl_name="members"; // Table name

    // Connect to server and select databse.
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");

    // Define $myusername and $mypassword
    $myusername=$_POST['myusername'];
    $mypassword=$_POST['mypassword'];

    // To protect MySQL injection (more detail about MySQL injection)
    $myusername = stripslashes($myusername);
    $mypassword = stripslashes($mypassword);

    $myusername = mysql_real_escape_string($myusername);
    $mypassword = mysql_real_escape_string($mypassword);

    $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
    $result=mysql_query($sql);

    // Mysql_num_row is counting table row
    $count=mysql_num_rows($result);
    // If result matched $myusername and $mypassword, table row must be 1 row

    if($count==1){
    // Register $myusername, $mypassword and redirect to file "index.php"


    session_start();
    $_SESSION['ja'] = $id; // <-- hier moet dus de id van de user inkomen.. maar hoe deze erin te krijgen?
    header("location:index.php");
    }
    else {

    echo "login failed";
    }

    ob_end_flush();
    ?>


    Ik weet het beginnersvraag maar ik kwakkel nog erg met PHP, vandaar dat ik enorm uit de brand geholpen zou zijn als iemand me dit uit kan leggen. Bvd
    GlowMousedonderdag 18 maart 2010 @ 21:33
    quote:
    Op donderdag 18 maart 2010 15:43 schreef Intrepidity het volgende:
    Ik heb een regex probleem, voornamelijk omdat ik er super slecht in ben Ik ben wat aan het klussen aan de routing-klasse van mijn framework, die de URL van de aanvraag ontleedt in een aantal delen: controller, actie en parameters. Ieder van deze delen is optioneel, dus:
    / --> default controller, default actie
    /test --> 'test' controller, default actie
    /test/blaat --> 'test' controller, 'blaat' actie
    /test/blaat/1/2/3 --> 'test' controller, 'blaat' actie met parameters 1, 2, 3.
    Voor ieder deel geldt dat de geldige karakters [a-zA-Z0-9] zijn.

    Ik heb nu een gigantisch lelijke oplossing:
    ^/([a-zA-Z0-9]+)/([a-zA-Z0-9]+?)/(.+?)$
    Daarbij is het dus nodig de string te manipuleren zodat er al minstens 3 slashes in staan, anders matched de regex al niet.
    Maar zelfs dat werkt niet, want als ik geen actie opgeef wordt het patroon niet gematched. verander ik +? van de 2e subexpressie in ?+ dan werkt het wel, maar dan werkt het weer niet als er wél een actie is opgegeven.

    Kortom, ik snap geen reet van regular expressions, moet hier nodig eens over gaan inlezen, maar momenteel kom ik er niet uit Ik wil dus ieder afzonderlijk deel los uit de expressie trekken, behalve de parameters, die mogen in de vorm van 'param1/param2/param3' blijven in 1 string.

    Help, anyone?
    Die + maakt het stuk. Probeer het eens met de quantifier {0,1}, en zorg dat die / daar ook onder valt.
    GlowMousedonderdag 18 maart 2010 @ 21:33
    quote:
    Op donderdag 18 maart 2010 20:09 schreef Dokay het volgende:
    Heuj, ik heb een relatief simpele login met sessions werkend weten te krijgen. Nu zou ik alleen de id van de gebruiker in de session waarde willen persen, zodat ik op de "member" pagina de bijbehorende sql rijen van deze specifieke gebruiker aan kan roepen. Ik heb veel geklooid maar krijg steeds parse errors. Wat ik nu heb:

    index.php
    [ code verwijderd ]

    check.php:
    [ code verwijderd ]

    Ik weet het beginnersvraag maar ik kwakkel nog erg met PHP, vandaar dat ik enorm uit de brand geholpen zou zijn als iemand me dit uit kan leggen. Bvd
    Je haalt al een rij op uit de database, kijk eens hoe je daar de data uithaalt (kan bv. met mysql_fetch_row of mysql_result of mysql_fetch_array).
    Lightdonderdag 18 maart 2010 @ 22:20
    quote:
    Op donderdag 18 maart 2010 15:52 schreef Intrepidity het volgende:
    Daar krijg ik dit als resultaat uit: Array ( [0] => /test/blaat/1/2/3/ [1] => /3 )
    De bedoeling is om Array ( [0] => 'test', [1] => 'blaat', [2] => '1/2/3/' ) te krijgen :) (of desnoods de parameters ook verder uitgesplitst, dat boeit niet.
    En als je denkt: explode dan simpelweg op de slash; dat zou kunnen, maar de routing regels moeten dynamisch kunnen wezen, die gaan in een .xml file opgeslagen worden en iemand anders moet wat mij betreft kunnen zeggen dat de delen op basis van een apenstaart of whatever gesplitst worden, als voorbeeld :P
    Ik heb nog eens wat geprobeerd:

    1#(/([a-z0-9]+)+)#i


    Wel gebruiken met preg_match_all(), anders werkt het niet goed.
    Dokaydonderdag 18 maart 2010 @ 22:48
    quote:
    Op donderdag 18 maart 2010 21:33 schreef GlowMouse het volgende:

    [..]

    Je haalt al een rij op uit de database, kijk eens hoe je daar de data uithaalt (kan bv. met mysql_fetch_row of mysql_result of mysql_fetch_array).

    het mooiste zou dus zijn als het script na de check of user/pass overeenkomen de eerste kolom pakt om invulling te geven aan $id en de sessie te zetten. maar hoe ik ook klooi met sql commando's, helaas geen succes
    GlowMousedonderdag 18 maart 2010 @ 22:50
    je post gewoon hetzelfde die stripslashes hoeft trouwens alleen maar als magic_quotes_gpc aanstaat.
    Dokaydonderdag 18 maart 2010 @ 22:55
    quote:
    Op donderdag 18 maart 2010 22:50 schreef GlowMouse het volgende:
    je post gewoon hetzelfde die stripslashes hoeft trouwens alleen maar als magic_quotes_gpc aanstaat.
    my bad heb je een idee welke code de truuk wel zou flikken? mormels als

    $id = mysql_fetch_field($result, 1);
    of
    $id = mysql_query("SELECT id FROM $result");

    de syntax klopt voor geen hout, ik weet het, maar met de algemene online documentatie kom ik
    ook niet zo snel uit dit specifieke probleem :p
    GlowMousedonderdag 18 maart 2010 @ 23:01
    Het codevoorbeeld op http://nl2.php.net/mysql_result is heel duidelijk
    Lightdonderdag 18 maart 2010 @ 23:04
    quote:
    Op donderdag 18 maart 2010 22:50 schreef GlowMouse het volgende:
    je post gewoon hetzelfde die stripslashes hoeft trouwens alleen maar als magic_quotes_gpc aanstaat.
    En magic_quotes_gpc hoort gewoon uit te staan.
    Dokaydonderdag 18 maart 2010 @ 23:13
    quote:
    Op donderdag 18 maart 2010 23:01 schreef GlowMouse het volgende:
    Het codevoorbeeld op http://nl2.php.net/mysql_result is heel duidelijk
    ben eruit nu, bedankt
    SPOILER
    $id = mysql_result( $result, 0, 'id');
    MrNilesvrijdag 19 maart 2010 @ 08:46
    quote:
    Op donderdag 18 maart 2010 14:18 schreef Intrepidity het volgende:
    Probeer eens ob_start(); helemaal aan het begin van je PHP-bestand te zetten (net na <?php dus) en ob_end_flush(); net voor ?>.
    Daarmee creëer je een output buffer. Dat wil zeggen dat PHP eerst alle inhoud van de PHP opspaart voordat het aan de browser verstuurd wordt. Normaal als je echo doet wordt het direct naar de browser verstuurd. Met een output buffer verstuur je alles op een later tijdstip in 1 keer. Aangezien je niets naar de browser mag verzenden voor een header(); aanroep. Normaal zie je daar een foutmelding van, maargoed, het is het proberen waard
    voor de teruglezers,
    dit was dus wel de oplossing alleen de code was net niet helemaal goed
    dit is de juiste:
    begin van de pagina: <? ob_start();
    eind vd pagina: ob_flush(); ?>
    lijkt het zelfde te zijn...maar het werkt nu wel
    urselvrijdag 19 maart 2010 @ 14:12
    Even een ander issue.

    Stel je geeft andere toegang tot een site om wat voor redenen dan ook, maar je wilt eigenlijk je eigen broncode beschermen.

    Je hebt hier een aantal encoders voor, zoals Zend Guard en IonCube. Echter deze zijn niet gratis en ook niet heel erg goedkoop.

    Hebben jullie nog andere tips hierin welke software er nog meer op de markt is?

    Het gaat hier verder niet zozeer om andere mogelijkheden, want wil op zich ook de broncode kunnen beschermen als ik een site zelf verkoop bijvoorbeeld.
    #ANONIEMvrijdag 19 maart 2010 @ 14:27
    Waarom zou je je broncode willen beschermen, als je gewoon het auteursrecht ervoor hebt?
    Lightvrijdag 19 maart 2010 @ 14:33
    quote:
    Op vrijdag 19 maart 2010 08:46 schreef MrNiles het volgende:

    [..]

    voor de teruglezers,
    dit was dus wel de oplossing alleen de code was net niet helemaal goed
    dit is de juiste:
    begin van de pagina: <? ob_start();
    eind vd pagina: ob_flush(); ?>
    lijkt het zelfde te zijn...maar het werkt nu wel
    Volgens mij is dat precies was Intrepidity ook schreef, behalve dan dat hij geen short open tags gebruikte. <?php werkt op iedere php-host, maar of <? ook werkt is niet te garanderen. Dat is namelijk afhankelijk van een configuratie-instelling. Het is beter daar niet op te vertrouwen.
    urselvrijdag 19 maart 2010 @ 14:49
    quote:
    Op vrijdag 19 maart 2010 14:27 schreef Scorpie het volgende:
    Waarom zou je je broncode willen beschermen, als je gewoon het auteursrecht ervoor hebt?
    Doet dat er toe om welke reden ik het gebruik?

    Zoals ik al zei bij het voorbeeld. De mogelijkheid is er dat ik een site verkoop inclusief een framework. Maar ik wil voorkomen dat iemand dat framework voor al zijn sites gaat gebruiken.
    Tijnvrijdag 19 maart 2010 @ 14:50
    quote:
    Op vrijdag 19 maart 2010 14:49 schreef ursel het volgende:

    [..]

    Zoals ik al zei bij het voorbeeld. De mogelijkheid is er dat ik een site verkoop inclusief een framework. Maar ik wil voorkomen dat iemand dat framework voor al zijn sites gaat gebruiken.
    Is het geen mogelijkheid om het framework op je eigen server te hosten ofzo?
    SharQueDovrijdag 19 maart 2010 @ 14:50
    quote:
    Op vrijdag 19 maart 2010 14:49 schreef ursel het volgende:

    [..]

    Doet dat er toe om welke reden ik het gebruik?

    Zoals ik al zei bij het voorbeeld. De mogelijkheid is er dat ik een site verkoop inclusief een framework. Maar ik wil voorkomen dat iemand dat framework voor al zijn sites gaat gebruiken.
    Applicatie in .NET/C# schrijven?
    urselvrijdag 19 maart 2010 @ 14:58
    quote:
    Op vrijdag 19 maart 2010 14:50 schreef Tijn het volgende:

    [..]

    Is het geen mogelijkheid om het framework op je eigen server te hosten ofzo?
    Eeuh, is een optie, maar wil verder niet verantwoordelijk zijn voor de site, en op deze manier hou ik wel de verantwoordelijkheid als mijn server er uit valt.

    Ik wil gewoon een site kunnen exporteren naar iemand anders toe, maar puur alleen deze site in de huidige staat. Maar wel voorkomen dat hij hiermee een stapel sites kan bouwen op mijn broncode.
    Tijnvrijdag 19 maart 2010 @ 15:00
    quote:
    Op vrijdag 19 maart 2010 14:58 schreef ursel het volgende:

    [..]

    Ik wil gewoon een site kunnen exporteren naar iemand anders toe, maar puur alleen deze site in de huidige staat. Maar wel voorkomen dat hij hiermee een stapel sites kan bouwen op mijn broncode.
    Euh... gewoon geen documentatie meeleveren voor je framework?
    #ANONIEMvrijdag 19 maart 2010 @ 15:01
    quote:
    Op vrijdag 19 maart 2010 14:58 schreef ursel het volgende:

    [..]

    Eeuh, is een optie, maar wil verder niet verantwoordelijk zijn voor de site, en op deze manier hou ik wel de verantwoordelijkheid als mijn server er uit valt.

    Ik wil gewoon een site kunnen exporteren naar iemand anders toe, maar puur alleen deze site in de huidige staat. Maar wel voorkomen dat hij hiermee een stapel sites kan bouwen op mijn broncode.
    Dan is het het effectiefst als je idd zelf het framework host. Alle andere oplossingen zijn minder goed.
    urselvrijdag 19 maart 2010 @ 15:06
    quote:
    Op vrijdag 19 maart 2010 15:01 schreef Scorpie het volgende:

    [..]

    Dan is het het effectiefst als je idd zelf het framework host. Alle andere oplossingen zijn minder goed.
    Effectiefst wel ja qua bescherming, maar laten we even gemakshalve uitsluiten dat ik deze optie niet wil gebruiken.

    Laten we even terug gaan naar de kern van de vraag. Zijn er goedkopere software pakketten dan Zend Guard of IonCube?
    Tijnvrijdag 19 maart 2010 @ 15:11
    quote:
    Op vrijdag 19 maart 2010 15:06 schreef ursel het volgende:

    [..]

    Laten we even terug gaan naar de kern van de vraag. Zijn er goedkopere software pakketten dan Zend Guard of IonCube?
    Deze is goedkoper.

    Je hebt ook bcompiler, dat is gratis.

    Is je Google stuk?
    urselvrijdag 19 maart 2010 @ 15:31
    quote:
    Op vrijdag 19 maart 2010 15:11 schreef Tijn het volgende:

    [..]

    Deze is goedkoper.

    Je hebt ook bcompiler, dat is gratis.

    Is je Google stuk?
    Niet zozeer stuk, de initiële vraag was ook vooral of iemand anders iets gebruikt en in zijn kofferbak had liggen en ik zodoende niet het wiel hoef te vinden.
    Sourceguardian klinkt idd wel goed. Ga ik ff naar kijken.
    captaintokyovrijdag 19 maart 2010 @ 16:37
    quote:
    Op vrijdag 19 maart 2010 15:11 schreef Tijn het volgende:
    Je hebt ook bcompiler, dat is gratis.
    quote:
    Op vrijdag 19 maart 2010 15:31 schreef ursel het volgende:
    Sourceguardian klinkt idd wel goed. Ga ik ff naar kijken.
    Of je geeft die $100 aan mij en gaat naar bcompiler kijken

    Waarom klinkt bcompiler niet goed???
    Xcaliburzaterdag 20 maart 2010 @ 11:02
    quote:
    Op vrijdag 19 maart 2010 14:33 schreef Light het volgende:

    [..]

    Volgens mij is dat precies was Intrepidity ook schreef, behalve dan dat hij geen short open tags gebruikte. <?php werkt op iedere php-host, maar of <? ook werkt is niet te garanderen. Dat is namelijk afhankelijk van een configuratie-instelling. Het is beter daar niet op te vertrouwen.
    Ik zie een verschil tussen ob_flush en ob_end_flush

    Edit: ik mis effe de laatste pagina
    Lightzaterdag 20 maart 2010 @ 11:11
    quote:
    Op zaterdag 20 maart 2010 11:02 schreef Xcalibur het volgende:

    [..]

    Ik zie een verschil tussen ob_flush en ob_end_flush

    Edit: ik mis effe de laatste pagina
    Owja. Niet dat dat een spannend verschil is, beide functies bestaan en beide gooien de inhoud van de buffer naar de browser. Enige verschil is dat ob_end_flush() ook de buffering uitzet, terwijl na ob_flush() de buffer nog wel bestaat maar leeg is.
    Intrepidityzaterdag 20 maart 2010 @ 14:17
    Zeg, zou SQL injectie bij flitspalen ook werken?
    cablegunmasterdinsdag 23 maart 2010 @ 00:34
    quote:
    Op zaterdag 20 maart 2010 14:17 schreef Intrepidity het volgende:
    Zeg, zou SQL injectie bij flitspalen ook werken?
    [ afbeelding ]
    Denk het niet :p, maar de IT afdeling kan er wel om lachen

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    if (
           
    $_SERVER['HTTP_X_FORWARDED_FOR']
           || 
    $_SERVER['HTTP_X_FORWARDED']
           || 
    $_SERVER['HTTP_FORWARDED_FOR']
           || 
    $_SERVER['HTTP_CLIENT_IP']
           || 
    $_SERVER['HTTP_VIA']
        )
        {         
        print 
    "No proxies pls!";
        exit();
        } else{
        print 
    "OK";    
        }
    ?>


    Ik zocht een betere variant op deze code , wat het hoort te doen is je proxys te blokkeren zodat mensen die geblokkeerd zijn. ook daadwerkelijk geblokt zijn van de site en niet via een proxy doodleuk weer verder surfen.

    Methode:
    Website vergelijken met als je de website nog een keer bekeek achter de proxy de verschillen om te blokken staan eronder, bvb dat er geen taal word meegegeven door proxys .
    http://ip-owner.com/


    $_SERVER['HTTP_ACCEPT_LANGUAGE'];
    $_SERVER['HTTP_ACCEPT_ENCODING']
    $_SERVER['HTTP_CONNECTION'] == 'closed'
    $_SERVER['HTTP_CONNECTION'] == ''
    $_SERVER['HTTP_USER_AGENT'] == ''

    werkt redelijk houd tot dusver alle proxys buiten met deze 5 erbij
    heb nog geen browser gezien die deze 5 niet heeft!. werkt op IE en FF ^^

    * browsershots.org op proxys zeer succesvol *
    nu nog controleren of ik hierdoor geen browsers mol. browser check zonder proxy link ^^.

    alleen : Dillo 2.2 Ubuntu 9.04 & Safari 4.0 heeft er problemen mee. helaas.

    Edit: Het werkt ook nog effectief tegen bots .

    [ Bericht 47% gewijzigd door cablegunmaster op 23-03-2010 09:40:44 ]
    Chandlerdinsdag 23 maart 2010 @ 09:20
    Vraagje m.b.t. preformance.

    Stel ik wil een tabel gebruiken voor instellingen van een website voor allerlei instellingen maar wil deze tabel niet voor iedere nieuwe toevoeging hoeven aan te passen bv.

    tabel
    userID INT unsigned
    settingID INT unsigned
    setting varchar(255)

    waarbij ik de userid/settingid uniek maak. Is dit sneller dan een tabel velden voor iedere setting?

    De settings varieren van 0/1 tot teksten van maximaal 255 karakters.
    cablegunmasterdinsdag 23 maart 2010 @ 09:35
    ligt eraan hoeveel instellingen je hebt . en de hoeveelheid gebruikers.
    Daarnaast ook aan de hoeveelheid aanpassingen .
    Chandlerdinsdag 23 maart 2010 @ 10:48
    Aanpassingen zullen niet zoveel gebeuren, uitlezen destemeer.

    Een schatting is dat er minimaal 100-150 instellingen per gebruiker in te voeren zijn, en natuurlijk uit te lezen. Er zou met gemak 10.000 gebruikers gebruik moeten kunnen maken van deze tabel.. indien dat mogelijk zou kunnen zijn.

    dus 150*10.000 = 1500000 records.
    cablegunmasterdinsdag 23 maart 2010 @ 11:28
    quote:
    Op dinsdag 23 maart 2010 10:48 schreef Chandler het volgende:
    Aanpassingen zullen niet zoveel gebeuren, uitlezen destemeer.

    Een schatting is dat er minimaal 100-150 instellingen per gebruiker in te voeren zijn, en natuurlijk uit te lezen. Er zou met gemak 10.000 gebruikers gebruik moeten kunnen maken van deze tabel.. indien dat mogelijk zou kunnen zijn.

    dus 150*10.000 = 1500000 records.
    Niet zo heel veel ervaringen met grote databases maar je wil geen database lock hebben dus suggereer ik alvast InnoDB aan ipv MyISam. Omdat MyISam de hele tabel lockt als er een wijziging gaande is en InnoDB alleen de regel. dat is alvast mijn advies
    Chandlerdinsdag 23 maart 2010 @ 11:43
    Ok, zal in in acht nemen
    Joooo-pidinsdag 23 maart 2010 @ 12:05
    Noob meldt zich...

    ben wat aan het proberen met PHP, met w3schools.com als hulpmiddel. Een aantal dingen lukt meteen wel, maar de stomste dingen juist ook weer niet.

    Ik heb nu een probleempje met:
    scherm1 (index.html)
    1
    2
    3
    4
    5
    6
    7
    <html>
    <body>
    <form name="input" action="voegtoe.php" method="get">
    Nummer:<input type="integer" name="nummer" /><br />
    <input type="submit" value="Invoeren">
    </body>
    </html>


    en dan (voegtoe.php):

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

    if ($_GET["nummer"]=null || $_GET["nummer"]<'1')
     {
     die('Onjuiste waarde ingevuld');
     }

    echo $_GET["nummer"] . " is ingevoerd.";
    ?>


    maar het nummer wordt niet weergegeven in het echo-gedeelte, terwijl het if-gedeelte wel lijkt te werken. Mag ik dan geen integer gebruiken bij echo?
    #ANONIEMdinsdag 23 maart 2010 @ 12:07
    <input type="integer" name="nummer" />

    moet zijn:

    <input type="text" name="nummer" />
    SinofEnvydinsdag 23 maart 2010 @ 12:11
    En checks doe je altijd met "==", niet met "=". Dat is waardes toewijzen aan een variabele.

    Nu kijkt hij dus of hij $_GET['nummer'] op NULL kan zetten OF dat hij kleiner is dan 1. Aangezien hij hem (volgens mij?) op NULL kan zetten, zal hij niet die'en, maar $_GET['nummer'] is nu NULL en toont ie niets.

    Edit: Ter verduidelijking, de if statement moet dus zijn:
    1if($_GET['nummer'] == null || $_GET['nummer'] < 1) {
    Joooo-pidinsdag 23 maart 2010 @ 12:18
    quote:
    Op dinsdag 23 maart 2010 12:07 schreef Scorpie het volgende:
    <input type="integer" name="nummer" />

    moet zijn:

    <input type="text" name="nummer" />
    moet ik er dan later een integer van maken om de checks te doen?
    quote:
    Op dinsdag 23 maart 2010 12:11 schreef SinofEnvy het volgende:
    En checks doe je altijd met "==", niet met "=". Dat is waardes toewijzen aan een variabele.

    Nu kijkt hij dus of hij $_GET['nummer'] op NULL kan zetten OF dat hij kleiner is dan 1. Aangezien hij hem (volgens mij?) op NULL kan zetten, zal hij niet die'en, maar $_GET['nummer'] is nu NULL en toont ie niets.

    Edit: Ter verduidelijking, de if statement moet dus zijn:
    [ code verwijderd ]
    Duidelijk. Dan is het ineens weer zo simpel ...

    Hoe dan om te gaan met een getal dat door bezoeker ingevuld moet worden?
    Joooo-pidinsdag 23 maart 2010 @ 12:25
    Ik heb SinofEnvy zijn opmerking toegepast en het werkt al

    Integer mag dus wel als input type? (opmerking Scorpie)

    Waarschijnlijk kom ik nog (vaak) terug hiero ... In ieder geval bedankt.
    cablegunmasterdinsdag 23 maart 2010 @ 12:30
    wat ik doe op mijn eigen website is

    rand(1,9) deze 2x uitvoeren met php scriptje. wat het doet is je genereert 2 getallen bvb
    4 en 8 met behulp van
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    $a 
    rand(1,9);
    $b rand(1,9);
    $c$a+$b;

    echo 
    "<input  type='hidden' name='calculation'  value='".$c."' />";
     echo 
    $a." + ".$b."= <input type='text' name='userinput' value='' size='2' />";

    //waar het ook heen gaat de als waarde bouwen
    if($_POST['calculation'] == $_POST['userinput'])
    {
    //........CORRECTE waarde
    }else{
    echo 
    "ERROR, you must be bot!"
    }
    ?>


    Geen idee of je dit bedoelde? Of bedoel je de userinput van de GET?
    Mag ik geen php en html door elkaar gebruiken op Fok.nl ?
    SinofEnvydinsdag 23 maart 2010 @ 12:34
    quote:
    Op dinsdag 23 maart 2010 12:25 schreef Joooo-pi het volgende:
    Ik heb SinofEnvy zijn opmerking toegepast en het werkt al

    Integer mag dus wel als input type? (opmerking Scorpie)

    Waarschijnlijk kom ik nog (vaak) terug hiero ... In ieder geval bedankt.
    Je hebt zeker eerder geprogrammeerd? Je hoeft in PHP geen verschil aan te duiden tussen data typen. Een variabele is een variabele. PHP bepaalt zelf wel wat het is.

    Je doet als input altijd "text" als je gewoon wilt dat ze wat invoeren (bij password gebruik je wel "password"), en vervolgens kan je gewoon $_POST['naam'] aanroepen. Het is niet input type="integer" of input type="string", gewoon input type="text".

    Ik zou trouwens user input nooit vertrouwen, het is dus altijd aangeraden om ff een htmlspecialchars() en/of addslashes() toe te voegen aan de userinput tegen SQL injectie / remote file inclusion / etc.

    Trouwens, cablegunmaster, leuk dat je zo'n check doet, en het zal ongetwijfeld werken tegen bots die zich niet specifiek op jouw site richten, maar als je site populair / groot / whatever wordt en er zullen wel bots geschreven worden die zich richten op jouw site, kunnen ze zo het resultaat uitlezen uit de hidden input in de source uiteraard. Wat dat betreft kan je dan beter een captcha gebruiken, of de echte uitslag van de calculatie anders meegeven.
    #ANONIEMdinsdag 23 maart 2010 @ 13:09
    quote:
    Op dinsdag 23 maart 2010 12:18 schreef Joooo-pi het volgende:

    [..]

    moet ik er dan later een integer van maken om de checks te doen?
    Ja. vars die van een form afkomen zijn per definitie String`s
    SinofEnvydinsdag 23 maart 2010 @ 13:11
    Uh, wat? Nee, hij hoeft er geen integer van te maken.

    Op het moment dat hij een aritmetische operatie uitvoert op z'n $_POST['bla'] vartje, werkt dat gewoon. Hij hoeft er in principe niets mee te doen behalve wat hij erop wilt uitvoeren.
    Joooo-pidinsdag 23 maart 2010 @ 13:21
    Oké, duidelijk verhaal. Ik ga nog wat verder klooien
    quote:
    Op dinsdag 23 maart 2010 12:34 schreef SinofEnvy het volgende:

    [..]


    Ik zou trouwens user input nooit vertrouwen, het is dus altijd aangeraden om ff een htmlspecialchars() en/of addslashes() toe te voegen aan de userinput tegen SQL injectie / remote file inclusion / etc.
    Wat is dat? Gaat dit erom om je te beschermen tegen bots? Ik ben nog maar wat aan het proberen, maar als ik het een beetje onder de knie krijg, dan wil ik iets maken voor intern gebruik, dus daar maak ik me nu niet zo druk om.
    #ANONIEMdinsdag 23 maart 2010 @ 13:24
    quote:
    Op dinsdag 23 maart 2010 13:11 schreef SinofEnvy het volgende:
    Uh, wat? Nee, hij hoeft er geen integer van te maken.

    Op het moment dat hij een aritmetische operatie uitvoert op z'n $_POST['bla'] vartje, werkt dat gewoon. Hij hoeft er in principe niets mee te doen behalve wat hij erop wilt uitvoeren.
    Mja, in PHP gaat dat automagisch. In Java bijvoorbeeld moet je hem wel weer casten naar een integer Haal die dingen wel eens door elkaar
    Intrepiditydinsdag 23 maart 2010 @ 14:08
    quote:
    Op dinsdag 23 maart 2010 13:11 schreef SinofEnvy het volgende:
    Uh, wat? Nee, hij hoeft er geen integer van te maken.

    Op het moment dat hij een aritmetische operatie uitvoert op z'n $_POST['bla'] vartje, werkt dat gewoon. Hij hoeft er in principe niets mee te doen behalve wat hij erop wilt uitvoeren.
    Een ctype_digit() aanroep kan nog wel eens handig wezen om te valideren of de invoer inderdaad numeriek is, maar voor de rest maakt het inderdaad niets uit.
    Lightdinsdag 23 maart 2010 @ 14:17
    quote:
    Op dinsdag 23 maart 2010 13:11 schreef SinofEnvy het volgende:
    Uh, wat? Nee, hij hoeft er geen integer van te maken.
    quote:
    Op dinsdag 23 maart 2010 12:34 schreef SinofEnvy het volgende:

    Ik zou trouwens user input nooit vertrouwen
    Als je user input niet vertrouwt, moet je er ook niet zomaar mee gaan werken. Dan is het wel handig om op de een of andere manier te controleren of het voldoet aan je verwachtingen. Dat kan met een cast.
    Intrepiditydinsdag 23 maart 2010 @ 14:37
    quote:
    Op dinsdag 23 maart 2010 14:17 schreef Light het volgende:

    [..]


    [..]

    Als je user input niet vertrouwt, moet je er ook niet zomaar mee gaan werken. Dan is het wel handig om op de een of andere manier te controleren of het voldoet aan je verwachtingen. Dat kan met een cast.
    Van een string naar integer casten geeft vaak onbetrouwbare resultaten. Stel dat je wilt contoleren of de invoer van je veld gelijk is aan het getal 0.
    Als ik 1 invoer in het tekstveld wordt dat uiteraard false, maar voer ik "hottentottententententoonstelling" in, wordt dat 0 na een cast, en ga je alsnog door de check heen. Met andere woorden, je conditionele statement kan vervuild worden door incorrecte invoer. Wat ik zou doen: de boel saboteren als ctype_digit() faalt. Als je daar doorheen komt kun je casten.
    Uiteraard is dat bij sommige scripts overkill, maar je kunt beter te veilig bezig zijn als niet veilig genoeg.
    SinofEnvydinsdag 23 maart 2010 @ 14:56
    quote:
    Op dinsdag 23 maart 2010 14:17 schreef Light het volgende:

    [..]


    [..]

    Als je user input niet vertrouwt, moet je er ook niet zomaar mee gaan werken. Dan is het wel handig om op de een of andere manier te controleren of het voldoet aan je verwachtingen. Dat kan met een cast.
    Wat Intrepidity zegt. In PHP is het kloten met datatypen sowieso niet echt nuttig of interessant dunkt me, tenslotte is deel van de simplicity en misschien wel kracht van de taal dat dit niet hoeft. Voor security zou ik persoonlijk niet terugvallen op casten naar een integer, maar goed.

    Trouwens, waar zeg ik dat je er zomaar mee moet gaan werken? Ik zei meteen na de 2e zin die je van me quotete, dat ik er een aantal functies overheen zou halen voor security.
    quote:
    Wat is dat? Gaat dit erom om je te beschermen tegen bots? Ik ben nog maar wat aan het proberen, maar als ik het een beetje onder de knie krijg, dan wil ik iets maken voor intern gebruik, dus daar maak ik me nu niet zo druk om.
    Niet tegen bots, met name tegen beveiligingslekken. Die functies veranderen HTML characters zoals < in hun respectievelijke codes (< wordt dus &lt;) en addslashes voegt trailing slashes toe aan quote tekens. Dat maakt dus van "dit", \"dit\". Om niet al teveel in detail te treden (dat komt later nog wel, kan je wel precies gaan uitleggen hoe het zit maar gezien het niveau van de vragen die je stelt denk ik dat dat op dit moment misschien iets buiten de scope is van het antwoord ), dat is voor beveiliging.
    Lightdinsdag 23 maart 2010 @ 15:47
    In plaats van addslashes kun je beter mysql_real_escape_string() / mysqli_real_escape_string() / pg_escape_string() gebruiken (afhankelijk van de database waarmee je verbonden bent). Die pakt ook nog een paar tekens die addslashes() niet aanpakt.
    SinofEnvydinsdag 23 maart 2010 @ 15:51
    Maar er is hier nergens indicatie dat het om SQL gaat, dus dat valt al af...
    Lightdinsdag 23 maart 2010 @ 17:32
    Dan moet je je ook afvragen of addslashes() wel nuttig is...
    SinofEnvydinsdag 23 maart 2010 @ 17:39
    Daar heb je zeker een punt.
    Joooo-pidinsdag 23 maart 2010 @ 18:49
    Gaat mij nu even te snel. Ik heb alleen wat ervaring met visual basic en delphi (en vroeger gw-basic/q-basic/turbo pascal )

    Ik werk hier heel simpel op een LAMP servertje. mySQL is dus de database.
    commentatordinsdag 23 maart 2010 @ 22:53
    Nu heb ik een site die informatie kan posten naar een andere website en zo automatisch kan inloggen.
    De andere website is bezig met te vernieuwen en de nieuwe site wordt een silverlight site en daar kan ik dus niet naar posten.
    Is er een manier om toch login gegevens op de een of andere manier naar die silverlight te kunnen krijgen?

    Ik kan alleen aan de eigen site (PHP) wat doen. Die andere site met Silvelight kan ik niets aan veranderen.
    Trollface.dinsdag 23 maart 2010 @ 22:59
    quote:
    Op dinsdag 23 maart 2010 22:53 schreef commentator het volgende:
    Nu heb ik een site die informatie kan posten naar een andere website en zo automatisch kan inloggen.
    De andere website is bezig met te vernieuwen en de nieuwe site wordt een silverlight site en daar kan ik dus niet naar posten.
    Is er een manier om toch login gegevens op de een of andere manier naar die silverlight te kunnen krijgen?

    Ik kan alleen aan de eigen site (PHP) wat doen. Die andere site met Silvelight kan ik niets aan veranderen.
    Nee, denk het niet, tenzij je de file kunt achterhalen waar de SL-site zelf naar post.
    boem-dikkiedinsdag 23 maart 2010 @ 23:06
    Géén idee of dit het topic is om het te vragen maar ik ben een website aan het maken die op de iPhone automatisch net als FOK! ( m.fok.nl ) de resolutie van de mobiele telefoon aanneemt. Iemand enig idee?
    Trollface.dinsdag 23 maart 2010 @ 23:09
    quote:
    Op dinsdag 23 maart 2010 23:06 schreef boem-dikkie het volgende:
    Géén idee of dit het topic is om het te vragen maar ik ben een website aan het maken die op de iPhone automatisch net als FOK! ( m.fok.nl ) de resolutie van de mobiele telefoon aanneemt. Iemand enig idee?
    In Javascript:
    1
    2
    screen.width; // voorbeeld: 1024
    screen.height; // voorbeeld: 768
    Intrepiditywoensdag 24 maart 2010 @ 07:29
    quote:
    Op dinsdag 23 maart 2010 23:06 schreef boem-dikkie het volgende:
    Géén idee of dit het topic is om het te vragen maar ik ben een website aan het maken die op de iPhone automatisch net als FOK! ( m.fok.nl ) de resolutie van de mobiele telefoon aanneemt. Iemand enig idee?
    Als je met pure PHP wilt gaan werken kun je denk ik het beste een lijst van mobiele user-agents bijhouden en deze uitlezen uit $_SERVER["HTTP_USER_AGENT"]
    boem-dikkiewoensdag 24 maart 2010 @ 12:54
    Ik heb het al op een andere manier opgelost. Klein stukje Javascript die alleen op de mobiele versie alles binnen de 'container' div laat zien. En die container div heb ik gewoon in de resolutie van de iPhone.

    Nu een andere vraag. Ik heb een website-je met daarin een inlog schermpje. Dat inlogschermpje moet zodra het is goedgekeurd via een header naar 'welkom.php'. Alleen omdat ik dus HTML heb gebruikt in die pagina doet de header functie het niet...

    Iemand enig idee?
    Intrepiditywoensdag 24 maart 2010 @ 12:56
    quote:
    Op woensdag 24 maart 2010 12:54 schreef boem-dikkie het volgende:
    Ik heb het al op een andere manier opgelost. Klein stukje Javascript die alleen op de mobiele versie alles binnen de 'container' div laat zien. En die container div heb ik gewoon in de resolutie van de iPhone.

    Nu een andere vraag. Ik heb een website-je met daarin een inlog schermpje. Dat inlogschermpje moet zodra het is goedgekeurd via een header naar 'welkom.php'. Alleen omdat ik dus HTML heb gebruikt in die pagina doet de header functie het niet...

    Iemand enig idee?
    Je PHP-controleblok helemaal bovenaan zetten, of output-buffering aanzetten. Zie een van de voorgaande pagina's, daar had iemand hetzelfde probleem
    boem-dikkiewoensdag 24 maart 2010 @ 13:03
    quote:
    Op woensdag 24 maart 2010 12:56 schreef Intrepidity het volgende:

    [..]

    Je PHP-controleblok helemaal bovenaan zetten, of output-buffering aanzetten. Zie een van de voorgaande pagina's, daar had iemand hetzelfde probleem
    Thanks. Bij het inlogscherm is het gelukt door PHP gewoon helemaal boven aan te zetten. Bij de sessie controle en 'print u bent ingelogd' niet, omdat als ik daar de PHP boven aan zet mijn printje ook op de verkeerde plek staat.
    Joooo-pidonderdag 25 maart 2010 @ 15:48
    Gaat redelijk met mijn zelfstudie php tot nu toe

    Hier weer ff een vraag:

    De volgende code geeft een fout:
    1
    2
    3
    4
    5
    <?php
    [.stukje code.]
    echo "<form action="verwijderen.php" method="post">";
    [.stukje code.]
    ?>

    volgens mij door de aanhalingstekens binnen de aanhalingstekens...

    Ik heb dit als volgt opgelost:
    1
    2
    3
    4
    5
    6
    7
    <?php
    [.stukje code.]
    ?>
    <form action="verwijderen.php" method="post">
    <?
    [.stukje code.]
    ?>

    Is het normaal om steeds een stukje code af te breken om html te schrijven en vervolgens weer te beginnen met code? Het loopt allemaal zo door elkaar heen op laatst. Sowieso, moet het onderscheid tussen de enkele en dubbele aanhalingstekens mij nog wat meer duidelijk worden.

    Iemand tips?
    cablegunmasterdonderdag 25 maart 2010 @ 15:51
    quote:
    Op donderdag 25 maart 2010 15:48 schreef Joooo-pi het volgende:
    Gaat redelijk met mijn zelfstudie php tot nu toe

    Hier weer ff een vraag:

    De volgende code geeft een fout:
    [ code verwijderd ]

    volgens mij door de aanhalingstekens binnen de aanhalingstekens...

    Ik heb dit als volgt opgelost:
    [ code verwijderd ]

    Is het normaal om steeds een stukje code af te breken om html te schrijven en vervolgens weer te beginnen met code? Het loopt allemaal zo door elkaar heen op laatst. Sowieso, moet het onderscheid tussen de enkele en dubbele aanhalingstekens mij nog wat meer duidelijk worden.

    Iemand tips?
    Je mag het buiten php houden waarom niet!
    anders onthoud 1 ding... als je jou code example:

    1echo "<form action="verwijderen.php" method="post">";

    hebt probeer dan alles binnen de " " in enkele quotes te doen anders onderbreek je de dubbele quotes!

    Oplossing:
    1echo "<form action='verwijderen.php' method='post'>";
    Feoladonderdag 25 maart 2010 @ 15:56
    Ben nogal nieuw op dit gebied, maar ik ben bezig een site te optimaliseren voor google.

    Het gaat om het rewriten van een aantal links, ik heb nu bv

    1RewriteRule ^contact index.php?p=23


    nu werkt het netjes, http://domein/contact

    Nu ben ik al een uur aan het zoeken hoe ik bepaalde dingen kan afvangen, ik wil bv als iemand http://domein/contact ingeeft dat het ook werkt. Nu kan ik wel een extra regel toevoegen

    1RewriteRule ^contact/ index.php?p=23


    Maar dan werkt de site niet goed omdat hij dan denkt dat hij in een submap moet kijken.

    Nergens kan ik precies vinden wat ik eigenlijk zoek, iemand die weet hoe ik dit kan oplossen?
    F4T4L_3RR0Rdonderdag 25 maart 2010 @ 15:56
    Je had ook het escape character kunnen gebruiken: \