Jump to content

romantik2011

User
  • Posts

    35
  • Joined

  • Last visited

Everything posted by romantik2011

  1. <html><head><title>ololo</title> <script type="text/javascript" src="http://megatyumen.ru/public/js/jquery-1.6.3.min.js"></script> <script type="text/javascript"> function contest_vote(contest_id) { var contest_id = contest_id; alert(contest_id); $.get( 'http://megatyumen.ru/contest/vote_ajax/'+contest_id, function(data) { alert(contest_id); if(data.error) { alert(data.error_msg); } else { alert(data.rating); } }, 'json' ); } </script></head><body> <input type="button" onclick="contest_vote(9)" value="+1" /> </body> </html> Нужно отправить запрос, и получить ответ, сниферил все отсылается, сервер отвечает, а функция не вызывается Функция, которая исполняется всякий раз после удачного завершения загрузки данных. вот почему-то она не вызывается
  2. Вот так лучше работает. <? if(!empty($_POST)){ if(empty($_POST['chislo1'])) echo 'Пожалуйста, введите Число №1 <br />'; if(empty($_POST['chislo2'])) echo 'Пожалуйста, введите Число №2 <br />'; if(empty($_POST['znak'])) echo 'Введите знак во второе поле <br />'; if(isset($_POST['chislo1']) && isset($_POST['chislo2']) && is_numeric($_POST['chislo1']) && is_numeric($_POST['chislo2']) && !empty($_POST['znak']) ) { $ch1 = $_POST['chislo1']*1; $ch2 = $_POST['chislo2']*1; $znak = $_POST['znak']; switch($znak){ case '+': $rez = $ch1 + $ch2; break; case '-': $rez = $ch1 - $ch2; break; case '*': $rez = $ch1 * $ch2; break; case '/': if($ch2!=0){ $rez = $ch1 / $ch2; }else { echo 'Деление на ноль'; } break; default: echo "Неизвестный оператор $znak"; } if(isset($rez)) echo $rez; echo '<hr width="100%" color="blue" />'; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <head><title>Моя страница</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <input type="text" name="chislo1"/><br /> <input type="text" name="znak"/><br /> <input type="text" name="chislo2"/><br /> <input type="submit" value="Вычислить" > </form> </body> </html>
  3. Хочу проверить каждое поле на пустоту, вот так пробую что-то не срабатывает. <?php if(empty($_POST['chislo1'])) echo 'Пожалуйста, введите Число №1 <br />'; if(empty($_POST['chislo2'])) echo 'Пожалуйста, введите Число №2 <br />'; if(empty($_POST['znak'])) echo 'Введите знак во второе поле <br />'; if(isset($_POST['chislo1']) && isset($_POST['chislo2']) && is_numeric($_POST['chislo1']) && is_numeric($_POST['chislo2']) && !empty($_POST['znak']) ) { $ch1 = $_POST['chislo1']*1; $ch2 = $_POST['chislo2']*1; $znak = $_POST['znak']; switch($znak){ case '+': $rez = $ch1 + $ch2; break; case '-': $rez = $ch1 - $ch2; break; case '*': $rez = $ch1 * $ch2; break; case '/': if($ch2!=0){ $rez = $ch1 / $ch2; }else { echo 'Деление на ноль'; } break; default: echo "Неизвестный оператор $znak"; } if(isset($rez)) echo $rez; echo '<hr width="100%" color="blue" />'; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <head><title>Моя страница</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <input type="text" name="chislo1"/><br /> <input type="text" name="znak"/><br /> <input type="text" name="chislo2"/><br /> <input type="submit" value="Вычислить" > </form> </body> </html> Получается даже не дает ввести, сразу выдает что пустое. Как сделать проверку на пустоту поля если ничего не введено и нажата кнопка вычислить? Я вот сделал и не дает даже ввести что-то, сразу выдает что не пусто.
  4. А, все понял. $color = ($i == 1 && $j == 1)?'#FFCCCC'$i==1?'#FFFFCC'$j==1?'#CCFFFF':'white'));
  5. Вот изменил так: $color = ($i == 1 && $j == 1)?'#FFCCCC'$i>1 && $i<=10?'#FFFFCC'$j>1 && $j<=10?'#CCFFFF':'white')); Результат на фото, не получается закрасить вертикальный столбик числа от 2-10.
  6. Чего-то не закрашивается таблица. Решил вспомнить и сам ещё раз написать её. красится только 1 ячейка, но не первая вертикальная и горизонтальная строка. <?php function getTable($rows,$cols){ echo '<table>'; for($i = 1; $i<=$rows; $i++){ echo '<tr>'; for($j = 1; $j <= $cols; $j++){ $rez = $i * $j; $color = ($i == 1 && $j == 1)?'#FFCCCC'$i>1 and $i<10?'#FFFFCC'$j>1 and $j<10?'#CCFFFF':'white')); echo '<td style="border:1px solid black; background-color:'.$color.';">'.$rez.'</td>'; } echo '</tr>'; } echo '</table>'; } getTable(10,10); ?>
  7. Написал сам код, проблема в меню, получается переход на ссылку http://test.ru/index.php/index.php/index.php?id=page1 вместо указанной мною в коде http://test.ru/index.php/?id=page1 Подскажите, где не так? Архив вложил, вот его главный файл и файл меню. index.php <?php include 'menu.php';?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Основы блочной верстки (Div верстки)</title> <link rel="stylesheet" type="text/css" href="/style.css" /> </head> <body> <div id="wrapper"> <div id="header"><span style="font-size:34px;">Сайт</span></div> <div id="left"> <h2 style="border-bottom:1px solid black;">Menu</h2> <? getMenu($menu);?> </div> <div id="right"><h2 style="border-bottom:1px solid black;">Menu</h2> <? getMenu($menu);?> </div> <div id="kontent"> <?php $id = (isset($_GET['$id']))?$_GET['$id']:include 'home.php'; switch($id){ case 'page1': include 'page1.php'; break; case 'page2': include 'page2.php'; break; case 'page3': include 'page3.php'; break; } ?> </div> <div id="footer">Copyright © Филип Киркоров <? echo date('Y'); ?></div> </div> </body> </html> menu.php <?php $menu = array( 'Page1' => 'index.php?id=page1', 'Page2' => 'index.php?id=page2', 'Page3' => 'index.php?id=page3' ); function getMenu($masiv){ echo '<ul>'; foreach($masiv as $href=>$value){ echo "<li><a href=\"$value\">$href</a></li>"; } echo '</ul>'; } ?> Архив: http://www.onlinedisk.ru/file/727752/
  8. Как сделать чтоб вот так отображало на всех браузерах, что-то не выходит. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Основы блочной верстки (Div верстки)</title> <!--<link href="style.css" rel="stylesheet" type="text/css"> --> <style type="text/css"> *{margin:0px; padding:0px; border:0px; font-family:Arial, Helvetica, sans-serif;} html>body #header {margin:0px auto; width:800px; background-color:#FFCC99;} html>body #left{margin-top:40px; background-color:#FFFFCC; width:35%; float:left; text-align:center; border-left:1px solid black; border-right:1px solid black;} html>body #kontent{background-color:white; text-align:center; border:1px solid black; border-collapse:collapse;} html>body #footer{text-align: center; background-color:#CC9966;} </style> </head> <body> <div id="header"><span style="font-size:34px;">М</span> <div id="left">Menu</div> <div id="kontent">Главная страница</div> <div id="footer">Copyright © Филип Киркоров <? echo date('Y'); ?></div> </div> </body> </html> Только в Опере отображает так, в гуглхром и мозиле наезжает. http://s1.ipicture.ru/uploads/20110905/qe2L1EhW.jpg
  9. Вот так вышло. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Основы блочной верстки (Div верстки)</title> <!--<link href="style.css" rel="stylesheet" type="text/css"> --> <style type="text/css"> *{margin:0px; padding:0px; border:0px; font-family:Arial, Helvetica, sans-serif;} #header {margin:0px auto; width:800px; background-color:#FFCC99; } #left{margin-top:20px; background-color:#FFFFCC; width:35%; float:left; border-left:1px solid black; border-right:1px solid black; text-align:center;} #kontent{background-color:white; text-align:center; border:1px solid black; border-collapse:collapse;} #footer{text-align: center; background-color:#CC9966;} </style> </head> <body> <div id="header">Моя страница <div id="left">Menu</div> <div id="kontent">Главная страница</div> <div id="footer">Copyright © Филип Киркоров <? echo date('Y'); ?></div> </div> </body> </html> Как записать, вот эти 2 записи одной записью в ксс? border-left:1px solid black; border-right:1px solid black;
  10. Как сделать чтоб розовая полоса не переходила на другую строку, а чтоб было слева желтое на 35%, а справа все заполнялось розовой полосой? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Основы блочной верстки (Div верстки)</title> <!--<link href="style.css" rel="stylesheet" type="text/css"> --> <style type="text/css"> body,html{ margin:0px; padding:0px; } #header {width:60%; background-color:#CCFFCC; text-align:center; margin:0px auto;} #left{width:35%; background-color:#FFFFCC; } #content{background-color:#FFCCCC; } #footer{ background-color:#669900;} </style> </head> <body> <div id="header"> <div id="left"> </div> <div id="content"> </div> <div id="footer"> </div> </div> </body> </html>
  11. Решил усовершенствовать таблицу умножения, написав функцию., вроде все окей, но никак не красит таблицу. <?php function table($cols,$rows,$color1,$color2,$color3){ echo '<div align="center"><h1 align="center">Таблица умножения</h1> <table border=1>'; $color = ($cols == 1 && $rows == 1)?$color1:($cols == 1?$color2:($rows == 1?$color3:'white')); for($i=1; $i<$cols; $i++){ echo '<tr align="center">'; for($j=1; $j<$rows; $j++){ $rez = $i * $j; echo '<td style="background-color:".$color."; text-align:center;">'.$rez.'</td>'; } echo '</tr>'; } echo '</table></div>'; } table(10,10,"blue","yellow","green"); ?>
  12. В коде как реализовать, не совсем ясно.
  13. Подскажите, как закрасить вот так как на этой картинке? Не могу понять как. <?php $cols = 10; $rows = 10; $cols1 = 1; echo '<h1><center>ТАБЛИЦА УМНОЖЕНИЯ</center></h1>'; echo '<table style="border:1px solid black; padding:10px; margin-left:300px;">'; while($cols1<$cols){ $rows1 = 1; echo '<tr>'; while($rows1<$rows){ $rez = $cols1*$rows1; echo '<td style="border:1px solid black; padding:20px;">'.$rez. ' '.' </td>'; $rows1++; } echo '<br />'; echo '</tr>'; $cols1++; } echo '</table>'; ?>
  14. Можно создать одномерный массив, всё нормально, вот так: $cars = array( "model" =>'X5', "speed" =>120, "doors" =>5, "year" =>'2006' ); echo $cars['doors']; //Выводим элемент массива Вот смутил такой двумерный массив. $cars['bmw'] = array( "model" =>'X5', "speed" =>120, "doors" =>5, "year" =>'2006' ); echo $cars['bmw']['year']; Какой смысл если написать его вот так? Как это на картинке примерно будет выглядеть этот двумерный я имею ввиду $cars?. Получается весь массив состоит из одного элемента, который тоже массив и всё?
  15. А почему только вот так сработало? Почему без внутреннего цикла не запахало и без всяких проверок и приведений типов? Кто-нибудь подскажет как реализовать не так громоздко цикл форич? <?php class D{ function m($p1,$p2){ for($i=0; $i<count($p1); $i++) echo $p1[$i].' '; echo ' '.$p2; } function __call($n,$v) { foreach($v as $f){ if ((string)$f == "Array") foreach($f as $v) { echo $v; } else echo $f.' '; } } } $x = new D; $p = array("Динозавр","Аладин",954); $g = array("Ура!"); $x->m($p,"2-ой параметр<br />"); $x->s($g,"Санчо","3-ий параметр"); ?>
  16. Попробовал написать такой код, не выводит все три параметра почему-то. Я имею ввиду, второго перегруженного метода с именем m(). <?php class D{ function m($p1,$p2){ for($i=0; $i<count($p1); $i++) echo $p1[$i].' '; echo ' '.$p2; } function __call($n,$v) { foreach($v as $z=>$f){ echo $v. ' '.$f; } } } $x = new D; $p = array("Динозавр","Аладин",954); $g = array("Ура!"); $x->m($p,"2-ой параметр<br />"); $x->m($g,"Санчо","3-ий параметр<br />"); ?>
  17. class A{ public $user; function __set($n,$v){ $this->user[$n] = $v; } function __get($n){ return $this->user[$n]; } } $o = new A(); $o->name = "John"; echo $o->name; Когда интепретатор PHP увидел в коде что мы обращаемся к неизвестному свойству, он обратился в класс, с надеждой найти функцию __set() Эта функция имеет 2 параметра: 01)Название свойства; 02)Значение свойства. В этом месте кода, как переменная $user, которая была объявлена как приватное свойство в классе, как она могла превратится в массив если она была объявлена как обычное закрытое свойство? function __set($n,$v){ $this->user[$n] = $v; } В этом месте кода, если функция __get() вызывается только в том случаи когда была вызвана функция __set() и в функцию __get() передаётся значение свойства, то значение, которое попало в __set(). Как снова туда может лететь массив ,если функция ГЭТ принимает только свойство класса? function __get($n){ return $this->user[$n]; }
  18. Решил сделать симулировать перегрузку в PHP, написал вот такой код. class A{ function t($m){ echo " ".$m; } function __call($x1,$x2){ function t($s1,$s2){ $s1 = $x1; $s2 = $x2; echo $s1.' '.$s2; } function t($s1,$s2,$s3){ $s1 = $x1; $s2 = $x2; echo $s1.' '.$s2.' '.$s3; } } } $obj = new A; $obj->t("Каприз"); $obj->t(5,7); $obj->t("Вася",500,"Мачо"); Результат: Почему не выводится так?
  19. Всё понял ,спасибо. Скажите, а если например у меня 500 классов, все называются так: название.class.php не будет ли это вредно столько подключить? Может на что-то влияет или лишняя память расходуется?
  20. Прочитал здесь: http://phpclub.ru/faq/PHP5/Autoload что в PHP5 перед тем как создать объект несуществующего класса, идёт попытка вызова __autoload(), который должен попытаться подключить такой класс, которого на самом деле нету. Вот в одной директории, у меня лежит 3 файла: index.php <?php function __autoload($name){ include $name.".class.php"; echo "Ищем класс $name"; } $ob1 = new A(); $ob1->son(); $ob2 = new B(); $ob2->fanta(); ?> A.class.php <?php class A{ public function son(){ echo "<br />Вызвана функция <u>Сон</u>, класса <u>А</u>"; } } ?> B.class.php <?php class A{ public function fanta(){ echo "<br />Вызвана функция <u>Fanta</u>, класса <u>B</u>"; } } ?> Класс А находит, а класс В нет, как быть?
  21. Вот решил написать функцию в классе, а в функции, внутри класса, хочу проверить, принадлежит ли той или иной объект какому-то классу. <?php class A{ public function f(){ echo 'Лето-2011!'; } } class B extends A{ function chekObject($obj){ if($obj instanceof User){ echo "Это наш!<br>"; } else{ echo "Это чужой!<br>";} echo $obj; } } $obj = new B(); $obj->chekObject("Петя"); ?> Код вроде работает, выводит такое: Но здесь получается грубо говоря проверка переменной, а не проверка объекта на принадлежность какому-то классу. Как сделать проверку на объект, который исходит от параметра функции и сделать проверку внутри функции?
  22. В чем отличия указателя self от this? Что-то не совсем ясно.
  23. Изучаю полиморфизм - способность класса-родителя использовать функции, классов-потомков, даже если неизвестно реализованы функции-потомков или нет. Вот написал элементарный код, без реализации, выдаёт ошибку: abstract class Db{ abstract function db_conn(); abstract function db_open(); abstract function db_query(); abstract function db_close(); } class B extends Db{ function db_conn() {}; function db_open() {}; function db_query() {}; function db_close() {}; } $o1 = new B; Дальше, пробую по примеру в книге вот этот код, который в классе-родителе вызывают функцию из производного класса, но интерпретатор тоже ругается. <?php class A { // Выводит, функция какого класса была вызвана function Test() { echo "Test from A\n"; } // Тестовая функция — просто переадресует на Test() function Call() { Test(); } } class B extends A { // Функция Test() для класса B function Test() { echo "Test from B\n"; } } $a=new A(); $b=new B(); $a->Call(); // выводит "Test from A" $b->Test(); // выводит "Test from B" $b->Call(); // Внимание! Выводит "Test from B"! ?>
  24. Когда тогда не используют зроу, а используют чисто try...catch без ЗРОУ?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy