условие ставь при котором die ну например если рефер не с нужной страници, или сам думай, вобщем если после этой команды нужен вывод- смысл ее теряется
Здравствуйте.Помогите с radiobutton смысл в том что с помощью него в форме выбирают какбы стиль и как прописать что там radiobutton1 = style1.css radiobutton2= style2.css Тоесть в форме выбираеться у меня длаьше идёт через POST в другой файлвот он) PHP: <?php $name = $_POST['name']; $fon = $_POST['fon']; $pozd = $_POST['pozd']; $pod = $_POST['pod']; $sitename = $_POST['sitename']; ?> <!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> </head> <body> <?php $h = fopen("otk/$sitename.php","w"); $text = " <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1251'> <title>Untitled Document</title> <link href=' ' rel='stylesheet' type='text/css'> </head> <body> <table width='690' border='0' align='center'> <tr> <th scope='col'><img src='img/head.gif' width='690' height='100'></th> <th scope='col'> </th> </tr> <tr> <td><h2><?php echo $name; ?><span><?php echo $name; ?></span></h2></td> <td</td> </tr> <tr> <td><img src='img/fon1.jpg' width='575' height='239' align='top'></td> <td> </td> </tr> <tr> <td><p><textarea name='' cols='84' rows='8' readonly='readonly' wrap='off'>$pozd</textarea></p></td> <td> </td> </tr> <tr> <td></td> <td> </td> </tr> <tr> <td>Подарок от: <font size='+1'><p><?php echo $pod; ?></p></font></td> <td> </td> </tr> </table> </body> </html>"; if (fwrite($h,$text)) echo "Готова"; else echo "Ошибка"; fclose($h); ?> </body> </html> <br><br> Внимание !отправляйте ссылку на открытку вашим дурзьям! если вы забудете ссылку, то администрация не в силах вам помочь вспомнить её! Ссылка <br><textarea name="" cols="50" rows="2" readonly="readonly">www.lovenik.ru/otk/<?php echo $sitename ?>.php</textarea><br> <a href="otk/<?php echo $sitename ?>.php">Перейти на открытку</a> и я незнаю как радиобуттон пометить так чтоб каждай обазначала путь к своему файлу...и чтоб потом переменная была именна та которую выбрали Ну вообще..я както написла...помогите...если чё я попробу ещё точнее какнить обьяснить
наверно всетаки постом передавать имя радиобатона и переменная примет значение которое отмеченно в value= или я что то не так понял? и судя по описанию ты лучшеб первый файл выложил чем обработчик, ну если необходимы разные условия в зависимости от выбора- то if - еще никто не отменял
Как отправлять сообщения в кирилице в жж в utf8 и cp1251? Пробовал различные варианты, сервер возвращает ошибку 500. Вроде бы нужно url закодировать текст, из того что я пробовал, все равно не получилось отправить.
Помогите..делаю создание файла на серврее с помощью пхп PHP: <?php $h = fopen("otk/$sitename.php","w"); $text = " тралялялялялыв"; if (fwrite($h,$text)) echo "Готово"; else echo "Ошибка!!!."; fclose($h); ?> через денвер всё работало а когда заливаю на хост и там пытаюсь создать показывает ошибки вот эти(( Что исправить или как создать файл подругом
мож всетаки вот так? PHP: $h = fopen('otk/'.$sitename.'.php',"w"); если создаеш файл в той-же дирректории где находится скрипт то путь указывать ненадо P.S права на папку otk/ поставь 777
Как эту функцию можно сократить? Она ставит изображения в линию и превращает их в одно изображение.. что здесь лишнее, а чего не хватает. PHP: function image_merge($imagesadress,$save=null){ if(!$imagesadress) return false; foreach ($imagesadress as $image) $img[] = imagecreatefromjpeg($image); $allwidth=0; for($i=0;$i<count($imagesadress);$i++){/*тут в цикле берутся данные картинок с помощью функции getimagesize()*/ list($width[$i],$height[$i])=getimagesize($imagesadress[$i]); $allwidth+=$width[$i];/* и подбирается подходящий размер для новой картинки*/ } rsort($height);/* сортируем по убыванию, чтобы подобрать высоту новой картинки.*/ $allheight=$height[0]; $im=imagecreate($allwidth, $allheight);/* создаем новую картинку.*/ for($i=0;$i<count($imagesadress);$i++){/* помещаем туда, как в контейнер, наши изображенияя*/ imagecopymerge($im, $img[$i], $i*$width[$i], 0, 0, 0, $width[$i], $height[$i], 100); } imagejpeg($im,$save);/* и все, это чтобы вывести, $save - адресс для новой картинки.*/ return true;/* все ок, значит труе выводим.*/ } $arr[]="imga1.jpg"; $arr[]="imga2.jpg"; if(image_merge($arr,"newpicture.jpg")){/* последний аргумент не обязательно писать, но тогда сам адрес где этот код будет являться адресом новой картинки.*/
hattp://stackoverflow.com/questions/1697882/md5-implementation-in-php-where-am-i-going-wrong В гугли нашел за две минуты мой вопрос остается в силе..
snet Что вас не устраивает в вашем коде? Есть хорошее правило: если программа работает - не трогайте ее.
Gifts, не годится это правило никуда. Хочу уметь писать правильно, кратко и читабельно, кроме как спрашивать мнения о своем коде я не вижу другого способа этому научиться... Я просто написал эту функцию полностью сам, поэтому сомневаюсь что идеально. Хотел бы услышать ответы в духе "Почему у тебя так, если можно так" или "не хватает того, посмотри как тут".
2snet Лень все расписывать покажу лишь пару моментов Момент 1: Ты сортировал массив $height, чтобы выбрать наибольшее значение, для новой картинки. Это хорошо, но потом при добавлении картинки к "контейнеру" ты берешь значение высоты исходной картинки уже из отсортированного массива. Все былобы хорошо если 1 картинка была большего размера (высоты). Но если картинка с большей высотой - вторая (или 3 и т.д.), то после сортировки в этом куске PHP: imagecopymerge($im, $img[$i], ... $height[$i], 100); она будет брать не свою высоту (т.к. ты сортировал массив). Надеюсь понял ))) Вылечить можно так: После $allwidth+=$width[$i]; добавить $truehigth[$i] = $height[$i]; Тем самым мы сделаем новый массив чтобы картинки в последующем брали свои размеры из этого массва, который не будет сортирован. И применим его тут: PHP: imagecopymerge($im, $img[$i], ... $truehigth[$i], 100); Момент 2: Расположение картинок на "контейнере". В твоей функции оно тут: PHP: imagecopymerge($im, $img[$i], $i*$width[$i], 0, 0, 0, $width[$i], $height[$i], 100); А именно $i*$width[$i] Получается следующее: У нас 2 картинки у первой ($i=0) ширина 100 у второй ширина 250. В цикле получится первая картинка ляжет на x=0 (т.к. 0*100 = 0), а вторая картинка ляжет на 250 (1*250) исходя из $i*Ширина. И получится, что у нас образуется пробел между картинками в 150 пикселей. (А если будет третья то та вообще ляжет на две своих ширины. $=2 => 2*ширину). А нам нужно картинки укладывать так: 0 + X предыдущей картинки. (или ширина предыдущих) Чтобы они шли ровно друг за другом. Я бы сделал так - координаты по x высчитывал бы: $x += $width[$i-1]; переменная бы увеличивалась на ширину предыдущих картинок. И ее бы использовал при добавлении на контейнер. Так: PHP: $x += $width[$i-1]; imagecopymerge($im, $img[$i], $x, 0 ... ); Получится, что новая картинка будет ложится, где кончаются предыдущие. Вроде правильно. ) Момент 3: Цвета с твоей функцией у меня получались в сером оттенке. Совсем не красиво. Я изменил эту строчку: PHP: $im=imagecreate($allwidth, $allheight);/* создаем новую картинку.*/ На PHP: $im=imagecreatetruecolor($allwidth, $allheight); Момент 4: Не знаю зачем ты использовал imagecopymerge, если слияние нам тут в принципе не нужно. Мы же следующие картинки ставим не как водяные знаки. я бы использовал imagecopy Момент 5: У тебя два однотипных цикла PHP: foreach ($imagesadress as $image) $img[] = imagecreatefromjpeg($image); //и сразу за ним for($i=0;$i<count($imagesadress);$i++){ ... Зачем использовать первый массив для объявления ID изображений, если их можно сделать во втором? PHP: for($i=0;$i<count($imagesadress);$i++){ $img[] = imagecreatefromjpeg($imagesadress[$i]); list($width[$i],$height[$i])=getimagesize($imagesadress[$i]); $allwidth+=$width[$i]; } В итоге, если все собрать получим такую: PHP: <?php function image_merge($imagesadress,$save=null){ if(!$imagesadress) return false; for($i=0,$cnt=count($imagesadress);$i<$cnt;$i++){ $img[] = imagecreatefromjpeg($imagesadress[$i]); list($width[$i],$height[$i])=getimagesize($imagesadress[$i]); $allwidth+=$width[$i]; $truehigth[$i] = $height[$i]; } rsort($height); $allheight=$height[0]; $im=imagecreatetruecolor($allwidth, $allheight); for($i=0,$cnt=count($imagesadress);$i<$cnt;$i++){ $x += $width[$i-1]; imagecopy($im, $img[$i], $x, 0, 0, 0, $width[$i], $truehigth[$i]); } imagejpeg($im,$save); return true; } $arr[]="1.jpg"; $arr[]="2.jpg"; $arr[]="3.jpg"; $arr[]="4.jpg"; if(image_merge($arr,"newpicture.jpg")) echo "<img src='newpicture.jpg' />"; ?> И еще. Хорошо бы все кратинки подгонять под одну высоту, чтобы небыло черных пробелов. Посмотри тут функцию http://www.codenet.ru/webmast/php/gd/Resize.php
Спасибо большое, такого развернутого ответа мне никогда не давали. Все свои ошибки понял, еще раз спасибо.
А есть ли возможность определить, что за ос установлена на удаленной машине (включая мобильные платформы)?
Можно по юзерагенту узнать информацию об ОС, но информацию не полную... http://ru.wikipedia.org/wiki/Useragent