Так, выручайте, всю бошку сломал уже: Код (Text): if($_GET['step'] == 'ava'){ ?> <form method="post" action="profile.php?edit=ava" enctype="multipart/form-data"> <center> <p>Ваш аватар:</p> <img src="http://<? echo $avatar ?>" /><br /> <input type="file" name="avatar" /> <input type="submit" value="Загрузить!" /> </center> </form> </center> </table> </td> </tr> </table> <br/><br/><br/> <?php } Код (Text): if($_GET['edit'] == 'ava'){ $avatar = $_FILES['avatar']['name']; $copy = copy($_FILES['avatar']['tmp_name'], "$_SERVER[DOCUMENT_ROOT]/images/avatars/".$_FILES['avatar']['name']); $query_pers = mysql_query("UPDATE `members` SET `$_SERVER[SERVER_NAME]/images/avatars/$avatar` = '$avatar'"); echo "<center><p>Изменения сохранены!</p></center>"; } Появляется просто экран... ничего в БД не изменяется, ничего не копируется. Во всех остальных функциях работает... думаю показывать весь код или нет...
Сделайте хотя бы из Код (Text): $query_pers = mysql_query("UPDATE `members` SET `$_SERVER[SERVER_NAME]/images/avatars/$avatar` = '$avatar'"); Код (Text): $query_pers = mysql_query("UPDATE `members` SET `$_SERVER[SERVER_NAME]/images/avatars/$avatar` = '$avatar'") OR die(mysql_error()); И вы увидите, что у вас ДБ вываливается с ошибкой, что поля по имени Код (Text): `$_SERVER[SERVER_NAME]/images/avatars/$avatar` у вас нет. В лучшем случае вы пытаетесь записать в поле, которое называется так же как и файл с полным путём. То есть у вас этого поля нет и не будет никогда в принципе. P.S.: Для переброски закачанного файла куда-нибудь есть специальная функция, используйте её. http://de3.php.net/manual/en/function.m ... d-file.php
Может, для начала тогда стоит запостить тот код, к которому у вас есть вопросы, а не какой-нибудь другой? напишите в начале скрипта, прежде чем тестировать: Код (Text): error_reporting(E_ALL); ini_set('display_errors', 1); и приведите полный код того скрипта, который не работает и структуру таблицы members в БД. Иначе это всё пустая трата времени.
вот весь скрипт: PHP: <?php if( isset( $_COOKIE['time'] ) && isset( $_COOKIE['name'] )) { include ("$_SERVER[DOCUMENT_ROOT]/lib/functions.php"); require ("$_SERVER[DOCUMENT_ROOT]/lib/head.inc"); include ("$_SERVER[DOCUMENT_ROOT]/lib/config.php"); if(isset($_GET['edit'])){ if($_POST){ if($_GET['edit'] == 'pass' or $_GET['edit'] == 'pers' or $_GET['edit'] == 'comm' or $_GET['edit'] == 'ava'){ /* Проверка и смена пароля */ if($_GET['edit'] == 'pass'){ if (isset($_POST['new_pass']) && isset($_POST['new_pass_r']) && isset($_POST['old_pass'])){ $old_pass = $_POST['old_pass']; $new_pass = $_POST['new_pass']; $cook_id = $_COOKIE['id']; $mysql_old_pass = mysql_query ("SELECT * FROM `members` WHERE `Id` = $Id AND `rpass` = $old_pass"); $old_row = mysql_num_rows($mysql_old_pass); if ($old_row == '0'){ echo "<center><p>Старый пароль не верен!</p></center>"; }else{ if ($_POST['new_pass'] == $_POST['new_pass_r']){ $query_pass = mysql_query("UPDATE `members` SET `rpass` = $new_pass WHERE `Id` = $cook_id"); echo "<center><p>Пароль изменён!</p></center>"; }else{echo "<p>Пароли не совпадают!</p>";}}}else{echo "<p>Одно из полей пропущено!</p>";} } /* Конец по паролю */ /*Проверка и смена личных данных*/ if($_GET['edit'] == 'pers'){ $name = $_POST['name']; $fam = $_POST['fam']; $date = $_POST['date']; $special_arr = Array (trim($_POST['CS_1_6']), trim($_POST['War3']), trim($_POST['CSS']), trim($_POST['CoD4']), trim($_POST['CoD6'])); $special = join(", ", $special_arr); if (isset($_POST['name']) && isset($_POST['fam']) && isset($_POST['date']) && isset($special)){ $cook_id = $_COOKIE['id']; $query_pers = mysql_query("UPDATE `members` SET `name` = '$name', `fam` = '$fam', `date` = '$date', `special` = '$special' WHERE `Id` = $cook_id"); echo "<center><p>Изменения сохранены!</p></center>"; }else{echo "<center><p>Одно из полей пропущено!</p></center>";} } /* Конец по личным данным*/ /* Проверка и смена данных для связи*/ if($_GET['edit'] == 'comm'){ $postEm = addslashes($_POST['email']); $em = mysql_query ("SELECT * FROM members WHERE email = '$postEm' ") or die(mysql_error()); $email = $_POST['email']; if(!preg_match("|[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}|i", $email)) { echo "<center><p>E-mail ввёден не корректно</p></center>"; } if( mysql_num_rows( $em ) > 0 ) { echo "<center><p>Пользователь с таким e-mail'ом уже существует!!</p></center>"; } $icq = $_POST['icq']; if (isset($_POST['email']) && isset($_POST['icq'])){ $query_pers = mysql_query("UPDATE `members` SET `email` = '$email', `icq` = '$icq' WHERE `Id` = $cook_id"); echo "<center><p>Изменения сохранены!</p></center>"; }else{echo "<center><p>Одно из полей пропущено!</p></center>";} } /* Конец по данным для связи*/ /* Проверка и смена аватара*/ if($_GET['edit'] == 'ava'){ $cook_id = $_COOKIE['id']; $avatar = $_FILES['avatar']['name']; $copy = copy($_FILES['avatar']['tmp_name'], "$_SERVER[DOCUMENT_ROOT]/images/avatars/".$_FILES['avatar']['name']); $query_pers = mysql_query("UPDATE `members` SET `avatar` = '$_SERVER[SERVER_NAME]/images/avatars/$avatar' WHERE `Id` = $cook_id")OR die(mysql_error()); ; echo "<center><p>Изменения сохранены!</p></center>"; } /* Конец по аватару*/ }else{echo "<p>Такой страницы не существует!</p>";} } } if (isset($_GET['act'])){ if($_GET['act'] == 'edit'){ $Id = $_COOKIE['id']; $mysql_memb = mysql_query("SELECT * FROM `members` WHERE `Id` = $Id"); $memb = mysql_fetch_array($mysql_memb); $nick = $memb['nick']; $name = $memb['name']; $fam = $memb['fam']; $date = $memb['date']; $special = $memb['special']; $email = $memb['email']; $icq = $memb['icq']; $avatar = $memb['avatar']; ?> <center><h1>Профиль</h1><p>Уважаемый пользователь! Просим вас отнестись к вашим данным серьезно. Все аккаунты с недостоверными данными будут удалены!</p></center> <table class="news" cellpadding="0" cellspacing="0"> <tr> <td> <table class="news" cellpadding="0" cellspacing="0"> <center> <br /> <div class="stepmini"> <a href="profile.php?act=edit&step=pass"><p>Пароль</p></a> </div> <div class="stepmini"> <a href="profile.php?act=edit&step=pers"><p>Личные данные</p></a> </div> <div class="stepmini"> <a href="profile.php?act=edit&step=comm"><p>Связь</p></a> </div> <div class="stepmini"> <a href="profile.php?act=edit&step=ava"><p>Аватар</p></a> </div> <?php if(isset($_GET['step'])){ if($_GET['step'] == 'pass' or $_GET['step'] == 'pers' or $_GET['step'] == 'comm' or $_GET['step'] == 'ava'){ if($_GET['step'] == 'pass'){ ?> <form method="post" action="profile.php?edit=pass" enctype="multipart/form-data"> <center> <p>Сменить пароль</p> <p>Старый пароль*:</p> <input type="password" name="old_pass" id="old_pass" /> <p>Новый пароль*:</p> <input type="password" name="new_pass" id="new_pass" /> <p>Повтор нового пароля*:</p> <input type="password" name="new_pass_r" id="new_pass_r" /> <input type="submit" value="Отправить!" /> </center> </form> <br /> </center> </table> </td> </tr> </table> <br/><br/><br/> <?php } if($_GET['step'] == 'pers'){ ?> <form method="post" action="profile.php?edit=pers" enctype="multipart/form-data"> <center> <p>Ваше имя:</p> <input value= "<? echo $name; ?>" type="text" name="name" id="name" /> <p>Ваша фамилия:</p> <input value="<? echo $fam; ?>" type="text" name="fam" id="fam" /> <p>Год рождения:</p> <SELECT NAME="date"> <OPTION SELECTED VALUE="<? echo $date; ?>"><? echo $date; ?></OPTION> <OPTION VALUE="1996">1996</OPTION> <OPTION VALUE="1995">1995</OPTION> <OPTION VALUE="1994">1994</OPTION> <OPTION VALUE="1993">1993</OPTION> <OPTION VALUE="1992">1992</OPTION> </SELECT> <p>Ваша специальность (в какие игры играете):</p> <p> <input type="checkbox" name="CS 1.6" value="Counter-Strike 1.6" />Counter-Strike 1.6<br> <input type="checkbox" name="War3" value="WarCraft III" />WarCraft III<br> <input type="checkbox" name="CSS" value="Counter-Strike Source" />Counter-Strike Source<br> <input type="checkbox" name="CoD4" value="Call Of Duty 4: Modern Warfare" />Call Of Duty 4: Modern Warfare<br> <input type="checkbox" name="CoD6" value="Call Of Duty 6: Modern Warfare2" />Call Of Duty 6: Modern Warfare2<br> Сейчас включены: <b><?php echo $special; ?></b> </p> <input type="submit" value="Отправить!" /> </center> </form> </center> </table> </td> </tr> </table> <br/><br/><br/> <?php } if($_GET['step'] == 'comm'){ ?> <form method="post" action="profile.php?edit=comm" enctype="multipart/form-data"> <center> <p>E-Mail:</p> <input type="text" value="<? echo $email; ?>" name="email" id="email" /> <p>ICQ:</p> <input type="text" value="<? echo $icq; ?>" name="icq" id="icq" /><br /> <input type="submit" value="Отправить!" /> </center> </form> </center> </table> </td> </tr> </table> <br/><br/><br/> <?php } if($_GET['step'] == 'ava'){ ?> <form method="post" action="profile.php?edit=ava" enctype="multipart/form-data"> <center> <p>Ваш аватар:</p> <img src="http://<? echo $avatar ?>" /><br /> <input type="file" name="avatar" /> <input type="submit" value="Загрузить!" /> </center> </form> </center> </table> </td> </tr> </table> <br/><br/><br/> <?php } } }else{ ?> <form method="post" action="profile.php?edit=pers" enctype="multipart/form-data"> <center> <p>Ваше имя:</p> <input value= "<? echo $name; ?>" type="text" name="name" id="name" /> <p>Ваша фамилия:</p> <input value="<? echo $fam; ?>" type="text" name="fam" id="fam" /> <p>Год рождения:</p> <SELECT NAME="date"> <OPTION SELECTED VALUE="<? echo $date; ?>"><? echo $date; ?></OPTION> <OPTION VALUE="1996">1996</OPTION> <OPTION VALUE="1995">1995</OPTION> <OPTION VALUE="1994">1994</OPTION> <OPTION VALUE="1993">1993</OPTION> <OPTION VALUE="1992">1992</OPTION> </SELECT> <p>Ваша специальность (в какие игры играете):</p> <p> <input type="checkbox" name="CS 1.6" value="Counter-Strike 1.6" />Counter-Strike 1.6<br> <input type="checkbox" name="War3" value="WarCraft III" />WarCraft III<br> <input type="checkbox" name="CSS" value="Counter-Strike Source" />Counter-Strike Source<br> <input type="checkbox" name="CoD4" value="Call Of Duty 4: Modern Warfare" />Call Of Duty 4: Modern Warfare<br> <input type="checkbox" name="CoD6" value="Call Of Duty 6: Modern Warfare2" />Call Of Duty 6: Modern Warfare2<br> Сейчас включены: <b><?php echo $special; ?></b> </p> <input type="submit" value="Отправить!" /> </center> </form> </center> </table> </td> </tr> </table> <br/><br/><br/><?php } } }else{ if (isset($_GET['Id'])){ $Id = $_GET['Id']; $sql_memb = mysql_query ("SELECT * FROM `members` WHERE `Id` = $Id"); if ($row_memb = mysql_num_rows($sql_memb) == '0'){ echo "<center><p>Такого пользователя не найдено!</p></center>"; }else{ $memb = mysql_fetch_array($sql_memb); $avatar = $memb['avatar']; $nick = $memb['nick']; $date = $memb['date']; $icq = $memb['icq']; $special = $memb['special']; $fam = $memb['fam']; $name = $memb['name']; echo " <table class=\"news\" cellpadding=\"0\" cellspacing=\"0\"> <tr><td><br /> <p> <img src=\"http://$avatar\"><br /> Игровой ник: <b>$nick</b><br /> Имя: <b>$name</b><br /> Фамилия: <b>$fam</b><br /> Дата рождения: <b>$date</b><br /> ICQ: <b>$icq</b><br /> Специальность: <b>$special</b></p><br /> </td></tr></table>"; if ($Id == $_COOKIE['id']){ echo "<a href=\"profile.php?act=edit\"><img src=\"images/edit.png\" /></a>"; }else{ echo "<a href=\"messages.php?act=right&rec=$nick\"><img src=\"images/newmess.png\" \></a>";} } } } }else{ $URL="login.php"; header ("Location: $URL"); } require ("$_SERVER[DOCUMENT_ROOT]/lib/end.inc"); ?> [sql]CREATE TABLE `members` ( `Id` int(11) NOT NULL auto_increment, `rlogin` varchar(255) default NULL, `rpass` varchar(255) character set cp1251 default NULL, `date` varchar(255) character set cp1251 default NULL, `name` varchar(255) character set cp1251 default NULL, `fam` varchar(255) character set cp1251 default NULL, `email` varchar(255) character set cp1251 default NULL, `icq` varchar(255) character set cp1251 default NULL, `special` varchar(255) character set cp1251 default NULL, `force` varchar(255) character set cp1251 default NULL, `status` varchar(255) character set cp1251 default NULL, `avatar` varchar(255) character set cp1251 default NULL, `nick` varchar(255) character set cp1251 default NULL, PRIMARY KEY (`Id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1250 AUTO_INCREMENT=141 ; [/sql]
Для начала напишите в самом начале скрипта, после <php? : Код (Text): error_reporting(E_ALL); ini_set('display_errors', 1); echo('GET:' . var_export($_GET, true)); echo('POST:' . var_export($_POST, true)); echo('FILES' . var_export($_FILES, true)); Каждый вызов mysql_query( ... ) превратите в Код (Text): mysql_query( ... ) OR die(mysql_error()); ----------------- Код (Text): UPDATE `members` SET `avatar` = '$_SERVER[SERVER_NAME]/images/avatars/$avatar' WHERE `Id` = $cook_id перепишите в Код (Text): UPDATE `members` SET `avatar` = '{$_SERVER['SERVER_NAME']}/images/avatars/$avatar' WHERE `Id` = $cook_id -------------------- Замените все Код (Text): $_SERVER[DOCUMENT_ROOT] на Код (Text): {$_SERVER['DOCUMENT_ROOT']} ------------------------ И начинайте тестировать. -------------------- Просто на будущее: Если скрипт заканчивается на Код (Text): ?> это ?> не надо и не стоит писать.
Код (Text): GET:array ( 'Id' => '133', )POST:array ( )FILESarray ( ) вот что получилось без POST запроса Код (Text): GET: array ( 'edit' => 'ava', )POST: array ( )FILES array ( 'avatar' => array ( 'name' => 'ava.png', 'type' => 'image/png', 'tmp_name' => 'C:\\WINDOWS\\Temp\\php4C.tmp', 'error' => 0, 'size' => 2689814, ), )
а, вот маленький вопрос не по теме конечно но все таки: есть $date = date("m.d.Y"); надо прибавить неделю как?