Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: И снова перевести String в int [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
AlfOz
Отправлено: 06 Августа, 2015 - 14:04:53
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




Вот код HTML-странички:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <html>
  2. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  3. <title></title>
  4. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  5.  
  6. </head>
  7.  
  8. <body>
  9. <script>
  10.    var ScreenWidth = document.body.clientWidth;
  11.    $.ajax({
  12.        method: "POST",
  13.        url: "width.php",
  14.        data: { width: ScreenWidth }
  15.    })
  16.    .done(function( msg ) {
  17.        alert( "Data Saved: " + msg );
  18.    });
  19. </script>
  20. </body>
  21.  
  22. </html>

Вот код width.php:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $width = $_POST['width'];
  2. print ("Ширина: $width<br />");
  3. $zapas = $width - 960;
  4. print ("Остаток: $zapas<br />");

Результат нулевой!

(Отредактировано автором: 06 Августа, 2015 - 14:32:51)

 
 Top
andrewkard
Отправлено: 06 Августа, 2015 - 14:57:32
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Попробуйте:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  4. <title></title>
  5. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  6.  
  7. </head>
  8. <body>
  9. <script>
  10. var ScreenWidth = document.body.clientWidth;
  11. $.ajax({
  12.     method: "POST",
  13.     url: "width.php",
  14.     data: { width: ScreenWidth }
  15. })
  16. .done(function( msg ) {
  17.     alert( "Data Saved: " + msg );
  18. });
  19. </script>
  20. </body>
  21. </html>
  22.  


width.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_POST['width'])){
  4.     echo $_POST['width'];
  5. }
  6. ?>
  7.  
 
 Top
AlfOz
Отправлено: 06 Августа, 2015 - 15:11:37
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




andrewkard, спасибо!
Но вот, что я получаю, во всплывающем окне...
Прикреплено изображение (Нажмите для увеличения)
2.jpg

(Отредактировано автором: 06 Августа, 2015 - 15:14:40)

 
 Top
andrewkard
Отправлено: 06 Августа, 2015 - 15:18:49
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




У Вас это один файл? Тогда да, нужно перенести php наверх и сделать exit
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_POST['width'])){
  4.     echo $_POST['width'];
  5.     exit;
  6. }
  7. ?>
  8. <html>
  9. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  10. <title></title>
  11. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  12.  
  13. </head>
  14. <body>
  15. <script>
  16. var ScreenWidth = document.body.clientWidth;
  17. $.ajax({
  18.     method: "POST",
  19.     url: "width.php",
  20.     data: { width: ScreenWidth }
  21. })
  22. .done(function( msg ) {
  23.     alert( "Data Saved: " + msg );
  24. });
  25. </script>
  26. </body>
  27. </html>
  28.  
 
 Top
AlfOz
Отправлено: 07 Августа, 2015 - 15:29:28
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




andrewkard, огромное вам спасибо! Оба варианты срабатывают. И арифметические операции тут возможны.
Но маленький вопрос. Я не силен в jquery - мне не нужны всплывающие окна, как просто оставить переменную в скрипте РНР?

(Отредактировано автором: 07 Августа, 2015 - 15:30:06)

 
 Top
andrewkard
Отправлено: 07 Августа, 2015 - 15:53:27
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




AlfOz
Уберите вот этот кусок кода:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. .done(function( msg ) {
  3.     alert( "Data Saved: " + msg );
  4. });
  5.  
 
 Top
AlfOz
Отправлено: 07 Августа, 2015 - 16:09:10
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




andrewkard
Вот полный код
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_POST['width'])){
  3.    $width = $_POST['width'];
  4.    $n = $width / 2;
  5.    print ("$n<br />$width");
  6.    exit;
  7. }
  8. ?>
  9. <html>
  10. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  11. <title></title>
  12. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  13.  
  14. </head>
  15. <body>
  16. <script>
  17. var ScreenWidth = document.body.clientWidth;
  18. $.ajax({
  19.    method: "POST",
  20.    url: "width.php",
  21.    data: { width: ScreenWidth }
  22. })
  23. </script>
  24. </body>
  25. </html>

На экран ничего не вылзает.
 
 Top
andrewkard
Отправлено: 07 Августа, 2015 - 18:33:54
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




AlfOz пишет:
На экран ничего не вылзает.

И не должно. Вы сделали POST запрос на сервер, и он вернул результат. Смотрите в консоли.
Что бы вывести на экран, нужно использовать .done(function( msg ):
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_POST['width'])){
  4.     $width = $_POST['width'];
  5.     $n = $width / 2;
  6.     print ("$n<br />$width");
  7.     exit;
  8. }
  9. ?>
  10. <html>
  11. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  12. <title></title>
  13. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  14.  
  15. </head>
  16. <body>
  17. <script>
  18.     var ScreenWidth = document.body.clientWidth;
  19.     $.ajax({
  20.         method: "POST",
  21.         url: "test1.php",
  22.         data: { width: ScreenWidth }
  23.     })
  24.         .done(function( msg ) {
  25.         $('#test').text(msg);
  26.     });
  27. </script>
  28. <div id="test"></div>
  29. </body>
  30. </html>
  31.  
 
 Top
AlfOz
Отправлено: 08 Августа, 2015 - 12:30:22
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




andrewkard, спасибо огромаднейшее! Все здорово работает!
...но вот новая закавыка - он html-код не воспринимает.
Если написано: print ("$n<br />$width"); Скрипт на экран выводит - 640<br />1280.
 
 Top
andrewkard
Отправлено: 08 Августа, 2015 - 22:38:22
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Данные лучше передавать в json, например так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_POST['width'])){
  4.     $width = $_POST['width'];
  5.     $n = $width / 2;
  6.     $arr=array('n'=>$n,'width'=>$width);
  7.         echo json_encode($arr);
  8.     exit;
  9. }
  10. ?>
  11. <html>
  12. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  13. <title></title>
  14. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  15.  
  16. </head>
  17. <body>
  18. <script>
  19.     var ScreenWidth = document.body.clientWidth;
  20.     $.ajax({
  21.         method: "POST",
  22.         url: "",
  23.         data: { width: ScreenWidth }
  24.     })
  25.         .done(function( msg ) {
  26.         var arr = JSON.parse(msg);
  27.                 $('#test').text(arr['n']);             
  28.                 $('#test1').text(arr['width']);
  29.     });
  30. </script>
  31. <div id="test"></div><br><div id="test1"></div>
  32. </body>
  33. </html>
  34.  
  35.  
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB