Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Редактирование профиля
Форумы портала PHP.SU » » Вопросы новичков » Редактирование профиля

Страниц (1): [1]
 

1. shahin - 23 Августа, 2014 - 23:10:32 - перейти к сообщению
Как сделать правильно чтобы редактировался только выбранный профиль?
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $title = $Lang['load_avatar'];
  3. require_once('../../tmp/header.php');
  4. if (isset($_GET['id'])) {$id = $_GET['id'];}
  5. else {exit("Вы без id");}
  6. if (!preg_match("|^[\d]+$|", $id)) { exit("Не верный формат"); }
  7. $login = $_COOKIE['login'];
  8. $pass = $_COOKIE['pass'];
  9. $my_or_not_id = mysql_query("SELECT `u_id` FROM `users` WHERE `login` = '$login' AND `password` = '$pass'");
  10. $r_my_or_not_id = mysql_fetch_array($my_or_not_id);
  11. if($id == $r_my_or_not_id['u_id']) {
  12. $user_profile = mysql_query("SELECT * FROM `users` WHERE `login` = '$login' AND `password` = '$pass'");
  13. $r = mysql_fetch_array($user_profile);
  14. if (!$Auth) {
  15.         $titles = 'Error - 401 «Unauthorized»!';
  16.         echo "<div id='success' class='reg_success_err'> ".$titles."</div>";
  17.                 echo '<script type="text/javascript">function Go(){location="/"; }
  18.         setTimeout( "Go()", 7000 ); </script>';
  19.         }else{
  20. if (isset($_POST["edit_go"])) {
  21.       /*$pass = $_POST["pass"];
  22.       $re_pass = $_POST["re_pass"];
  23.       $old_password = md5($_POST["old_password"]);
  24.           if (strlen($Password)>=6){
  25.                    if(strpos($Passwor,$re_pass)!==false){
  26.                                    $Password = md5($password);
  27.                                    setPassword($_SESSION['Login'],$Password);
  28.                                    $_SESSION["Password"] = $Password;
  29.                                    $message = "Пароль успешно изменен";
  30.                                 }
  31.                                 else $err_mess = "Пароли не совпадают";
  32.             }
  33.                         else $err_mess = "Пароль короткий";
  34.                         */
  35.                
  36.                 $gender = $_POST['gender'];
  37.                 if ($gender == '0' || $gender == '1' || $gender == '2')
  38.                 {
  39.                 $sql = ("UPDATE users SET `sex`=(".$gender.")");
  40.         $result = mysql_query($sql)or die(mysql_error());
  41.                 }
  42.                 else $error_sex = 'Ошибка! Вы не указали ваш пол!';
  43.                
  44.                 $day = $_POST['day'];
  45.                 if ($day == $i)
  46.                 {$query = "UPDATE `users` SET `avatar` = '".$name."' WHERE `login` = '".$login."'";}
  47.                 else $error_sex = 'Ошибка! Вы не выбрали ваш день рождения!';
  48.                
  49.                 $birthmonth = $_POST['birthmonth'];
  50.                 if ($birthmonth == '0' && $birthmonth == '01' && $birthmonth == '02' && $birthmonth == '03' && $birthmonth == '04' && $birthmonth == '05' && $birthmonth == '06' && $birthmonth == '07' && $birthmonth == '08' && $birthmonth == '09' && $birthmonth == '10' && $birthmonth == '11' && $birthmonth == '12')
  51.                 {}
  52.                 else $error_sex = 'Ошибка! Вы не выбрали ваш месяц рождения!';
  53.                
  54.                 $year = $_POST['year'];
  55.                 if ($year == '1996' && $year == '1995' && $year == '1994' && $year == '1993' && $year == '1992' && $year == '1991' && $year == '1990' && $year == '1989' && $year == '1988' && $year == '1987' && $year == '1986' && $year == '1985' && $year == '1984' && $year == '1983' && $year == '1982' && $year == '1981' && $year == '1980' && $year == '1979' && $year == '1978' && $year == '1977' && $year == '1976' && $year == '1975' && $year == '1974' && $year == '1973' && $year == '1972' && $year == '1971' && $year == '1970' && $year == '1969' && $year == '1968' && $year == '1967' && $year == '1966' && $year == '1965' && $year == '1964' && $year == '1963' && $year == '1962' && $year == '1960' && $year == '1959' && $year == '1958' && $year == '1957' && $year == '1956' && $year == '1955' && $year == '1954' && $year == '1953' && $year == '1952' && $year == '1951' && $year == '1950')
  56.                 {}
  57.                 else $error_sex = 'Ошибка! Вы не выбрали ваш год рождения!';
  58.     }
  59.         $avatar = $auth['avatar'];
  60.         if ($avatar == "") $avatar = "ava_m.jpeg";       
  61.         $reg_date = $auth['reg_date'];  
  62. ?>
  63.     <div id="decor">
  64.         <table>
  65.         <form action="edit.php?id=<?=$id;?>" method="post">
  66.         <?PHP
  67.         if (isset($err_mess)) {
  68.         echo "<p style='color:red'>".$err_mess."                ";
  69.         unset($err_mess);
  70.         }
  71.         ?>
  72.                 <tr><td colspan="2">
  73.         <h3 class="ed_pr"><?PHP echo $Lang['edit_profile']; ?></h3>
  74.                 </td></tr>
  75.             <div id="user_ed"><tr>     
  76.                         <td class="p" for="day"><?PHP echo $Lang['edit_date']; ?>:</td>
  77.                         <td>
  78.             <select name="day" class="day">
  79.                         <option value="0">день</option>
  80.                 <?PHP for ($i = 1; $i <= 31; ++$i) : ?>
  81.                 <option value="<?PHP echo $i;?>" <?PHP if ($day==$i) print "selected";?>> <?PHP echo $i;?>
  82.                 <?PHP endfor; ?>
  83.             </select>
  84.             <select name="month" class="month">
  85.                 <option value="0">месяц</option>
  86.                 <?PHP for ($i = 01; $i <= 12; ++$i) : ?>
  87.                 <option value="<?PHP echo $i;?>" <?PHP if ($month==$i) print "selected";?>> <?PHP echo $i;?>
  88.                 <?PHP endfor; ?>
  89.             </select>
  90.             <select name="year" class="year">
  91.                 <option value="0">год</option>
  92.                 <?PHP for ($i = 1950; $i <= 1996; ++$i) : ?>
  93.                 <option value="<?PHP echo $i;?>" <?PHP if ($year==$i) print "selected";?>> <?PHP echo $i;?>
  94.                 <?PHP endfor; ?>
  95.             </select></td></tr>
  96.                 <tr><td class="p"><?PHP echo $Lang['edit_cotegory']; ?>: </td>
  97.                                 <td><select name="group" class="ed_pr_inp" >
  98.                    <option value="1">Клиент</option>
  99.                    <option value="2">Мастер</option>
  100.                    <option value="3">Мастер</option>
  101.                    <option value="4">Мастер</option>
  102.                    <option value="5">Мастер</option>
  103.                         </select>
  104.                         </td></tr>              
  105.                     <tr><td class="p"><?PHP echo $Lang['edit_sex']; ?>: </td>
  106.                                 <td><select name="gender" class="ed_pr_inp">
  107.                                     <option value="0">Не указан</option>
  108.                     <option value="1">Мужской</option>
  109.                     <option value="2">Женский</option>
  110.                         </select>
  111.                         </td></tr>          
  112.                     <tr><td class="p"><?PHP echo $Lang['edit_tel']; ?>: </td>
  113.                                 <td>+994<input class="ed_pr_inp_tel"  type="text" name="phone" />
  114.                         </td></tr>            
  115.                     <tr><td class="p">
  116.                              <?PHP echo $Lang['edit_email']; ?>:</td><td> <input class="ed_pr_inp"  type="text" name="email" />
  117.             </td></tr>                           
  118.                     <tr><td valign="top" class="p"><?PHP echo $Lang['edit_o_sebe']; ?>:</td><td><textarea class="ed_pr_area"></textarea></td></tr>
  119.                         <tr><td colspan="2">
  120.             <h3 class="ed_pr"><?PHP echo $Lang['edit_pr_pass']; ?></h3>
  121.                     </td></tr>
  122.                         <tr><td class="p">
  123.                             <?PHP echo $Lang['old_pass']; ?>:</td><td> <input class="ed_pr_inp" type="password" name="pass" />
  124.             </td></tr>  
  125.             <tr><td class="p">
  126.                             <?PHP echo $Lang['old_pass']; ?>:</td><td> <input class="ed_pr_inp" type="password" name="re_pass" />
  127.             </td></tr>                
  128.             <tr><td class="p">
  129.                             <?PHP echo $Lang['edit_repass']; ?>:</td><td> <input class="ed_pr_inp" type="password" name="old_pass" />
  130.             </td></tr>                         
  131.        
  132.             <tr><td colspan="2">
  133.             <div class="drd">
  134.                 <div id="button_reg_border">
  135.                     <div class="button_reg">
  136.                          <input type="submit" name="edit_go" value="<?PHP echo $Lang['edit_go']; ?>"/>
  137.                                     </div>
  138.                                 </div>
  139.             </div>
  140.             </td></tr>
  141.             <script type="text/javascript" src="../../includes/js/jquery-1.5.1.min.js"></script>
  142.             <script type="text/javascript" src="../../includes/js/validation.js"></script>
  143.          
  144.            </form>
  145.         </div>
  146.     </div>
  147. <?PHP }} ?>
2. avtor.fox - 23 Августа, 2014 - 23:23:16 - перейти к сообщению
shahin пишет:
PHP:
скопировать код в буфер обмена
  1. if ($year == '1996' && $year == '1995' && $year == '1994' && $year == '1993' && $year == '1992' && $year == '1991' && $year == '1990' && $year == '1989' && $year == '1988' && $year == '1987' && $year == '1986' && $year == '1985' && $year == '1984' && $year == '1983' && $year == '1982' && $year == '1981' && $year == '1980' && $year == '1979' && $year == '1978' && $year == '1977' && $year == '1976' && $year == '1975' && $year == '1974' && $year == '1973' && $year == '1972' && $year == '1971' && $year == '1970' && $year == '1969' && $year == '1968' && $year == '1967' && $year == '1966' && $year == '1965' && $year == '1964' && $year == '1963' && $year == '1962' && $year == '1960' && $year == '1959' && $year == '1958' && $year == '1957' && $year == '1956' && $year == '1955' && $year == '1954' && $year == '1953' && $year == '1952' && $year == '1951' && $year == '1950')
Покатываюсь со смеху
3. shahin - 24 Августа, 2014 - 11:17:08 - перейти к сообщению
Что смешного?
Я так делать буду вообщето
$year = $_POST['year'];
if ($year == '$i') {
$sql = ("UPDATE users SET `year`=(".$gender.")");
$result = mysql_query($sql)or die(mysql_error());
}
else $error_sex = 'Ошибка! Вы не выбрали ваш год рождения!';
4. OrmaJever - 24 Августа, 2014 - 11:47:43 - перейти к сообщению
shahin пишет:
$year == '$i'

да, так точно работать будет! Хм
5. dcc0 - 24 Августа, 2014 - 12:02:31 - перейти к сообщению
Какая большая проверка. Только я что-то не могу понять, почему &&, а не ||?

А так нельзя сделать:
PHP:
скопировать код в буфер обмена
  1.  if ($year < '1997' && $year > '1949') {

?

Или это для того, чтобы дать возможность сделать выбор?
6. shahin - 24 Августа, 2014 - 13:23:43 - перейти к сообщению
Уважаемые покажите пожалуйчта как правильно
сделал так
PHP:
скопировать код в буфер обмена
  1. $day = $_POST['day'];  
  2.                 $mont = $_POST['mont'];
  3.                 $year = $_POST['year'];
  4.                 $birtday = date("$day-$mont-$year");
  5.         if($day==$d || $mont=$m || $year==$y)
  6.                 {
  7.            $result_day = ("UPDATE users SET `birtday`=".$birtday."");
  8.            mysql_query($result_day)or die(mysql_error());
  9.         }

PHP:
скопировать код в буфер обмена
  1. <select name="year" class="year">
  2.                 <option value="0">год</option>
  3.                 <?PHP for ($y = 1950; $y <= 1996; ++$y) : ?>
  4.                 <option value="<?PHP echo $y;?>" <?PHP if ($year==$y) print "selected";?>> <?PHP echo $y;?>
  5.                 <?PHP endfor; ?>
  6.             </select>

(Добавление)
В БД ЗАПИСЬ НЕ ИДЕТ
7. OrmaJever - 24 Августа, 2014 - 13:32:40 - перейти к сообщению
shahin пишет:
Уважаемые покажите пожалуйчта как правильно

правильно - переписать всё. Вы просто не понимаете какую ерунду пишите.
shahin пишет:
В БД ЗАПИСЬ НЕ ИДЕТ

потому что в кавычки значения брать нужно
PHP:
скопировать код в буфер обмена
  1. $result_day = ("UPDATE users SET `birtday`='".$birtday."'");
8. shahin - 24 Августа, 2014 - 13:38:00 - перейти к сообщению
Я уже брал в кавычки, не работает так как это не имеет значение
(Добавление)
А то что пишу ерунду, это в полне возможно так как еще только изучаю, вы бы подсказали как правильно
9. OrmaJever - 24 Августа, 2014 - 13:53:03 - перейти к сообщению
shahin дак вы начните разбираться по частям, маленькими кусочками, а вы написали что попало, выложили весь код и помогайте мне, так дела точно не будет.
Прочитайте http://www.phpfaq[dot]ru/debug и попробуйте найти ошибку сами
10. shahin - 24 Августа, 2014 - 14:30:25 - перейти к сообщению
Короче, разобрался, скажите как сделать чтобы
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP for ($d = 1; $d <= 31; ++$d) : ?>
  3.                 <option value="<?PHP echo $d;?>" <?PHP if ($day==$d) print "selected";?>> <?PHP echo $d;?>
  4.  

было не 1,2,3 и т.д, а 01,02,03
делаю ($d = 01; $d <= 31; ++$d) всеравно выводит 1
11. dcc0 - 24 Августа, 2014 - 15:07:46 - перейти к сообщению
Первое, что пришло в голову.
PHP:
скопировать код в буфер обмена
  1.  
  2. $d=0;
  3. while($d++<31)
  4. if ($d<10){
  5. print 0 . $d;
  6. } else {
  7. print $d;
  8. }
  9.  

Жестокий способ.
12. shahin - 24 Августа, 2014 - 16:15:09 - перейти к сообщению
Вот что получилось
01020304050607080910111213141516 171819202122232425262728293031
13. dcc0 - 24 Августа, 2014 - 16:53:50 - перейти к сообщению
Цитата:
Вот что получилось

Ты просил 01, 02, 03

Я показал самое простое, возможно, не самое лучшее решение.

Может, можно еще что-то с strtr, substr изобразить.
14. shahin - 24 Августа, 2014 - 17:05:05 - перейти к сообщению
можете показать как
15. OrmaJever - 24 Августа, 2014 - 17:35:42 - перейти к сообщению
та господи, это программирование, тут нужно уметь думать самому, а не бежать на форум по любой мелочи. Прежде чем что-то писать нужно хоть основы языка прочитать, а дальше уже самому интересно будет, а если не интересно или не получается правильно думать, то может программирование это не ваше? Чисто моё мнение что программистом может стать далеко не каждый, задумайтесь. Тему закрываю.

 

Powered by ExBB FM 1.0 RC1