Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Javascript i php za verifikacioni kod kod komentara

[es] :: Javascript i AJAX :: Javascript i php za verifikacioni kod kod komentara

[ Pregleda: 1920 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gagacar
Dragan Markovic
Student, TFZR
Beograd

Član broj: 209656
Poruke: 68
*.ADSL.neobee.net.



+1 Profil

icon Javascript i php za verifikacioni kod kod komentara11.07.2010. u 01:54 - pre 168 meseci
Pozdrav,

zamolio bih nekog ko moze da mi pomogne i ukaze gde gresim. Naime, imam neki php kod podrzan javascriptom za slanje komentara. Do sada je radila varijanta da se samo upise ime i tekst komentara i on se ispisuje. Medjutim, na mene je pao zadatak da ubacim i polje u kome se ispisuje verifikacioni kod. Glavni problem je sto to sam sve slozio u php-u, medjutim ne mogu da ubacim opciju u js funkciju da proveri i polje za verifikacioni kod.

Js funkcija glasi:

Code:
<script language="javascript">

function add_br(string){
        var str = "";
        for(i=0; i<string.length; i++){
            if(string[i] == '\n'){
                str = str + '<br/>';
            }
            str = str + string[i];
        }

        return str;
}

function validate_komentar(){
         
        var textarea = document.getElementById('textarea');
        var textfield = document.getElementById('textfield');
                var captcha = document.getElementById('pass_captcha');
     
         
        if (textarea.value.length > 4 && textfield.value.length > 4 && captcha.value.length == 4){
             
            document.forma1.submit();
            return true;
        }
        alert('Niste dobro popunili polja!\nMorate popuniti oba polja sa najmanje pet znakova i uneti kontrolni kod');
        return false;
}
 
</script>


pored toga postoji i php kod koji radi kako treba i daje verifikacioni kod:

Code:
<?php
function generisi_random_string($length){
        $alphaLowerArray = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
        $alphaUpperArray = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
        $numArray = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
        $merged = array_merge($alphaLowerArray, $alphaUpperArray, $numArray);
        $max = count($merged)-1;
        $final = "";
        for($i=0; $i<$length; $i++){
            $char = $merged[rand(0, $max)];
            $final .= $char;
        }
        return $final;
    }
    
    
    $resenje_testa = generisi_random_string(4);
            
?>



a html/php kod:

Code:
  
<form id="form3" method="post" action="#" name="forma1" id="forma1" onsubmit="return validate_komentar();" accept-charset="UTF-8">
Ime:
<input name="posetilac" id="textfield"    class="textbox" value="<? echo $posetilac; ?>" style="width:480px; font-family:arial; font-size:10pt;">
Poruka:
 <textarea name="sadrzaj" id="textarea" cols="45" rows="4"  class="textbox" style="width:480px; font-family:arial; font-size:10pt;"><? if($captcha_prosao == false){ echo remove_br(stripslashes($HTTP_POST_VARS['sadrzaj'])); } ?></textarea>
Verifikacioni kod:
<?php echo "Upišite redom slovasa slike: ".$resenje_testa." ";?>
  <input name="test" id="test"  class="textbox" value="<? echo $test; ?>"  >
                                                                                 
<input type="submit" name="button" id="button" value="Pošalji komentar" /> 
</form>





Znaci problem je kako da u js funkciju validate_komentar() ubacim opciju da cita polje test i da uporedi da li je jednako sa dobijenim verifikacionim kodom tj. $resenje_testa?

Hvala unapred!!!
 
Odgovor na temu

kelja

Član broj: 70429
Poruke: 1416
*.dynamic.isp.telekom.rs.



+35 Profil

icon Re: Javascript i php za verifikacioni kod kod komentara11.07.2010. u 10:03 - pre 168 meseci
Pa mislim da bi to moglo samo ajax-om da se odradi. Verifikacioni kod se kreira u php-u, i treba nekako javascript da ga ''iscita''. Odradi celu verifikaciju ajax-om, to je malo i sigurnije od obicnog javascripta.
 
Odgovor na temu

gagacar
Dragan Markovic
Student, TFZR
Beograd

Član broj: 209656
Poruke: 68
*.ADSL.neobee.net.



+1 Profil

icon Re: Javascript i php za verifikacioni kod kod komentara11.07.2010. u 13:51 - pre 168 meseci
Je l' mozes nekim primerom da mi pomognes...Posto nikad nisam koristio Ajax...
 
Odgovor na temu

kelja

Član broj: 70429
Poruke: 1416
*.dynamic.isp.telekom.rs.



+35 Profil

icon Re: Javascript i php za verifikacioni kod kod komentara11.07.2010. u 21:56 - pre 168 meseci
Mogu, a taman koristim priliku da i sam vezbam JQuery AJAX funkcije , koje su MILA MAJKA, u odnosu na ono sto bi morao da odradis 'cistim' javascriptom.

Malo ces morati da izmenis HTML strane... Izbacio sam javaskript funkcije za proveru, ali dodao php validaciju i kasicicu jquery-ja, koji odradjuje glavni pos'o...

Kompletna prva strana, za ostavljanje komentara (moras imati sesije ativirane!):
Code:


<?php 
session_start();


function generisi_random_string($length){
        $alphaLowerArray = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
        $alphaUpperArray = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
        $numArray = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
        $merged = array_merge($alphaLowerArray, $alphaUpperArray, $numArray);
        $max = count($merged)-1;
        $final = "";
        for($i=0; $i<$length; $i++){
            $char = $merged[rand(0, $max)];
            $final .= $char;
        }
        return $final;
    }
    
    
    $resenje_testa = generisi_random_string(4);
    $_SESSION['kodic']= $resenje_testa;
            



?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function ajax_call(){
//ovde saljes zapravo varijable sa forme get metodom na obradu php skriptu. ovo ($'ime').val(), 
//zapravo bi u cistom javascriptu bilo document.getElementById.value(), valjda, ovako je znatno krace. :)
    data='&ime='+$('#ime').val()+'&poruka='+$('#poruka').val()+'&kod='+$('#kod').val() ;
    
$('#result').load('provera.php', data);
}
</script>











</head>

<body>
<div id='result'></div>
<form method="post" name="forma1" id="forma1">
<p>Ime:
<input name="ime" id="ime"  type="text" class="textbox" style="width:480px; font-family:arial; font-size:10pt;"></p>
<p>Poruka:
 <textarea name="sadrzaj" id="poruka" cols="45" rows="4"  class="textbox" style="width:480px; font-family:arial; font-size:10pt;"></textarea></p>
 
<p>Verifikacioni kod:
<?php echo $resenje_testa; ?><br />
  <input name="test" id="kod"  class="textbox" value=""  ></p>
 <p> <input type="button" name="button" id="button" value="Pošalji komentar"   onclick="ajax_call();"  /></p>
</form>
</body>
</html>


Dakle, skines svezi jquery i stavis ga u folder u kom ti se nalazi skript, primetices da sam dodao jedan div sa id-om 'result', tu mozes upozorenja da ispises na lepsi, i za korisnika manje stresan nacin, od iritirajucih popupa.
Takodje, ne treba ti vise event onsubmit (zapravo, ne bi ovo ni radilo sa tim), samo onclick pozivas ajaxom php skriptu... I da, ako hoces POST metodom da saljes varijable, koristi JQuery post funkciju, po defaultu load funkcija salje podatke (ako ih ima) GET metodom...

I 'provera.php' fajl koji ces morati da dopises:
Code:
<?php
session_start();
extract($_GET);

if(strlen($ime)<4) {
    die( "<script>alert('morate uneti vise od 4 slova')</script>");
}
if(strlen($poruka)<4) {
    die( "<script>alert('morate uneti vise od 4 slova')</script>");
}
if($_SESSION['kodic']!=$kod){
    die("<script>alert('unesite tacan kod')</script>");
}
// dodaj zapisivanje komentara ili sta ti vec treba, ako je validacija prosla ok        
?>


Pozdrav!
 
Odgovor na temu

gagacar
Dragan Markovic
Student, TFZR
Beograd

Član broj: 209656
Poruke: 68
*.ADSL.neobee.net.



+1 Profil

icon Re: Javascript i php za verifikacioni kod kod komentara18.07.2010. u 02:02 - pre 168 meseci
Hvala druze, Pozdrav!!!
 
Odgovor na temu

[es] :: Javascript i AJAX :: Javascript i php za verifikacioni kod kod komentara

[ Pregleda: 1920 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.