lapwing
User-
Posts
57 -
Joined
-
Last visited
Contacts
-
Web site
http://www.harthaus.ru
lapwing's Achievements
Explorer (1/14)
0
Reputation
-
Подождите, подождите. Не забудте про меня. Кто нибудь может назвать конкретные имена дизайнеров и дать ссылки на портфолио, с тем чтобы потом я смог обратиться к верстальщику и меня не обматерили бы?
-
Здравствуйте! Может не совсем правильно выбрал подраздел для своего вопроса, но решил спросить здесь из тех соображений, что сюда наверное чаще всего заходят верстальщики. Видел на форуме(сейчас уже не могу найти где именно) обсуждение работы дизайнеров в том смысле, что бывают толковые дизайнеры, после которых верстать одно удовольствие, а бывают не очень - такое наваяют, что потом и не сверстаешь. Опять же картинка должна быть в каком то определенном формате. Подскажите кто с кем работал, чтобы потом было поменьше проблем с версткой? Может ссылки какие на примеры работ?
-
Взял вот так сделал: $b = 1; while($row = mysql_fetch_array($result)) { $a = 'ppy'; $ppy = $a."".$b; echo " <div class='example'> <h3>".$row['heading']."</h3> <div class='ppy' id='$ppy'> ........ </div> </div>;" $b = $b+1; } и в нижнем скрипте ...... $('#ppy1').popeye(options2); $('#ppy2').popeye(options2); $('#ppy3').popeye(options2); ........ Не знаю насколько допустимо id приcваивать не значение, а переменную, но желаемого результата достиг. Спасибо СЕВЕР, надо мне изучать JS. Кстати rus натолкнул меня на мысль сделать цикл со счетчиком, тоже спасибо.
-
Я понимаю, что для вас это просто, а я сижу и туплю. Может распишете хоть чуть-чуть поподробнее или ссылку что ли на подходящий пример дадите?
-
Почему onClick? Событие же должно происходить не по клику, а при каждом прохождении цикла?
-
Здравствуйте! Наткнулся на фотогалерею http://dev.herr-schuessler.de/jquery/popeye/demo.html, понравилась тем, что на одной странице и листаешь фото и увеличиваешь по клику.(пример №2). Попробовал прикрутить себе. Из БД выводятся записи и хотел чтобы к каждой записи выводилось также и фото, т.е. скрипт должен работать в цикле. Скрипт работает, но выводятся только фотки к последней записи. При помощи Searcher и rus (спасибо им) понял что не работает из-за id ppy2. Т.е. насколько я понял этот идентификатор используется для обращения к нему из скрипта, а при попытке загнать выполнение скрипта в цикл, возникает проблема того, что идентификатор встречается несколько раз на странице, т.е. не уникален, чего быть не должно. Возможно ли переделать скрипт или он вообще не предназначен для многократного использования? Вот кусок кода <body> <?php include_once("../../connection.php"); $result = mysql_query('SELECT heading,message,tel,name,path1big,path1small,path2big,path2small FROM information WHERE operid = "s_kv" ORDER BY informid DESC LIMIT '.$start_pos.','.$perpage) or die('error Что то не выбирает'); while($row = mysql_fetch_array($result)) { printf(" <div class='example'> <h3>".$row['heading']."</h3> <div class='ppy' id='ppy2'> <ul class='ppy-imglist'> <li><a href='".$row['path1big']."'><img src='".$row['path1small']."' alt='' /></a></li> <li><a href='".$row['path2big']."'><img src='".$row['path2small']."' alt='' /></a></li> </ul> <div class='ppy-outer'> <div class='ppy-stage'> <div class='ppy-counter'> <strong class='ppy-current'></strong> / <strong class='ppy-total'></strong> </div> </div> <div class='ppy-nav'> <div class='nav-wrap'> <a class='ppy-next' title='Следующая'>Следующая</a> <a class='ppy-prev' title='Предыдущая'>Предыдущая</a> <a class='ppy-switch-enlarge' title='Увеличить'>Увеличить</a> <a class='ppy-switch-compact' title='Закрыть'>Закрыть</a> </div> </div> </div> </div> <p>".$row['message']."<br /> </p> <p>".$row['name']." Тел.".$row['tel']."<br /> </p> </div> <br />"); } ?> <!-- [example js] begin --> <script type="text/javascript"> <!--//<![CDATA[ $(document).ready(function () { var options2 = { caption: false, navigation: 'permanent', direction: 'left' } var options3 = { caption: 'permanent', opacity: 1 } $('#ppy1').popeye(); $('#ppy2').popeye(options2); $('#ppy3').popeye(options3); }); //]]>--> </script> <!-- [example js] end --> </body>
-
Вотhttp://forum.htmlbook.ru/index.php?showtopic=22359
-
Пытался разобраться, ни хренасики не получается. А если на коммерческой основе? Сколько это будет стоить?
-
Вот ссылка http://www.harthaus.ru/apartament/. Предыдущая запись тоже с фото и когда я убираю у ul ppy-imglist они выводятся, пробовал последовательно убирать в ppy-imglist строки, но ничего не меняется. Подскажите верный путь.
-
Здравствуйте! Увидел интересную галерею http://dev.herr-schuessler.de/jquery/popeye/demo.html. Пример №2.Пробую прикрутить. На сайте есть раздел вроде доски объявлений - хотелось бы чтобы к каждой записи выводился блок фотографий. Проблема в том, что фото выводятся только к последней записи. Убрал у тега ul стиль ppy-imglist - фото выводятся к каждой записи (конечно криво, но они есть). Поэтому возникла догадка, что при каждом последующем выводе записи из БД блок фотографий просто накладывается на предыдущий. Верно ли? И как это можно исправить? <!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=windows-1251"> <title></title> <link rel="stylesheet" type="text/css" href="http://www.harthaus.ru/main.css" media="screen" /> <link rel="stylesheet" type="text/css" href="http://www.harthaus.ru/ppy/css/popeye/jquery.popeye.css" media="screen" /> <link rel="stylesheet" type="text/css" href="http://www.harthaus.ru/ppy/css/popeye/jquery.popeye.style.css" media="screen" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="http://www.harthaus.ru/ppy/lib/popeye/jquery.popeye-2.0.4.min.js"></script> </head> <body> <div id="wrap"> <div id="content"> <?php include_once('../blocks/sidebar.php');?> <div id="maincontent"> <?php include_once("../../connection.php"); $result = mysql_query('SELECT heading,message,tel,name,path1big,path1small,path2big,path2small FROM information WHERE operid = "s_kv" ORDER BY informid DESC LIMIT '.$start_pos.','.$perpage) or die('error Что то не выбирает'); while($row = mysql_fetch_array($result)) { printf(" <div id='page-margins'> <div class='example'> <h3>".$row['heading']."</h3> <div class='ppy' id='ppy2'> <ul class='ppy-imglist'> <li><a href='".$row['path1big']."'><img src='".$row['path1small']."' alt='Продажа квартир' /></a></li> <li><a href='".$row['path2big']."'><img src='".$row['path2small']."' alt='Продажа квартир' /></a></li> </ul> <div class='ppy-outer'> <div class='ppy-stage'> <div class='ppy-counter'> <strong class='ppy-current'></strong> / <strong class='ppy-total'></strong> </div> </div> <div class='ppy-nav'> <div class='nav-wrap'> <a class='ppy-next' title='Следующая'>Следующая</a> <a class='ppy-prev' title='Предыдущая'>Предыдущая</a> <a class='ppy-switch-enlarge' title='Увеличить'>Увеличить</a> <a class='ppy-switch-compact' title='Закрыть'>Закрыть</a> </div> </div> </div> </div> <p>".$row['message']."<br /> </p> <p>".$row['name']." Тел.".$row['tel']."<br /> </p> </div> </div> <br />"); } ?> </div> <?php include_once('../blocks/p_sidebar.php');?> </div <br style="clear:both;" /> <?php include_once('../blocks/footer.php');?> </div> <!-- [example js] begin --> <script type="text/javascript"> <!--//<![CDATA[ $(document).ready(function () { var options2 = { caption: false, navigation: 'permanent', direction: 'left' } var options3 = { caption: 'permanent', opacity: 1 } $('#ppy1').popeye(); $('#ppy2').popeye(options2); $('#ppy3').popeye(options3); }); //]]>--> </script> <!-- [example js] end --> </body> </html> Стили .example{ margin: 0 0 2em 0; border-bottom: 1px solid #ddd; } #page-margins { width: 500px; margin: 0 auto; padding: 0 0 3em 0; } .ppy-imglist { width: 100%; display: block; overflow: hidden; } .ppy-imglist li { padding: 10px; border: 1px solid #f0f0f0; border-radius: 5px; -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; background: #FFF; list-style: none; float: left; display: block; margin: 0 10px 10px 0; } .ppy-imglist li a img { display: block; border: 0; } /* popeye example 2 */ #ppy2.ppy-active { width: 224px; float: right; margin: 0 0 10px 20px; } #ppy2 .ppy-outer { padding: 0 46px 0 0; } #ppy2 .ppy-stagewrap { padding: 7px; border-radius: 5px 0 5px 5px; -moz-border-radius: 5px 0 5px 5px; -webkit-border-radius: 5px 0 5px 5px; background: #cleaff; background: rgba(193,234,255,0.7); } #ppy2 .ppy-stage { width: 160px; height: 160px; border: 2px solid #fff; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; background-color: #777; } #ppy2 .ppy-counter { background: #FFF; color: #333; padding: 0 5px; font-size: 0.8em; position: absolute; bottom: 0; right: 0; opacity: 0.7; border-radius: 5px 0 0 0; -moz-border-radius: 5px 0 0 0; -khtml-border-radius: 5px 0 0 0; -webkit-border-radius: 5px 0 0 0; } #ppy2 .ppy-loading { background-image: url(../../gfx/popeye/loading2.gif); background-repeat: no-repeat; background-position:center; } #ppy2 .ppy-nav { border-radius: 0 5px 5px 0; -moz-border-radius: 0 5px 5px 0; -webkit-border-radius: 0 5px 5px 0; background: #76c6ee; background: -webkit-gradient( linear, left top, right bottom, color-stop(0, rgb(118,198,238)), color-stop(1, rgb(45,158,214)) ); background: -moz-linear-gradient( left top, rgb(118,198,238) 0%, rgb(45,158,214) 100% ); border-left: 1px solid #6ab1d5; width: 45px; position: absolute; top: 4px; right: 0; } #ppy2 .nav-wrap { padding: 5px 0; } #ppy2 .ppy-nav a { display: block; overflow: hidden; text-indent: -900em; height: 22px; padding: 5px; border-radius: 0 5px 5px 0; -moz-border-radius: 0 5px 5px 0; -webkit-border-radius: 0 5px 5px 0; width: 30px; } #ppy2 .ppy-prev { background: url(../../gfx/popeye/prev3.png) no-repeat center; } #ppy2 .ppy-next { background: url(../../gfx/popeye/next3.png) no-repeat center; } #ppy2 .ppy-switch-enlarge { background: url(../../gfx/popeye/enlarge4.png) no-repeat center; } #ppy2 .ppy-switch-compact { background: url(../../gfx/popeye/compact4.png) no-repeat center; } #ppy2 .ppy-nav a:hover { background-color: #378eba; cursor: pointer; opacity: 0.8; }
-
Возможно ли делать так: ini_set('memory_limit', '32M'); $maxsize = 65536; $extentions = array( "gif","txt","jpg","jpeg","png","psd"); $type = strtolower(substr($_FILES['file']['name'][$i], 1+strrpos($_FILES['file']['name'][$i],"."))); $new_name = 'file-'.time().'.'.$type; if($_FILES['file']['size'][$i] > $maxsize) { $err = '<li>Произошла ошибка: размер фото больше 64Кб</li>'; } elseif(!in_array($type,$extentions)) { $err = $err.'<li>Произошла ошибка: файл имеет недопустимое расширение</li>'; } if (!empty($err)) { echo "$err"; exit("<br /><input name='back' type='button' value='Вернуться назад' onclick='java script:self.back();'>"); } else { if (copy($file, "uploads/".$new_name)) И дальше делаем с файлами то , что нам нужно; } ..................................... header( 'Location: '.$_SERVER['PHP_SELF']; Можно, видимо и наоборот: if (!$err) { copy($file, "uploads/".$new_name); и дальше работаем с файлами..... header( 'Location: '.$_SERVER['PHP_SELF']; } else { echo "$err"; exit; } Второй вариант похоже предпочтительней?
-
В смысле, если количество ошибок равно нулю, тогда переадресовываем? Спасибо, сейчас буду пробовать.
-
Я вот как раз этого и не улавливаю. Если будет ошибка, то нужно об этой ошибке сообщить и вывести это сообщение(и тогда переадресация не нужна), а если ошибок не будет, то пользователя переадресовываем. Т.е. получается, надо или проверку вставлять куда-то в другое место - а, куда ее еще вставишь-только в цикл, надо же проверять каждый из файлов или , если форма заполнена без ошибок и файлы прикреплены нормальные, перенаправлять пользователя куда-либо, может не на эту страницу, на другую? Может это можно каким то другим способом сделать?
-
Здравствуйте! Прошу помочь разобраться. Есть скрипт отправки почты с вложением нескольких файлов - только картинки или фотографии плюс проверка на размер файла ( до 64 Кб). Вот кусок скрипта: <?php session_start(); $admin = 'pochta@mail.ru'; if ( isset( $_POST['sendMail'] ) ) { $name = substr( $_POST['name'], 0, 64 ); $tel = substr( $_POST['tel'], 0, 64 ); $email = substr( $_POST['email'], 0, 64 ); $subject = substr( $_POST['subject'], 0, 64 ); $message = substr( $_POST['message'], 0, 250 ); $error = ''; if ( empty( $name ) ) $error = $error.'<li>Не заполнено поле "Имя"</li>'; if ( empty( $tel ) ) $error = $error.'<li>Не заполнено поле "Телефон"</li>'; if ( empty( $email ) ) $error = $error.'<li>Не заполнено поле "E-mail"</li>'; if ( empty( $subject ) ) $error = $error.'<li>Не заполнено поле "Тема"</li>'; if ( empty( $message ) ) $error = $error.'<li>Не заполнено поле "Сообщение"</li>'; if ( !empty( $email ) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email ) ) $error = $error.'<li>поле "E-mail" должно соответствовать формату somebody@somewhere.ru</li>'; if ( !empty( $error ) ) { $_SESSION['sendMailForm']['error'] = '<p>При заполнении формы были допущены ошибки:</p><ul>'.$error.'</ul>'; $_SESSION['sendMailForm']['name'] = $name; $_SESSION['sendMailForm']['tel'] = $tel; $_SESSION['sendMailForm']['email'] = $email; $_SESSION['sendMailForm']['subject'] = $subject; $_SESSION['sendMailForm']['message'] = $message; header( 'Location: '.$_SERVER['PHP_SELF'] ); die(); } $filepath = array(); $filename = array(); for( $i = 0; $i < count($_FILES['file']); $i++) { if ( !empty( $_FILES['file']['tmp_name'][$i] ) and $_FILES['file']['error'][$i] == 0 ) { $filepath[] = $_FILES['file']['tmp_name'][$i]; $filename[] = $_FILES['file']['name'][$i]; // проверка загружаемого файла ini_set('memory_limit', '32M'); $maxsize = 64 * 1024; $extentions = array( "gif","jpg","jpeg","png","psd"); $size = filesize ($_FILES['file']['tmp_name'][$i]); $type = strtolower(substr($_FILES['file']['name'][$i], 1+strrpos($_FILES['file']['name'][$i],"."))); $new_name = 'file-'.time().'.'.$type; if($size > $maxsize) { echo "Файл больше 64 Кб. Уменьшите размер вашего файла или загрузите другой. <br><a href='' onClick=window.close();>Закрыть окно</a>"; } elseif(!in_array($type,$extentions)) { echo ' <b>Файл имеет недопустимое расширение</b><br>'; } //конец проверки } } $body = "АВТОР:\r\n".$name."\r\n\r\n"; $body .= "ТЕЛЕФОН:\r\n".$tel."\r\n\r\n"; $body .= "E-MAIL:\r\n".$email."\r\n\r\n"; $body .= "ТЕМА:\r\n".$subject."\r\n\r\n"; $body .= "СООБЩЕНИЕ:\r\n".$message; if ( send_mail($admin, $body, $email, $filepath, $filename) ) $_SESSION['success'] = true; else $_SESSION['success'] = false; header( 'Location: '.$_SERVER['PHP_SELF'] ); die(); } При запуске ругается, говорит, что заголовки уже были посланы. Смысл ошибки я понял - перед header не должно быть echo. Как тогда сообщить о том, что файл большой или имеет недопустимое расширение?