у меня имеется регистрация и авторизация
авторизация на сессиях... сессию авторизованного я ношу по сайту так
session_start();
if (empty($_SESSION['login']) or empty($_SESSION['id']))
{
echo 'ты не вошёл!'; exit;
}
else{
echo 'ты вошёл';
}
Я создал для пользователя свою анкету, примерного вида ссылка
http://site.ru/user/anketa.php?id=' .$_SESSION['id']. '
всё нормально, он по ней переходит и может её та отридачить...
============
тут вопрос: Как мне сделать так, что бы следующий пользователь который зарегистрируется мог смотреть анкеты других, а то когда у меня регистрируется ещё один, он видит вместо например id=2 видит свой id=13
Спустя 9 минут, 49 секунд (13.01.2010 - 12:53) VolCh написал(а):
for ($i=1; $i<$_SESSION['id']; $i++)
echo "http://site.ru/user/anketa.php?id=$i";
как-то так, если я правильно задачу понял
Спустя 1 минута, 3 секунды (13.01.2010 - 12:54) Sage написал(а):
вот эти коды
#############index.php###########
############user/anketa.php?id=###############
#############index.php###########
session_start();
include ("db.php");
include "inc/head.php";
if (empty($_SESSION['login']) or empty($_SESSION['id']))
{
echo '<div class="razd">Вы вошли на сайт, как гость<br></div>';
echo '<div class="razd"> » <a href="auth.php">Авторизация</a><br/>';
echo ' » <a href="rega.php">Регистрация</a></div>';
}
else
{
echo '<div class="razd"><b>' .$_SESSION['login']. '</b> привет</div>';
echo '<div class="razd"><a href="user/anketa.php?id=' .$id. '">профиль</a> | ';
echo '<a href="exit.php">выход</a></div>';
}
echo '» <a href="/news/index.php">новости</a>[' . mysql_num_rows( mysql_query( "select (`id`) from `news`") ). ']<br/>';
$res = mysql_query("SELECT * FROM news");
if(mysql_num_rows($res)!=0)
{
$news = mysql_fetch_array($res);
echo '<b>[' .date('G:i d.m.Y',$news['date']). ']</b><br/>
' .$news['msg']. '<br />
Добавил : <a href="user/anketa.php?id=1">Sage</a><br/>';
}
echo '<hr>';
echo 'Заказ дизайнов доступен только черз web <a href="http://www.free-lance.ru/users/Sage_Dizeg">сайт</a>';
echo '<hr>';
echo 'регистраций: ' . mysql_num_rows( mysql_query( "select (`id`) from `users`") );
echo '</div>';
include "inc/foot.php";
############user/anketa.php?id=###############
session_start();
include '../inc/head.php';
include '../db.php';
if (empty($_SESSION['login']) or empty($_SESSION['id']));
$res = mysql_query("SELECT id, login, email, name, city, about FROM users WHERE id=" .$_SESSION['id']. "");
if(mysql_num_rows($res)!=0)
{
$anceta_user = mysql_fetch_array($res);
echo '<div class="razd">Ваш ID: '.$anceta_user['id'].'</div>';
echo '<div class="razd">Ник: ' .$anceta_user['login']. '<br/>';
echo 'Имя: ' .$anceta_user['name']. '<br/>';
echo 'Город: ' .$anceta_user['city']. '<br/>';
echo 'email: ' .$anceta_user['email']. '<br/>';
echo 'О себе: ' .$anceta_user['about']. '</div>';
echo '<div class="razd"> » <a href="/user/edit.php?id=' .$id. '">изменить</a></div>';
}
else
{
echo 'Ползователь не существует!<br />';
}
echo '<div class="razd"> » <a href="../../index.php">главная</a></div>';
include '../inc/foot.php';
Спустя 8 минут, 31 секунда (13.01.2010 - 13:03) Sage написал(а):
Цитата (VolCh @ 13.01.2010 - 09:53) |
for ($i=1; $i<$_SESSION['id']; $i++) как-то так, если я правильно задачу понял |
я так понял этот код выдаст всех присутствующих id пользователей?
Спустя 1 минута, 35 секунд (13.01.2010 - 13:04) VolCh написал(а):
всех, кто зарегался до текущего польователя
Спустя 5 минут, 25 секунд (13.01.2010 - 13:10) VolCh написал(а):
Замени
на
$res = mysql_query("SELECT id, login, email, name, city, about FROM users WHERE id=" .$_SESSION['id']. "");
на
$res = mysql_query("SELECT id, login, email, name, city, about FROM users WHERE id=" .mysql_real_escape_string($_GET['id']). "");и сможешь нормально работать с user/anketa.php?id=### Сейчас у тебя id в URI никак не обрабатывается
Спустя 16 минут, 34 секунды (13.01.2010 - 13:26) Sage написал(а):
вот пример, я под ником Hammer и имею свой id=2
чуть ниже новость и кто её добавил в даном случае Sage
Я перехожу на ссылку Sage с id=1
а он переходит в анкету Hammer только ссылко становится не как должно быть http://site.ru/user/anketa.php?id=2
f http://site.ru/user/anketa.php?id=1
чуть ниже новость и кто её добавил в даном случае Sage
Я перехожу на ссылку Sage с id=1
а он переходит в анкету Hammer только ссылко становится не как должно быть http://site.ru/user/anketa.php?id=2
f http://site.ru/user/anketa.php?id=1
Спустя 3 минуты, 27 секунд (13.01.2010 - 13:30) VolCh написал(а):
Ты заменил, что я сказал? если нет то так по твоему коду и должно быть. если заменишь, то переход на http://site.ru/user/anketa.php?id=1 хоть кем покажет анкету Sage
Спустя 4 минуты, 8 секунд (13.01.2010 - 13:34) Sage написал(а):
VolCh я сейчас попробую
Спустя 8 минут, 54 секунды (13.01.2010 - 13:43) Sage написал(а):
Спустя 30 секунд (13.01.2010 - 13:43) Sage написал(а):
VolCh всё получилось))))
Спустя 5 минут, 24 секунды (13.01.2010 - 13:48) Sage написал(а):
теперь появилась новая запарка я теперь могу изменить чужой профиль
как спрятать не подскажите?
как спрятать не подскажите?
Спустя 35 минут, 39 секунд (13.01.2010 - 14:24) VolCh написал(а):
Что-то типа
и user/edit.php не забудь проверить аналогично
if ($_SESSION['id'] == $_GET['id'])
echo '<div class="razd"> » <a href="/user/edit.php?id=' .$id. '">изменить</a></div>';
и user/edit.php не забудь проверить аналогично
Спустя 1 час, 9 минут, 6 секунд (13.01.2010 - 15:33) Sage написал(а):
session_start();
include '../inc/head.php';
include '../db.php';
if (empty($_SESSION['login']) or empty($_SESSION['id']));
$id = $_SESSION['id'];
echo '<div class="razd"><b>' .$_SESSION['login']. '</b> ваша анкета</div>';
$act = $_GET['act'];
if (!empty($act))
{
if ($act == 'save')
{
$name = stripslashes($_POST['name']);
$name = htmlspecialchars($_POST['name']);
$about = htmlspecialchars($_POST['about']);
$about = stripslashes($_POST['about']);
$city = stripslashes($_POST['city']);
$city = htmlspecialchars($_POST['city']);
$q = mysql_query("UPDATE users SET name='$_POST[name]', city='$_POST[city]', about='$_POST[about]' WHERE id=" .$id. "");
{
echo '<center> данные успешно изменены!</center>';
}
}
}
else
{
echo '<div class="razd">';
echo '<form action="edit.php?act=save" method="post">
Имя:<br />
<input name="name" type="text" size="15" maxlength="20"><br/>
Город:<br/>
<input name="city" type="text" size="15" maxlength="20"><br/>
О себе:<br />
<textarea name="about" rows="2" cols="16" value="">
</textarea><br/>
<input value="изменить" name="do" type="submit" />
</form></div>';
}
echo '<div class="razd"> » <a href="/user/anketa.php?id=' .$id. '">анкета</a></div>';
echo '<div class="razd"> » <a href="../../index.php">главная</a></div>';
include '../inc/foot.php';
#############user/edit.php######################
Спустя 4 минуты, 8 секунд (13.01.2010 - 15:37) Sage написал(а):
ещё вопрос: Как в формах вбить введёный текст?
Спустя 11 минут, 56 секунд (13.01.2010 - 15:49) VolCh написал(а):
в смысле?
Спустя 7 минут, 19 секунд (13.01.2010 - 15:57) Sage написал(а):
ну предположим я только что зарегистрировался, зашёл в анкети, перешол по ссылке user/edit.php?id=' .$id. ' поля пустые. Я их заполнил и перешёл в анкету у меня там появилась инфа которую я вбил.
Затем я переехал и решил изменить адрес, пререхожу по той ссылке а, мне всю инфу снова забивать надо... я имею ввиду из <input> форм не терялась инфа
Затем я переехал и решил изменить адрес, пререхожу по той ссылке а, мне всю инфу снова забивать надо... я имею ввиду из <input> форм не терялась инфа
Спустя 7 минут, 31 секунда (13.01.2010 - 16:04) Sage написал(а):
что то на подобии
<input name="city" type="text" size="15" maxlength="20" value="' .$city. '">
Спустя 11 минут, 31 секунда (13.01.2010 - 16:16) VolCh написал(а):
Так в чем проблемы? в anketa.php ты же выводишь данные, так же выводи их в edit.php
Спустя 3 минуты, 34 секунды (13.01.2010 - 16:19) Sage написал(а):
но у меня в edit.php выдодится только в <textarea...
$res = mysql_query("SELECT name, city, about FROM users WHERE id=" .mysql_real_escape_string($_GET['id']). "");
if(mysql_num_rows($res)!=0)
{
$anceta_user = mysql_fetch_array($res);
{
echo '<div class="razd">';
echo '<form action="edit.php?act=save" method="post">
Имя:<br />
<input name="name" type="text" size="15" value"' .$anceta_user['name']. '" maxlength="20"><br/>
Город:<br/>
<input name="city" type="text" size="15" maxlength="20" value"' .$anceta_user['city']. '"><br/>
О себе:<br />
<textarea name="about" rows="2" cols="16" value="">' .$anceta_user['about']. '
</textarea><br/>
<input value="изменить" name="do" type="submit" />
</form></div>';
}
}
Спустя 40 секунд (13.01.2010 - 16:20) sergeiss написал(а):
Если ты переходишь со страницы, где только что составлял анкету, и она передается через $_POST, то получаем следующее:
<input name="city" type="text" size="15" maxlength="20" value=" <?php if( isset( $_POST['city'] ) ) echo $_POST['city'] ?>">
Спустя 15 минут, 15 секунд (13.01.2010 - 16:35) Sage написал(а):
Цитата (sergeiss @ 13.01.2010 - 13:20) |
Если ты переходишь со страницы, где только что составлял анкету, и она передается через $_POST, то получаем следующее:<input name="city" type="text" size="15" maxlength="20" value=" <?php if( isset( $_POST['city'] ) ) echo $_POST['city'] ?>"> |
а если начать с этого
<?php
echo '<input name="city" type="text" size="15" maxlength="20" value=" <?php if( isset( $_POST['city'] ) ) echo $_POST['city'] ?>">';
?>
как в таком условии вписать?
Спустя 25 минут, 15 секунд (13.01.2010 - 17:00) sergeiss написал(а):
Цитата (Sage @ 13.01.2010 - 17:35) |
echo '<input name="city" type="text" size="15" maxlength="20" value=" <?php if( isset( $_POST['city'] ) ) echo $_POST['city'] ?>">'; |
Ну, ёпрст... А подумать нельзя самому было? Какие вставки ПХП внутри ПХП????
echo '<input name="city" type="text" size="15" maxlength="20" value="';
if( isset( $_POST['city'] ) ) echo $_POST['city'];
echo '">';
В итоге: если что-то было передано, то это "что-то" будет записано в value; иначе - будет пустое value;
Спустя 17 часов, 22 минуты, 50 секунд (14.01.2010 - 10:23) Sage написал(а):
sergeiss не выходит(
Спустя 2 часа, 3 минуты, 33 секунды (14.01.2010 - 12:27) Gradus написал(а):
Настало время php'шникам включать телепатические возможности, а то юзеры страдают
Спустя 9 минут, 22 секунды (14.01.2010 - 12:36) sergeiss написал(а):
Цитата (Sage @ 14.01.2010 - 11:23) |
sergeiss не выходит( |
Интересно, куда это я не выхожу... Вот на обед как раз собрался выходить - а ты утверждаешь, что не выхожу Значит, ты не прав
А если серьёзно - ты думаешь, тут телепаты сидят, и должны догадаться, что именно у тебя не получилось? То ли комп не позволил файл сохранить, то ли ты чего-то написал и не заработало, то ли ты не смог нужную кнопку нажать... То ли у тебя просто пропало желание доделывать начатое?
Спустя 14 дней, 7 часов, 26 минут, 59 секунд (28.01.2010 - 20:03) Sage написал(а):
$user = mysql_query("SELECT login, name, city, about FROM users WHERE id='$id'");
if(mysql_num_rows($user)!=0)
{
$anceta_user = mysql_fetch_array($user);
if ($anceta_user['login'] == $login)
{
echo '<div class="razd">';
echo '<form action="edit.php?act=save" method="post">
Имя:<br />
<input name="name" type="text" value="'.$anceta_user['name'].'" maxlength="20"><br/>
Город:<br/>
<input name="city" type="text" value="'.$anceta_user['city'].'" maxlength="20"><br/>
О себе:<br />
<textarea name="about" rows="2" cols="16" value="">' .$anceta_user['about']. '
</textarea><br/>
<input value="изменить" name="do" type="submit" />
</form></div>';
}
else
{
echo 'Ты не можешь менять чужую анкету!';
}
}
Вот как у меня вышло)))
Спустя 1 час, 6 минут, 48 секунд (28.01.2010 - 21:10) Ice написал(а):
Цитата (Sage @ 13.01.2010 - 12:33) |
|
А вот это что за кусок? Ничего в нём не настораживает?
Поскольку ты, как ты говоришь, начинающий, я подскажу: при данном раскладе часть кода до запроса можно просто выкинуть.