@acho Да блин, их было 2 думал одно удалю( а оно 2 удалило, переписывать еще раз? --- Добавлено --- @acho 1. Пункт: Создаем функцию даем ей название в ней объявляю 2 переменых 2. Пункт: Подготавливаю запрос 3. Пункт: Подставляю переменную вместо поля в запросе, типа делаю защиту 4. Пункт: То же что и 3 5. Пункт: В объявленную переменную подставляем сесию пользователя, который онлайн одним словом 6. Пункт: В объявленную переменную подставляем get параметр, ввод данных, ну или что то типа, точно не знаю 7. Пункт: return делаем задержку, $stmt->execute(); выполняем запрос 8. Пункт: addRequest(); в объявленной функции выводим результат наверное. Проверьте и укажите ошибки еще раз) --- Добавлено ---
Ладно, хрен с ним. Вот и твоё непонимание. Смотри: нет, не объявляешь. Ты передаёшь в функцию два параметра, внутри функции они будут под этими именами. Следовательно, две строчки с PHP: $sender_id = (int)$_SESSION['user_id']; $receiver_id = (int)$_GET['add_friend']; внутри функции - лишние. Их не должно быть в функции. они должны передаваться в функцию. PHP: return $stmt->execute(); Вот говорил же я, азы учить надо. Тупо видно, что по функция ты прочитал ровно, или даже меньше, чем ничего. return - не задержка, а возврат результата. И это, ну ёбана, написано в первых строчках в документации по функциям. Ты сам не понимаешь, как трудно что-то объяснять человеку, который вообще не понимает, что он делает. Не ленись, ну почитай элементарное. Такие простые вещи тебе тут никто объяснять не будет. Я щас должен писать проект, а занимаюсь, мягко говоря, какой-то хернёй. Вместо того, чтобы ты потратил 10 минут, прочитал про функции, и задавал действительно какие-то стоящие вопросы. А их, кстати говоря, могло бы и даже не быть, ибо сам бы уже понял. Дальше. Будем считать, что функцию ты описал (если доделать вышесказанное). НО! Это просто описание функции. Она не работает. Тут написано только как она должна работать, а не указание работать. Последняя строчка как раз вызывает функцию. Говорит ей работать. Но, в таком виде она тоже не будет работать. Потому что в вызове функции ты должен передать ей два параметра, как сказано в описании этой функции. PHP: addRequest($_SESSION['user_id'], $_GET['add_friend']); В общем я и так уже расписался. Не обижайся, но будут такие же азовые вопросы - может поможет кто-то другой. У меня нет столько времени
@acho Понял, тупо почитать что такое функции в php прочитаю, дальше что с чего двигаться дальше? Огромное спасибо за помощь. Может быть я и знал но уже вообще забыл) За return в других языках это задержка результата идет. Ну теперь буду знать что это возврат результата)
Я тебе давал ссылку на мануал, а ты прочёл две строчки, и сказал: "ну переменные я знаю", поэтому читать не надо. Там минимальный объём php, который необходимо знать.
@mkramer @acho Ну что сказать прочитал я про функции, и многое понял, что и как они объявляются, как пользоваться ими. Можете мне дать задание, я попробую написать его, и вы мне потом проанализируете, что я не так сделал.
@mkramer У меня запрос происходит но, как сделать, чтобы в базу от одного пользователя к другому можно было делать один раз? А то после запроса на добавление в друзья, если обновлять страницу, не выходя из нее в базу будут записываться опять те данные, от кого и кому. Код такой: PHP: $user_id = (int)$_GET['add_friend']; try { //Заявочка в друзья! $sql = 'INSERT INTO `requests`(`sender_id`, `receiver_id`, `accept`) VALUES(:sender_id, :receiver_id, 0)'; $stmt = $pdo->prepare($sql); $stmt->bindParam(':sender_id', $sender_id); $stmt->bindParam(':receiver_id', $receiver_id); $sender_id = (int)$_SESSION['user_id']; $receiver_id = (int)$_GET['add_friend']; if($stmt->execute()){ if ($stmt) { echo '<br>Вы подали заявку в друзья'; } else header('Refresh: 5; url=?index.php'. HOST); exit; } //Подтверждения дружбы думаю сделаю здесь } catch(PDOException $e) { echo $e->getMessage(); }
Видимо нету. Я о составном ключе `sender_id`, `receiver_id` --- Добавлено --- Добавление друзей должно быть POST-запросом, а не get. Get - только на получение.
@mkramer Ты мне предлагаешь вместо get написать post словами? Одним словом, вот так: $receiver_id=(int)$_POST['add_friend'];
Кто мне может объяснить, как обращаться к зарегистрированным пользователям, то есть если ты обращаешься в запросе к себе ну если онлайн, ты используешь SESSION['id'], а для пользователя который с другой стороны, как к нему обратится переменную для них создавать или как. Помогите разобраться пожалуйста с этим, а то я могу месяц писать эту систему друзей и с места не сдвинутся((((((( А то пишу и не пойму пишу и не пойму пишу и не пойму, кааааааак оно делается( Пример: Обращение к пользователю через сессию $sender_id = (int)$_SESSION['user_id']; Обращение к пользователю через пост параметр, а от куда мы будем брать значение, что бы подставить в скобки! $receiver_id = (int)$_POST['Сюда'];
Нет, я тебе предлагаю делать POST-запросы. Загугли, что-ли, что это такое... Форум - это не замена учебнику веб-программирования.
@mkramer Я примерно знаю что такое пост запросы HTML: <form action="" methot="POST"> здесь поля и кнопки ввода. </form> И выше можно делать проверку. PHP: if(isset($_POST['user'])){ ну и тут проверка идет }
Угу. Вот добавление юзера должно быть таким post-запросом. А если внешне это должно выглядеть как ссылка - javascript в помощь. Но опять же, мне тоже тут уже надоедает. Ты взялся за сложную задачу с недостаточными знаниями по стеку технологий, это бесполезная трата времени.
@mkramer Объясни мне просто от куда я должен узнать какие данные надо подставить для пользователя с другой стороны, со стороны принять заявку)
Ура народ не поверите, не разобрался, думал уже все понял, а нет не понял, может есть добрые люди поправят меня а, удалено, через комп?
@SamyRed Я не удержался пишу, помогите пожалуйста ошибку дает, делаю запрос на добавления в друзья PHP: //запрос в друзья $sql_friend_add = 'INSERT INTO `requests`(`sender_id`, `receiver_id`, `accept`) VALUES(:sender_id, :receiver_id, 0)'; $stmt = $pdo->prepare($sql_friend_add); $stmt->bindParam(':sender_id', $sender_id); $stmt->bindParam(':receiver_id', $receiver_id); $sender_id = (int)$_SESSION['user_id']; $receiver_id = (int)$_GET['reseiver_id']; if($stmt->execute()){ echo 'Вы подали заявку в друзья'; } Ругается на: Notice: Undefined index: reseiver_id in Ссылку в html указываю такую, у пользователей такую: echo '<a href="?mode=friend&friend_add='. $val['user_id'] .'">Добавить в друзья</a>'; Но почему ругается, как исправить?