Die in JAVASCRIPT ?

Discussie in 'PC, Handheld & Algemeen' gestart door rikietje, 28 dec 2010.

Topicstatus:
Niet open voor verdere reacties.
  1. rikietje

    rikietje www.rikbeernink.nl

    Berichten:
    82
    Leuk Bevonden:
    0
    Hallo ik heb een vraagje, op internet wordt ik er niet veel wijzer van.

    Ik heb het volgende script :

    PHP:
    <script type="text/Javascript">
    <!--

    function 
    antibot(){
        var 
    antibotcheck prompt("Hallo, om spam te voorkomen moet je het volgende woord opgeven : gastenboek.""")
        if(
    antibotcheck == "gastenboek" ){
        }
        else{
            
    alert('AntiBot check mislukt. Bericht is niet toegevoegd aan het gastenboek.')
            
    // Hier moet een die() komen??
        
    }
    }
    //-->
    </script>
    Op de plaats waar staat hier moet een die() komen.
    Zou ik een soort van code willen. (als dat bestaat) die gelijk is aan de die(); in PHP.

    Ofwel, dat de pagina niet verder gaat met het uitvoeren van de rest van het script.

    Zoals ik al zei, ik heb gegoogled maar werd er niet veel wijzer van.

    Bestaat een dergelijke code?
     
  2. Sloober

    Sloober Active Member

    Berichten:
    2.319
    Leuk Bevonden:
    16
  3. rikietje

    rikietje www.rikbeernink.nl

    Berichten:
    82
    Leuk Bevonden:
    0
    Dus als ik die break daar gebruik. Stopt hij dan ook met het uitvoeren van het PHP script?

    Kijk naar de pagina :

    PHP:
    <html>
    <head>
    <title>Rik Beernink : Gastenboek </title>
    <link rel="Stylesheet" type="text/css" href="main_css.css" />
    <script type="text/Javascript">
    <!--

    function antibot(){
        var antibotcheck = prompt("Hallo, om spam te voorkomen moet je het volgende woord opgeven : gastenboek.", "")
        if(antibotcheck == "gastenboek" ){
        }
        else{
            alert('AntiBot check mislukt. Bericht is niet toegevoegd aan het gastenboek.')
            // Hier moet een die() komen??
        }
    }
    //-->
    </script>



    </head>
    <body>
    <?php
    require ("require_menu.php");
    require (
    "require_favicon.php");
    require (
    "require_connect_database.php");
    require (
    "require_reclame01.php");
    echo 
    "<br />";
    echo 
    "<div class='div_text_left' >
    Welkom op het gastenboek.<br />
    Het is hier mogelijk om een berichtje achter te laten op de website! <br /><br />
    Het zou leuk zijn als je hier commentaar over de website achterlaat!</div>"
    ;
    echo 
    "<br /><br />";

    if (
    $_SERVER['REQUEST_METHOD'] == "POST"){
        if (
    antibotcheck == "true"){
        echo 
    "Bedankt, je bericht is toegevoegd aan het gastenboek!<br /><br />";
        
    $naam $_POST['naam'];
        
    $bericht $_POST['bericht'];
        
    $datum date("F j, Y, g:i a");
        
        
    mysql_query("INSERT
        INTO tbl_guestbook 
        VALUES ('','
    $naam', '$bericht', '$datum')")
        or die(
    mysql_error()); 
        
        echo 
    "<script type='text/javascript'>
        alert('Het bericht is succesvol toegevoegd aan het gastenboek!')
        </script>"
    ;
        }
        
        else {
        die();
        }

        
        

            
    }
    else {
     
        echo 
    "<script type='text/javascript'>
        function formValidator(){
             var naam = document.getElementById('naam');
             var bericht = document.getElementById('bericht');
             
             if(isAlphabet(naam, 'Vul alstublieft uw naam in.')){
                 if(berichtcheck(bericht, 10, 250)){
                     return true;
                 }
             }
             return false;
         }
         
         function isAlphabet(elem, helperMsg){
        var alphaExp = /^[a-zA-Z]+$/;
        if(elem.value.match(alphaExp)){
            return true;
        }else{
            alert(helperMsg);
            elem.focus();
            return false;
            }
        }
        
        function berichtcheck(elem, min, max){
        var uInput = elem.value;
        if(uInput.length >= min && uInput.length <= max){
            return true;
        }else{
            alert('Het bericht moet uit minstens 10 karakters en maximaal 250 karakters bestaan.');
            elem.focus();
            return false;
        }
    }
        


        
        </script>"
    ;
        echo 
    "<div class='div_text_home'>";
        echo 
    "<form action='' method='POST' onsubmit='return formValidator()'>
        <br />
        Naam <input type='text' name='naam' id='naam' />
        <br />
        Bericht <textarea name='bericht' id='bericht' rows='5' ></textarea> 
        <br /><br />
        <input type='submit' name='submit' onclick='antibot()' />
        </form></div>"
    ;
        
        echo 
    "<br /><br />";
        
            
    }

    echo 
    "<table border =\"1\" align = \"center\">";
    echo 
    "<p><tr><th>Bericht nummer</th>";
    echo 
    "<th>Naam</th>";
    echo 
    "<th>Bericht</th>";
    echo 
    "<th>Datum</th>";

    $result mysql_query("SELECT * FROM tbl_guestbook order by ID DESC")
    or die(
    mysql_error());  

    while (
    $row mysql_fetch_array($result)) {
    echo 
    "<tr>";
    echo 
    "<td>";
    echo 
    $row['ID'];
    echo 
    "<td>";
    echo 
    $row['naam'];
    echo 
    "</td>";
    echo 
    "<td>";
    echo 
    $row['bericht'];
    echo 
    "</td><td>";
    echo 
    $row['datum'];
    echo 
    "</td></tr></p>";
    }
    echo 
    "</table>";


    ?>
    </body>
    </html>

    Ik wil dat wanneer mensen een bericht submitten naar mijn guestbook ze als controlewoord gastenboek moeten intypen. Als dat lukt dan gaat het script gewoon door en wanneer dat niet lukt dan dus DIE();.

    Heeft break dan het zelfde effect. Dat de rest van de pagina inclusief het PHP gedeelte niet meer wordt gerunt?
     
  4. Sloober

    Sloober Active Member

    Berichten:
    2.319
    Leuk Bevonden:
    16
    Ben bang dat ik je niet verder kan helpen omdat ik nog niet genoeg weet van javascript, misschien dat iemand anders je kan helpen?
     
  5. berendhaan

    berendhaan Forum sjonnie

    Berichten:
    406
    Leuk Bevonden:
    0
    Inplaats van dat je javascript gebruikt kun je de waarde van de textbox in php testen? en dan hier bepalen of het wel of niet het goede woord is.

    Je code wat je hierboven plaatst gaat zowiezo niet werken omdat je een JS variable gebruikt in PHP.

    Voorbeeld:
    Code:
    if(POST["botcheck"] == "gastenboek") { //voer uit }
    else { echo "Dat is niet het goede woord"; }
    
     
    Laatst bewerkt: 28 dec 2010
  6. rikietje

    rikietje www.rikbeernink.nl

    Berichten:
    82
    Leuk Bevonden:
    0
    Ik heb het probleem al opgelost.

    Ik had last van spam op mij forum, voor de geinteresseerden : Ik heb het nu zo aangepakt :

    PHP:
    <html>
    <head>
    <title>Rik Beernink : Gastenboek </title>
    <link rel="Stylesheet" type="text/css" href="main_css.css" />




    </head>
    <body>
    <?php
    session_start
    ();
    require (
    "require_menu.php");
    require (
    "require_favicon.php");
    require (
    "require_connect_database.php");
    require (
    "require_reclame01.php");
    $ip $_SERVER['REMOTE_ADDR'];

    $uni md5(date(Ymdhis).$ip);



    echo 
    "<br />";
    echo 
    "<div class='div_text_left' >
    Welkom op het gastenboek.<br />
    Het is hier mogelijk om een berichtje achter te laten op de website! <br /><br />
    Het zou leuk zijn als je hier commentaar over de website achterlaat!</div>"
    ;
    echo 
    "<br /><br />";

    if (
    $_POST['geenreclame'] == ""){

        if (
    $_SERVER['REQUEST_METHOD'] == "POST"){
            if (
    $_SESSION['id'] == $_POST['uni']){
                
                echo 
    "<div class='div_float_left'>Bedankt, je bericht is toegevoegd aan het gastenboek!</div><br /><br />";
                
    $naam $_POST['naam'];
                
    $bericht $_POST['bericht'];
                
    $datum date("F j, Y, g:i a");
        
                
    mysql_query("INSERT
                INTO tbl_guestbook 
                VALUES ('','
    $naam', '$bericht', '$datum')")
                or die(
    mysql_error()); 
        
                echo 
    "<script type='text/javascript'>
                alert('Het bericht is toegevoegd aan het gastenboek!')
                </script>"
    ;
                
    session_destroy();
            
            }    
            else{
            echo 
    "<script type='text/javascript'>
            alert('Er is iets mis gegaan. Je wordt teruggeleid naar het gastenboek.')
            window.location = 'http://rikbeernink.nl/guestbook.php' 
            </script>"
    ;
            }    
        }

        
    else {
    $_SESSION['id'] = $uni

        echo 
    "<script type='text/javascript'>
        
        
        
        
        
        function formValidator(){
             var naam = document.getElementById('naam');
             var bericht = document.getElementById('bericht');
             
             if(isAlphabet(naam, 'Vul alstublieft uw naam in.')){
                 if(berichtcheck(bericht, 9, 140)){
                     return true;
                 }
             }
             return false;
         }
         
         function isAlphabet(elem, helperMsg){
        var alphaExp = /^[a-zA-Z]+$/;
        if(elem.value.match(alphaExp)){
            return true;
        }else{
            alert(helperMsg);
            elem.focus();
            return false;
            }
        }
        
        function berichtcheck(elem, min, max){
        var uInput = elem.value;
        if(uInput.length >= min && uInput.length <= max){
            return true;
        }else{
            alert('Het bericht moet uit minstens 10 karakters en maximaal 140 karakters bestaan.');
            elem.focus();
            return false;
        }
    }
        


        
        </script>"
    ;
        echo 
    "<div class='div_form_main'>";
        echo 
    "<form action='' method='POST' onsubmit='return formValidator()'>
        <br />
        Naam  :<br /><input type='text' name='naam' id='naam' />
        <br /><br />
        Bericht :<br /><textarea name='bericht' id='bericht' rows='5' ></textarea> 
        <br /><br />
        <input type='submit' name='submit' onclick='antibot()' />
        
        <div style='display: none'><input type='text' name='geenreclame'></div>
        
        <input type='hidden' name='uni' value=
    $uni />
        </form></div>"
    ;
        
        echo 
    "<br /><br />";
        
            
    }

    echo 
    "<table border =\"1\" width='670px' align = \"center\">";
    echo 
    "<p><tr><th width='50px' >Bericht nummer</th>";
    echo 
    "<th width='70px'>Naam</th>";
    echo 
    "<th width='350px' >Bericht</th>";
    echo 
    "<th width='200px'>Datum</th>";

    $result mysql_query("SELECT * FROM tbl_guestbook order by ID DESC")
    or die(
    mysql_error());  

    while (
    $row mysql_fetch_array($result)) {
    echo 
    "<tr>";
    echo 
    "<td>";
    echo 
    $row['ID'];
    echo 
    "<td>";
    echo 
    $row['naam'];
    echo 
    "</td>";
    echo 
    "<td>";
    echo 
    $row['bericht'];
    echo 
    "</td><td>";
    echo 
    $row['datum'];
    echo 
    "</td></tr></p>";
    }
    echo 
    "</table>";



    else {
    die();
    }

    ?>
    </body>
    </html>
     
  7. berendhaan

    berendhaan Forum sjonnie

    Berichten:
    406
    Leuk Bevonden:
    0
    Ziet er goed uit, echter zou ik wel even de 2 post parameters die je in je INSERT-query stopt escapen zodat je geen last krijgt van scriptkiddies die een MYSQL-injection proberen te triggeren.
     
  8. Lenny-t

    Lenny-t Melted Forest XBW.nl VIP

    Berichten:
    12.469
    Leuk Bevonden:
    79
    Probleem opgelost dus. Voor verder problemen of vragen omtrent programmeren kan je hier terecht.
     
Topicstatus:
Niet open voor verdere reacties.

Deel Deze Pagina