Файл отредактирован и перенсен ниже!!! Фото фотоальбома: http://s015.radikal.ru/i332/1103/91/f7674d2279c9.jpg
Господа программисты.Помогите начинающему программисту. Хочу реализовать функцию,чтобы фотографии можно было присвоить имя с ссылкой на другую страницу. Вот до чего смог дойти на данном этапе. Создал три формы с использованием mysql. Форма добавления файла (dobavlenue.php) -------------------------------------------------------------------------------- <body> <form id="bdobrabotka" name="bdobrabotka" method="post" action="bdobrabotka.php"> Название <input name="name" type="text" size="20" /><br > Ссылка <input name="link" type="text" size="20" /> <input name="submit" type="submit" value="Добавить" /> </form> </body> --------------------------------------------------------------------- Форма обработки (bdobrabotka.php) ------------------------------------------------------------ <body> <?php if (isset($_POST['link'])) { $link= $_POST['link']; } if (isset($_POST['name'])) { $name= $_POST['name']; } $db = mysql_connect ("localhost","mousr","1"); mysql_select_db ("mo",$db); $result = mysql_query("INSERT INTO zapus (link,name) VALUES ('$link','$name')"); if ($result =='true') { echo "Изменен успешно добавленны в базу"; } else { echo "Ошибка,запись в базу данных не прошла!"; } ?> -------------------------------------------------------------------------- И форма вывода (vuvod.php) ------------------------------------------------- <body> <?php $db = mysql_connect ("localhost","mousr","1"); mysql_select_db ("mo",$db); $result = mysql_query("SELECT * FROM zapus",$db); $myrow = mysql_fetch_array($result); do { echo "<a href= ".$myrow ['link']."> ".$myrow ['name']."</a> <br>" ; } while ($myrow = mysql_fetch_array($result)); ?>
<?php // абсолютный путь до домашней категории может быть задан хостером, // если не работает $_SERVER['DOCUMENT_ROOT'] // впишите свой путь заданный хостером, к примеру $path = '/home/www/ваш_домен.ru'; $path=$_SERVER['DOCUMENT_ROOT']; include ('adminses.php'); include ('adminfunc.php'); include $path.'/mycode/photoconf.php'; @$page = intval($_GET[page]); @$delcat = $_GET['delcat']; @$del = $_GET['del']; @$del_ok = intval($_GET[ok]); $sitetitle="Фото-альбом"; $cat = (isset ($_GET['cat']))? $_GET['cat'] : ""; if($cat =="") { $razdel=""; } else { $razdel="cat=$cat&"; } define ('PICTURES', $_SERVER['DOCUMENT_ROOT']."/pictures/$cat"); function full_del_dir ($directory) { $dir = opendir($directory); while(($file = readdir($dir))) { if ( is_file ($directory."/".$file)) { unlink ($directory."/".$file); } else if ( is_dir ($directory."/".$file) && ($file != ".") && ($file != "..")) { full_del_dir ($directory."/".$file); } } closedir ($dir); rmdir ($directory); //echo("1"); } if ($delcat) { $photoFile = PICTURES."$delcat"; if(file_exists("$photoFile") ) { if ($del_ok) { if ($del_ok>0) { @chmod (PICTURES, 0777); !full_del_dir($photoFile); @chmod (PICTURES, 0755 ); @$contentcenter .='<h3>Удаление Категории</h3>'; $contentcenter.= "Категория <B>$delcat</B> успешно удалена!<br><br><a href=\"../admin/photo.php\"><B>Вернуться в фото-альбом</B></a>"; include 'admintemplate.php'; exit; } } else { @$contentcenter .='<h3>Удаление Категории</h3>'; $contentcenter.= "Вы действительно хотите удалить <B>$delcat</B><br><a title=\"Удалить\" href=\"../admin/photo.php?delcat=".$delcat."&ok=1\">ДА</a> | <a title=\"Отложить\" href=\"../admin/photo.php\">НЕТ</a><br><br><a href='javascript:history.back(1)'><B>Вернуться назад</B></a>"; include 'admintemplate.php'; exit; } } else { @$contentcenter.= "<h3>Удаление Категории</h3>"; $contentcenter.= "Такой категории <B>$delcat</B> нет!<br><br><a href='javascript:history.back(1)'><B>Вернуться назад</B></a>"; include 'admintemplate.php'; exit; } exit; } if ($del) { $photoFile = PICTURES."/$del"; $thumb_photoFile = PICTURES."/thumb/t$del"; $printcat=$cat; if (!$cat) $printcat="Разное"; if(file_exists("$photoFile") and file_exists("$thumb_photoFile")) { if ($del_ok) { if ($del_ok>0) { @chmod (PICTURES, 0777); unlink($photoFile); @chmod (PICTURES."thumb", 0777); unlink($thumb_photoFile); @chmod (PICTURES."thumb", 0755 ); @chmod (PICTURES, 0755 ); @$contentcenter.= "<h3>Удаление Фото</h3>"; $contentcenter.= "Фото <B>$del</B> успешно удалено!<br><br><a href=\"../admin/photo.php?cat=".$cat."\"><B>Вернуться в фото-альбом</B></a>"; include 'admintemplate.php'; exit; } } else { @$contentcenter.= "<h3>Удаление Фото</h3>"; $contentcenter.= "Вы действительно хотите удалить <B>$del</B> из каталога <B>$printcat</B><br><a title=\"Удалить\" href=\"../admin/photo.php?del=".$del."&cat=".$cat."&ok=1\">ДА</a> | <a title=\"Отложить\" href=\"../admin/photo.php\">НЕТ</a><br><br><a href='javascript:history.back(1)'><B>Вернуться назад</B></a>"; include 'admintemplate.php'; exit; } } else { @$contentcenter.= "<h3>Удаление Фото</h3>"; $contentcenter.= "Такого файла <B>$del</B> нет!<br><br><a href='javascript:history.back(1)'><B>Вернуться назад</B></a>"; include 'admintemplate.php'; exit; } exit; } function photo_pages($string) { global $f,$u,$page,$pages,$cat, $razdel; if($string>$f) { if(!isset($page)) { $page="1"; } for($u=1;$u<=$pages;$u++) { if($u!=$page) { if($u==$pages) { print ' <a href="photo.php?'.$razdel.'page='.$u.'">'.$u.'</a>'; } else print ' <a href="photo.php?'.$razdel.'page='.$u.'">'.$u.'</a>'; } else { if($u==$pages) { print ' '.$u; } else print ' '.$u; } } } else echo"1"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=windows-1251" /> <title><?php echo $sitetitle;?></title> <meta name="description" content="Kan-Sdudio" /> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body> <div class="wrap"> <table class="adm_table"> <tr> <td colspan="2"> <div class="header"> <h2>Панель управления сайтом</h2> <div class="nav"><a href="../" target="_blank">Перейти на сайт</a> | <a href="help.php">Раздел помощи</a> | <a href="info.php">PHP-инфо</a></div> </div> </td> </tr> <tr> <td class="left_col" valign="top"> <h3 class="headerbar">Навигация</h3> <ul> <li><a href="index.php">Начало</a></li> <li><a href="settings.php">Настройки</a></li> <li><a href="menueditor.php">Редакция меню</a></li> <li><a href="templateeditor.php">Редакция шаблона</a></li> </ul> <h3 class="headerbar">Фото-альбом</h3> <ul> <li><a href="photo.php">Разделы, фото</a></li> <li><a href="/admin/photoset.php">Настройка</a></li> </ul> <h3 class="headerbar">Новости</h3> <ul> <li><a href="news.php">Обзор новостей</a></li> <li><a href="addnews.php">Добавить новость</a></li> </ul> <h3 class="headerbar">Гостевая книга</h3> <ul> <li><a href="guestbook.php">Управление записями</a></li> </ul> <center> <form method="POST" action="login.php" > <input type="hidden" name="name" value="usersite"> <input type="hidden" name="pass" value="kandidat"> <input type="submit" class="button" value="Выйти" name="logout"> </form> </center> </td> <td class="right_col"><h3>Фото-альбом</h3><a href="../admin/photoset.php">Настройки альбома</a> | <a href="../admin/addphotocat.php">Добавить раздел</a><br /><br /> Разделы: <? if(file_exists("../pictures/info.dat")) { $info=fopen("../pictures/info.dat","r") or die ("Файл не существует!"); $titlecat=fgets($info); clearstatcache(); } else {$title_cat="Главная";} echo "<a href=\"../admin/photo.php\">$titlecat</a> <a title=\"Редактровать\" href=\"../admin/edithpotocat.php\"><img src=\"images/edit.png\" border=\"0\"></a>"; $dd=opendir("../pictures"); while ($pfile = readdir ($dd)) { if($pfile!="." && $pfile!=".." && $pfile!="thumb" && filetype("../pictures/$pfile")=="dir" ) { if(file_exists("../pictures/$pfile/info.dat")) { $info_cat=fopen("../pictures/$pfile/info.dat","r") or die ("Файл не существует!"); $title_cat=fgets($info_cat); clearstatcache(); } else {$title_cat="Без имени";} echo " | <a href=\"../admin/photo.php?cat=$pfile\">$title_cat</a> <a title=\"Редактровать\" href=\"../admin/edithpotocat.php?cat=$pfile\"><img src=\"images/edit.png\" border=\"0\"></a> <a title=\"Удалить\" href=\"../admin/photo.php?delcat=$pfile\"><img alt=\"Удалить\" src=\"images/delete.png\" border=\"0\"></a>"; } } closedir($dd); ?><br /><br /> <table align=center border=0 width=98%> <tr> <td valign=top align=center width=96%> <? $cat=urldecode($cat); if(file_exists(PICTURES)) { chdir(PICTURES); $scan_dir=opendir("."); while($scan_dir2=readdir($scan_dir)) { $arr=explode(".",$scan_dir2); $end=strtolower(end($arr)); if($scan_dir2!="." && $scan_dir2!=".." && in_array($end,$types)) @$npr++; } $pages=ceil(@$npr/$f); if($page=="" || $page=="0" || $page>$pages) $page=1; if(file_exists("info.dat")) { $file=fopen("info.dat","r") or die ("Файл не существует!"); $title_cat=fgets($file); clearstatcache(); } else $title_cat="Без имени"; ?> <table width="100%" align=center border=0> <tr> <td colspan=<?echo$x;?>>Раздел: <b><?echo$title_cat;?></b> (всего: <?echo @$npr;?> фото).</td> </tr> <tr> <td colspan=<?echo$x;?> valign=middle align=center><? if($page>1) echo "<a href=\"photo.php?".$razdel."page=".($page-1)."\"><b>««</b></a> ";?> Страницы: <?photo_pages(@$npr);?><? if($page<$pages) echo " <a href=\"photo.php?".$razdel."page=".($page+1)."\"><b>»»</b></a> ";?></td> </tr><? $i=$ii=1; $start=($page-1)*$f+1; $end=$page*$f; $dir_gal=opendir("."); while($image=readdir($dir_gal)) { $arr=explode(".",$image); $ext=strtolower(end($arr)); if($image!="." && $image!=".." && in_array($ext,$types) && filetype("$image")=="file") { if($ii>=$start && $ii<=$end) { if($i==1) echo "<tr>"; $info_img=getimagesize($image); if($cat =="") { $photocat=""; } else { $photocat="$cat/"; } echo "<td bgcolor=\"#FFFFFF\" valign=middle align=center><strong>- $ii -</strong><br> <a href=\"../pictures/$photocat$image\" target=_blank> <img src=\"../pictures/$cat/thumb/t$image\" border=1></a> <br>имя: ".str_replace(".$end","",$image)."<br> <br>имя: ".str_replace(".$end","",$image)."<br> <br><a href=\"../admin/photo.php?del=$image&cat=$cat\"><img alt=\"Удалить\" src=\"images/delete.png\" border=\"0\"></a></td>"; if($i==$x) { echo "</tr>"; $i=1; } else $i++; } $ii++; } } ?> <tr> <td colspan=<?echo $x;?> valign=middle align=center> <? if($page>1) echo "<a href=\"photo.php?".$razdel."page=".($page-1)."\"><b>««</b></a> ";?> Страницы: <?photo_pages(@$npr);?><? if($page<$pages) echo " <a href=\"photo.php?".$razdel."page=".($page+1)."\"><b>»»</b></a> ";?></td> </tr> </table><? } else {?> <table width="100%" align=center border=0> <tr> <td>Ошибка!</td> </tr> <tr> <td align=middle>Обзор альбома недоступен!</td> </tr> </table><? }?> </td> </tr> <tr> <td> <table cellspacing=1 cellpadding=6 width="100%" align=center border=0> <tr> <td align=center><span><center><a href='javascript:history.back(1)'><B>Вернуться назад</B></a></span><br><br></td> </tr> </table></td> </tr> </table> <script type="text/javascript" src="swfupload/swfupload.js"></script> <script type="text/javascript" src="js/handlers.js"></script> <script src="js/jquery-1.4.min.js"></script> <script src="js/jquery.form.js"></script> <script type="text/javascript" src="js/ajaxfileupload.js"></script> <script> var swfu; window.onload = function () { swfu = new SWFUpload({ // Backend Settings upload_url: "../admin/upload.php?cat=<?echo $cat;?>", // Relative to the SWF file // File Upload Settings file_size_limit : "10240", // 2MB file_types : ("*.jpg; *.jpeg"), file_types_description : "Images", file_upload_limit : "0", // Event Handler Settings - these functions as defined in Handlers.js // The handlers are not part of SWFUpload but are part of my website and control how // my website reacts to the SWFUpload events. file_queue_error_handler : fileQueueError, file_dialog_complete_handler : fileDialogComplete, upload_progress_handler : uploadProgress, upload_error_handler : uploadError, upload_success_handler : uploadSuccess, upload_complete_handler : uploadComplete, // Button Settings button_image_url : "", button_placeholder_id : "spanButtonPlaceholder", button_width: 260, button_height: 18, button_text : '<span>Загрузить фото в этот раздел <span>(10 ГБ Max)</span></span>', button_text_style : '.button { font-family: Trebuchet MS", Arial, Helvetica, sans-serif; font-size: 12pt; } .buttonSmall { font-size: 12pt; }', button_text_top_padding: 1, button_text_left_padding: 18, button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT, button_cursor: SWFUpload.CURSOR.HAND, // Flash Settings flash_url : "swfupload/swfupload.swf", custom_settings : { upload_target : "divFileProgressContainer" }, // Debug Settings debug: false }); }; </script> <div align="center"> <!--Загружаем фото --> <form> <div style="display: inline; border: solid 1px #999999; border-left:none; border-top:none; background-color:#EEEEEE; padding: 3px;"><span id="spanButtonPlaceholder"></span></div> </form> <div id="divFileProgressContainer" style="height: 75px; z-index:99999;"></div> </div> </div> </div></td> </tr> <tr> <td colspan="2" class="footer"> Powered by: <a href="http://www.Kan-Studio.ru">Kandidat CMS v.1.4.4</a></td> </tr> </table> </div> </body> </html> ------------------------------------------------------------------------------------------------------------------------------------------ Скрипт фотоальбома: Код который в админке!!!
Скрипт фотоальбома который выходит при загрузке вотоальбома ----------------------------------------------------------------------------------------------------------------------------- <?php // абсолютный путь до домашней категории может быть задан хостером, // если не работает $_SERVER['DOCUMENT_ROOT'] // впишите свой путь заданный хостером, к примеру $path = '/home/www/ваш_домен.ru'; $path=$_SERVER['DOCUMENT_ROOT']; include $path.'/mycode/photoconf.php'; @$mode = $_GET[mode]; @$page = $_GET[page]; @$image = $_GET[image]; @$img = $_GET; $cat = (isset ($_GET['cat']))? $_GET['cat'] : ""; if($cat =="") { $razdel=""; } else { $razdel="-cat-$cat"; } define ('PICTURES', $path."/pictures/$cat"); function pages($string) { global $f,$u,$page,$pages,$cat, $razdel; if($string>$f) { if(!isset($page)) { $page="1"; } for($u=1;$u<=$pages;$u++) { if($u!=$page) { if($u==$pages) { print ' <a href="photo'.$razdel.'-'.$u.'.html">'.$u.'</a>'; } else print ' <a href="photo'.$razdel.'-'.$u.'.html">'.$u.'</a>'; } else { if($u==$pages) { print ' '.$u; } else print ' '.$u; } } } else echo"1"; } ?> <table cellspacing=5 valign="top" border=0 width=100%> <tr> <td valign=top align=center width=96%><? $cat=urldecode($cat); if(file_exists(PICTURES)) { chdir(PICTURES); $scan_dir=opendir("."); while($scan_dir2=readdir($scan_dir)) { $arr=explode(".",$scan_dir2); $end=strtolower(end($arr)); if($scan_dir2!="." && $scan_dir2!=".." && in_array($end,$types)) @$npr++; } $pages=ceil(@$npr/$f); if($page=="" || $page=="0" || $page>$pages) $page=1; if(file_exists("info.dat")) { $file=fopen("info.dat","r") or die ("Файл не существует!"); $title_cat=fgets($file); clearstatcache(); } else $title_cat="Без имени"; ?> <table cellspacing=1 cellpadding=2 width="100%" align=center border=0> <tr> <td colspan=<?echo$x;?>>Раздел: <b><?echo$title_cat;?></b> (всего: <?echo @$npr;?> фото).</td> </tr> <tr> <td colspan=<?echo$x;?> valign=middle align=center><? if($page>1) echo "<a href=\"photo".$razdel."-".($page-1).".html\"><b>««</b></a> ";?> Страницы: <?pages(@$npr);?><? if($page<$pages) echo " <a href=\"photo".$razdel."-".($page+1).".html\"><b>»»</b></a> ";?></td> </tr><? $i=$ii=1; $start=($page-1)*$f+1; $end=$page*$f; $dir_gal=opendir("."); while($image=readdir($dir_gal)) { $arr=explode(".",$image); $ext=strtolower(end($arr)); if($image!="." && $image!=".." && in_array($ext,$types) && filetype("$image")=="file") { if($ii>=$start && $ii<=$end) { if($i==1) echo "<tr>"; $info_img=getimagesize($image); if($cat =="") { $photocat=""; } else { $photocat="$cat/"; } echo "<td valign=middle align=center><strong>- $ii -</strong><br> <a rel=\"lightbox-group\" href=\"pictures/".$photocat."$image\" target=_blank> <img src=\"pictures/".$photocat."thumb/t$image\" style=\"background: #ECECEC; padding: 2px; border: 1px solid #B2B2B2\"></a> <br>имя: ".str_replace(".$end","",$image)."<br> <i>размер: $info_img[0]x$info_img[1]</i></td>"; if($i==$x) { echo "</tr>"; $i=1; } else $i++; } $ii++; } }?> <tr> <td colspan=<?echo $x;?> valign=middle align=center><? if($page>1) echo "<a href=\"photo".$razdel."-".($page-1).".html\"><b>««</b></a> ";?> Страницы: <?pages(@$npr);?><? if($page<$pages) echo " <a href=\"photo".$razdel."-".($page+1).".html\"><b>»»</b></a> ";?></td> </tr> </table><? } else {?> <table cellspacing=1 cellpadding=6 width="100%" align=center border=0> <tr> <td>Ошибка!</td> </tr> <tr> <td align=middle>Обзор альбома недоступен!</td> </tr> </table><? }?> </td> </tr> <tr> <td> <table cellspacing=1 cellpadding=6 width="100%" align=center border=0> <tr> <td align=center><span><center><a href='javascript:history.back(1)'><B>Вернуться назад</B></a></span></td> </tr> </table></td> </tr> </table>
melihovgv зачем так много-много кода? тем более неотформатированного? тут кнопки есть при создании сообщения - PHP, SQL, HTML ... ах, да, выкини курсы Попова на помойку, предварительно постучав по ним молотком. по теме: тут желательно делать динамическую форму с javascript, обновляемую с помощью ajax. хотя можно и без динамики, но тогда под каждой картинкой нужно будет делать форму.
Хорошо,а есть по лучше курсы?А как это реализовать чтобы в форме можно было присваивать каждой картинке имя с гиперссылкой?
melihovgv в вебе, в отличие от десктопных приложений, редактируются элементы по одному. это связано с тем, что хттп - протокол без сохранения состояния. да и удобнее обрабатывать одну форму, чем множество за раз. но для человека удобнее редактировать видя сразу множество элементов, например, как названия фотографий на фото.майл.ру. принцип тот же самый - одна форма на один объект. однако из-за того, что запрос делается асинхронно с помощью ajax-а, пользователю кажется, что фотка переименовывается сразу.
если это уже реализовано на майл.ру, то логично предположить, что можно. делается это с помощью библиотеки jquery и ajax запросов для облегчения нелёгкого кодинга на чистом javascript. достаточно погуглить на тему jquery ajax