Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php+mysql] prywatne wiadomości
klapaucius
post
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam wszystkich! Mam problem nad ktorym siedze juz 2 dni i nic nie moge wskurac. Mianowicie na mojej stronie zrobilem system wiadomosci. Chce jednak zrobic cos takiego, ze jesli ktos w polu "adresat" wpisze nieprawidlową nazwe uzytkownika, to zeby wywalil wlasnie taki komunikat ze taki user nei istnieje. Niestety mam problem bo za kazdym razem pisze to samo, ze uzytkownik nie istnieje, nawet jak wpsize poprawnie. Oto kod:
  1. <?php
  2. include('baza.php');
  3. include('gora.php');
  4. $date = date("Y-m-d H:i:s");
  5. $q = mysql_query("SELECT `id` FROM `users` WHERE `user` = '".addslashes($_POST['odbiorca'])."'") or die ("Błąd przy q!");
  6.    if(isset($_POST['temat']) && isset($_POST['odbiorca']) && isset($_POST['tresc'])) {
  7.                         if(isset($q['id'])){
  8.                                               mysql_query("INSERT INTO `wiadomosci` (`login`, `od`, `temat`, `tresc`, `date`) VALUES ('".addslashes($_POST['odbiorca'])."', '$user', '".addslashes($_POST['temat'])."', '".addslashes($_POST['tresc'])."', '$date')") or die ("Błąd przy wysyłaniu wiadomości!");
  9.                                               echo "Wiadomość wysłana";
  10.                               }
  11.                         else{
  12.                                               echo "Nie ma takiego nicku" ;
  13.                             }
  14.    } else {
  15.        echo "<form method='POST'>
  16.                        <p>Temat: <input type='text' name='temat' size='40' maxsize='100' value='".$_POST['temat']."' /></p>
  17.                        <p>Treść: <textarea name='tresc' columns='80' rows='5' >".$_POST['tresc']."</textarea></p>
  18.                        <p>Adresat: <input type='text' name='odbiorca' maxsize='50' value='".$_POST['odbiorca']."' />
  19.                        <input type='submit' name='wyslij' value='Wyślij wiadomość' />
  20.                    </form>";
  21.    }
  22. include('dol.php');
  23. ?>

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To może na przyszłość zamień kolejność: NAJPIERW podstawy, dopiero potem kodzisz?
Go to the top of the page
+Quote Post
tomekpl
post
Post #3





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Polecam użycie odczytywanie id użytkownika z GET
strona.pl/message/1
Formatowanie adresu jak kto woli.

Wtedy sprawdzasz
  1. <?php
  2. $id=intval($_GET['id']);
  3. $sql=mysql_query("SELECT id FROM users WHERE id='$id' ");
  4. $ile=mysql_num_rows($sql);
  5.  
  6. if($ile>0){
  7. jest uzytkownik pokaz opcje wysylania, a do pola input gdzie jest nazwa u&#380;ytkownika daj readolny="readonly" i input z hidden z id usera
  8. }else{
  9. brak
  10. }
  11. ?>

Oczywiście pamiętamy o sql injection i strukturach połączenia do bazy i wyświetlania wyników.



Cytat(erix @ 22.07.2009, 18:24:41 ) *
To może na przyszłość zamień kolejność: NAJPIERW podstawy, dopiero potem kodzisz?

A co ty taki książkowy się zrobiłeś? Nie znam, cię, ale po kilku postach można stwierdzić ten fakt. Forum jest po to by pomagać.

Ten post edytował tomekpl 23.07.2009, 03:36:09
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 16:22