• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 350 Nieuwe Domeinnamen Januari 2026

    shiga 1 februari 2026 om 14:21
  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07

Script check

  • Jackie
  • 14 december 2010 om 23:20
  • Jackie
    Hardstyle
    Berichten
    224
    • 14 december 2010 om 23:20
    • #1

    Ik ben een mafia spel aan het maken, text based natuurlijk.

    Ik heb nou eindelijk het berichtensysteem af, een paar fouten tegengekomen en verbeterd.

    message.php

    PHP
    <?php
    /*
    copyright: Youri van Mill
    date:      12-12-2010
    filename:  /message/index.php
    */
    
    
    error_reporting(0);
    
    
    include($_SERVER['DOCUMENT_ROOT'] . "/includes/config.inc");
    
    
    if(!isset($_SESSION['nickname']))
    {
        header("location: /index.php");
        die();
    }
    
    
    echo("<html>
    <head>
        <link type=\"text/css\" href=\""  . CSS_INCLUDE_DIR . "/style.css\" rel=\"stylesheet\">
        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">
        
        <title>xxxx</title>
    </head>
    <body>" . PHP_EOL);
    
    
    if($_GET['option'] == "new")
    {
        if(!isset($_POST['submit']))
        {
            echo("<table width=\"50%\" align=\"center\">
        <form action=\"/message/index.php?option=new\" method=\"post\">
            <tr>
                <td colspan=\"2\" class=\"title\">Nieuw bericht maken</td>
            </tr>
            <tr>
                <td>Ontvanger:</td>
                <td><input type=\"text\" name=\"to\" value=\"" . htmlentities($_GET['to']) . "\"></td>
            </tr>
            <tr>
                <td>Onderwerp:</td>
                <td><input type=\"text\" name=\"subject\" value=\"" . htmlentities($_GET['subject']) . "\"></td>
            </tr>
            <tr>
                <td colspan=\"2\"><textarea cols=\"45\" rows=\"15\" name=\"msg\"></textarea></td>
            </tr>
            <tr>
                <td colspan=\"2\"><input type=\"submit\" name=\"submit\" value=\"Verstuur\"></td>
            </tr>
        </form>
    </table>");
        }
        else 
        {
            $sql = mysql_query("SELECT nickname 
                                FROM members 
                                WHERE nickname = '" . mysql_real_escape_string($_POST['to']) . "'"); 
    
    
            if(empty($_POST['to']))
            { 
                echo("Je bent vergeten in te vullen naar wie je het bericht wilt versturen."); 
            } 
            elseif(!ctype_alnum($_POST['to']))
            {
                echo("Ongeldige invoer.");
            }
            elseif(empty($_POST['msg']))
            { 
                echo("Je moet wel een bericht versturen."); 
            }
            elseif($_POST['to'] == $data['nickname']) 
            { 
                echo("Je kan geen bericht naar jezelf verzenden."); 
            } 
            else 
            { 
                if(mysql_num_rows($sql) == 0)
                { 
                    echo("Deze persoon bestaat niet."); 
                } 
                else 
                {
                    echo("Je bericht is verzonden."); 
    
    
                    mysql_query("INSERT INTO 
                                 logs_message 
                                 (timestamp,
                                 ip,
                                 info) 
                                 VALUES 
                                 ('" . time() . "',
                                 '" . $_SERVER['REMOTE_ADDR'] . "',
                                 '" . strtolower($data['nickname']) . " send a message to " . strtolower($_POST['to']) . "')");
    
    
                    mysql_query("INSERT INTO 
                                 message 
                                 (timestamp,
                                 ip,
                                 `from`,
                                 `to`, 
                                 subject, 
                                 msg) 
                                 VALUES 
                                 ('" . time() . "',
                                 '" . $_SERVER['REMOTE_ADDR'] . "',
                                 '" . strtolower($data['nickname']) . "', 
                                 '" . strtolower($_POST['to']) . "', 
                                 '" . addslashes($_POST['subject']) . "', 
                                 '" . addslashes(htmlentities($_POST['msg'])) . "')");
                } 
            } 
        }
    }
    elseif($_GET['option'] == "inbox")
    {
        echo("<table width=\"50%\" align=\"center\">
        <tr>
            <td class=\"title\" colspan=\"3\">Inbox</td>
        </tr>" . PHP_EOL);
    
    
        $sql = mysql_query("SELECT *
                            FROM message
                            WHERE `to` = '" . $data['nickname'] . "'");
    
    
        echo("    <tr>
            <td>Onderwerp</td>
            <td>Datum</td>
            <td>&nbsp;</td>
        </tr>" . PHP_EOL);
    
    
        if(mysql_num_rows($sql) == 0)
        {
            echo("    <tr>
            <td colspan=\"3\">Geen nieuwe berichten.</td>
        </tr>");
        }
        else
        {
            while($res = mysql_fetch_assoc($sql))
            {
                echo("    <tr>
            <td><a href=\"/message/index.php?option=read&message_id=" . $res['id'] . "\">" . $res['subject'] . "</a></td>
            <td>" . strftime("%e-%m-%Y, %H:%M", $res['timestamp']) . "</td>
            <td><a href=\"/message/index.php?option=delete&message_id=" . $res['id'] . "\">Verwijder</a></td>
        </tr>");
            }
        }
        
        echo(PHP_EOL . "</table>");
    }
    elseif($_GET['option'] == "read")
    {
        $sql = mysql_query("SELECT *
                            FROM message
                            WHERE id = '" . mysql_real_escape_string($_GET['message_id']) . "' AND `to` = '" . $data['nickname'] . "'");
    
    
        if(!isset($_GET['message_id']))
        {
            echo("Geen bericht geselecteerd.");
        }
        else
        {
            if(!ctype_digit($_GET['message_id']))
            {
                echo("Ongeldig ID.");
            }
            else
            {
                if(mysql_num_rows($sql) == 0)
                {
                    echo("Dit bericht bestaat niet of is niet naar jou verzonden.");
                }
                else
                {
                    $res = mysql_fetch_assoc($sql);
    
    
                    if($res['read'] == "no")
                    {
                        mysql_query("UPDATE message
                                     SET `read` = 'yes'
                                     WHERE id = '" . mysql_real_escape_string($_GET['message_id']) . "'");
                    }
                    else
                    { 
                        /* lets do nothing */
                    }
    
    
                    echo("<table width=\"50%\" align=\"center\">
        <tr>
            <td class=\"title\" colspan=\"2\">Bericht lezen</td>
        </tr>
        <tr>
            <td width=\"50%\">Onderwerp:</td>
            <td width=\"50%\">" . $res['subject'] . "</td>
        </tr>
        <tr>
            <td width=\"50%\">Datum:</td>
            <td width=\"50%\">" . strftime("%e-%m-%Y, %H:%M", $res['timestamp']) . "</td>
        </tr>
        <tr>
            <td colspan=\"2\">Bericht:</td>
        </tr>
        <tr>
            <td colspan=\"2\">" . stripslashes($res['msg']) . "</td>
        </tr>
    </table>");
                }
            }
        }
    }
    elseif($_GET['option'] == "delete")
    {
        $sql = mysql_query("SELECT *
                            FROM message
                            WHERE id = '" . mysql_real_escape_string($_GET['message_id']) . "' AND `to` = '" . $data['nickname'] . "'");
                            
        if(!isset($_GET['message_id']))
        {
            echo("Geen bericht geselecteerd.");
        }
        else
        {
            if(!ctype_digit($_GET['message_id']))
            {
                echo("Ongeldig ID.");
            }
            else
            {
                if(mysql_num_rows($sql) == 0)
                {
                    echo("Dit bericht bestaat niet of is niet naar jou verzonden.");
                }
                else
                {
                    echo("Bericht verwijderd.");
                
                    mysql_query("INSERT INTO 
                                 logs_message 
                                 (timestamp,
                                 ip,
                                 info) 
                                 VALUES 
                                 ('" . time() . "',
                                 '" . $_SERVER['REMOTE_ADDR'] . "',
                                 '" . $data['nickname'] . " deleted message id: " . $_GET['message_id'] . "')");
                
                    mysql_query("DELETE FROM message
                                 WHERE id = '" . mysql_real_escape_string($_GET['message_id']) . "'");
                }
            }
        }
    }
    else
    {
        echo("Selecteer een optie.");
    }
    
    
    echo(PHP_EOL . "</body>
    </html>");
    ?>
    Toon Meer

    Al het commentaar is welkom, slecht en goed.
    Zeg maar wat jullie er van vinden, en wat je zelf zou veranderen.

    :cheer:

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • RDMNL2010
    webbasing.com
    Berichten
    560
    • 14 december 2010 om 23:21
    • #2

    ziet er op zich wel netjes uit! zal je even per msn wat dingen nog vertellen;)

    Webbasing.com

  • Jackie
    Hardstyle
    Berichten
    224
    • 14 december 2010 om 23:24
    • #3

    EDIT;
    RDMNL2010
    Bedankt voor je reactie we praten wel verder haha.

    Iemand anders?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Bever
    Professional
    Berichten
    627
    • 15 december 2010 om 08:14
    • #4

    Als ik jou was zou ik zoon echo gebruiken:

    PHP
    Echo'hier html';


    Inplaats van met "hier je text" ik vind het namelijk altijd maar slordig al die backslashes. En het is natuurlijk minder overzichtelijk.

  • Jackie
    Hardstyle
    Berichten
    224
    • 15 december 2010 om 08:59
    • #5

    Bedank voor je reactie Bever.

    Ik hou het bij:

    PHP
    echo("<td class=\"title\">Welkom</td>");

    Omdat ik het zelf mooier vind.

    Nog iemand anders?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Jackie
    Hardstyle
    Berichten
    224
    • 15 december 2010 om 09:34
    • #6

    Hoe wil je dat dan doen?

    PHP
    <?php
    if($res == false)
    {
    ?>
        html??
    <?php
    }
    ?>

    ??

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 15 december 2010 om 10:25
    • #7

    Grote stukken html kan je beter uit php halen , dit scheelt ook veel voor de netheid.
    Verder waarom gebruik je niet echo '';? is net iets sneller scheelt niet veel maar scheelt weer paar miliseconden!

    Voor de rest waarom gebruik je in database zelf read met een varchar waar door je yes en no doet terwijl als je cijfers gebruikt met een integer dit sneller werkt!

    Ook snap ik het nut niet van je mysql_escape_string die je over een id doet terwijl die id ook gewoon kan beveiligen met een inter val erom heen te zetten zoals (int) $id .

    Ik geef dit als tips het moet niet maar kan wel schelen.
    Mocht je ooit problemen hebben en andere mensen willen je helpen scheelt het ook dat zij alles sneller kunnen vinden als het netjes is opgebouwd. Het is zeer belangrijk dat programmeurs zijn / haar code netjes opbouwen zodat iedereen er aan kan werken, dit zie je vaak bij opensource of bij bedrijven onderling met collega's dat zij coding regels hebben samengesteld waar ze zich aan moeten houden.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.

    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML

    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Jackie
    Hardstyle
    Berichten
    224
    • 15 december 2010 om 10:37
    • #8

    Oke bedankt voor de tips.

    Hoe doe je dat dan met die (int) $id;

    Kan je me dat laten zien in een voorbeeldje?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Creativ3
    Professional
    Berichten
    1.658
    • 15 december 2010 om 10:47
    • #9

    Je kunt genoeg doen om html uit php te halen template parser of oophp scripten! succes ermee!

    Met vriendelijke groet,
    Creativ3

  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 15 december 2010 om 13:29
    • #10
    Citaat

    Je kunt genoeg doen om html uit php te halen template parser of oophp scripten! succes ermee!

    je kan het ook gewoon via functions doen, maar genoeg mogelijkheden klopt ;)

    @ts

    Let op als het id niet alleen uit cijfers bestaat kan het niet he!

    Voorbeeld:

    PHP
    "SELECT * FROM message WHERE id = '" . (int) $_GET['message_id'] . "';"

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.

    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML

    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Jackie
    Hardstyle
    Berichten
    224
    • 15 december 2010 om 14:06
    • #11

    Wat doet die (int) dan, alleen maar een getal eruit halen? Controleren of het een getal is (zo niet fout weergeven?)

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 15 december 2010 om 17:22
    • #12

    (int) maakt van de er na komende variable een integer

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 15 december 2010 om 19:59
    • #13

    Om er achter te komen wat de casting naar een integer (met (int)) precies doet kun je natuurlijk gewoon een testje schrijven:

    PHP
    <?php 
    
    
    echo '123:' . (int) '123';
    echo '1ab:' . (int) '1ab';
    echo '1.23:' . (int) '1.23';
    echo '1,23:' . (int) '1,23';
    echo '1ab23:' . (int) '1ab23';
    echo 'ab123:' . (int) 'ab123';
    echo '9999999999999999999999999' . (int) '9999999999999999999999999';
    
    
    ?>
    Toon Meer

    Dit laat je al een stuk beter zien wat de casting doet dan dat ik en anderen in woorden kunnen uitleggen. http://www.php.net heeft ook een pagina die dit uitlegt:

    http://nl.php.net/manual/en/function.intval.php

    intval() is een functie die niets anders is dan een alias voor de casting van een string naar een integer.


    Verder kun je met templates je HTML netjes scheiden van PHP. Maar of dit iets is waar jij je nu al in moet verdiepen vraag ik me af. Je kunt denk ik beter eerst meer over PHP leren.

  • thexerox
    thexeroxprojects.be
    Ontvangen Reacties
    4
    Berichten
    414
    • 15 december 2010 om 23:15
    • #14

    Maak er toch een class van :)
    Gaat je later veel meer plezier aan hebben!

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design