Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Blokowanie pustych pól i ustawienie domyślnej treści
Mlody993
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 12.02.2009

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


Witam,
mam taki kod do dodawania komentarzy:

  1. <?php
  2.  
  3. $submit = $_POST['submit'];
  4. $id = $_GET['id'];
  5.  
  6. if (isset($submit))
  7. {
  8. $tytul = $_POST['tytul'];
  9. $autor = $_POST['autor'];
  10. $tresc = $_POST['tresc'];
  11. $ip = $_POST['ip'];
  12.  
  13.  
  14. $polaczenie = @mysql_connect('localhost', 'uzytkownik', 'haslo') or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  15. $db = @mysql_select_db('baza', $polaczenie) or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  16. $sql = "insert into komentarze (tytul, autor, tresc, artid, ip, dodany) values ('$tytul', '$autor', '$tresc', '$id', '$ip', NOW())";
  17. $wynik = mysql_query($sql, $polaczenie) or die(mysql_error());
  18. echo "<div align=\"center\" class=\"qw\"><strong><font color=green>Komentarz został dodany poprawnie.</font></strong></div>";
  19. }
  20.  
  21. else
  22. {
  23. echo '<div class=\"qw\"><form method="post" action="">
  24. <table>
  25. <tr><td><input type="hidden" name="ip" value="'.$_SERVER['REMOTE_ADDR'].'" /></td></tr>
  26. <tr><td><input type="hidden" name="tytul" value="0" /></td></tr>
  27.  
  28. <tr><td>Autor: </td></tr>
  29. <tr><td><input type="text" name="autor" value="'.$_SESSION['user'].'" onFocus="clearText" style="color:#39759B; font-weight: bold;" /></td></tr>
  30.  
  31. <tr><td>Treść:</td></tr>
  32. <tr><td><textarea name="tresc" rows="5" cols="40" style="color:#39759B; font-weight: bold;">'.$_POST['tresc'].'</textarea></td></tr>
  33. <tr><td><input type="submit" name="submit" value="Dodaj komentarz!" /></td></tr>
  34.  
  35. </table>
  36. </form></div>';
  37. }
  38.  
  39. ?>


Wcześniej w polu AUTOR > Value było Anonim, zastąpiłem to jednak '.$_SESSION['user'].' ponieważ dodałem logowanie. Chciałbym jednak, aby w polu nadal było wpisane domyślnie ANONIM jeśli użytkownik nie jest zalogowany.

Od dwóch godzin męczę się z dodaniem funkcji, aby wyskakiwał błąd kiedy któreś z pól będzie puste. Np. kiedy ktoś nie wpisze nic w pole AUTOR lub TRESC.

Nie mam pojęcia już gdzie dodać:
if (!empty($autor))

Proszę was o pomoc jak zmodyfikować poprawnie ten kod.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mlody993
post
Post #2





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 12.02.2009

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


Tak zrobiłem. Przy rejestracji używam:

  1. public function passSalter ($pass) {
  2. $pass = '$@@#$#@$'.$pass.'q2#$3$%##@';
  3. return md5($pass);
  4. }


oraz w formularzu rejestracji:
  1. $pass = user::passSalter($pass);


Twoja podpowiedź:
  1. $login = $_POST['login'];
  2. $pass = $_POST['pass'];
  3.  
  4. $login = htmlentities($login, ENT_QUOTES, "UTF-8");
  5. $pass = htmlentities($pass, ENT_QUOTES, "UTF-8");
  6.  
  7. $pass = md5( $pass );
  8.  
  9. if ($rezultat = @$polaczenie->query("SELECT * FROM uzytkownicy WHERE user=$login AND pass=$pass"))


niestety nie działa.. (IMG:style_emoticons/default/sad.gif) Tego już próbowałem.

Dobra, poradziłem sobie jednak (IMG:style_emoticons/default/smile.gif)

Trzeba było zrobić:
  1. $pass = user::passSalter($pass);


Ale wtedy nie działało... za duże zamieszanie, cztery pliki otwarte i się gubiłem. Dzisiaj na spokojnie zauważyłem, że w pliku logowania nie dodałem linijki:
  1. require '.php';


z plikiem w którym znajduje się klasa do solenia (IMG:style_emoticons/default/biggrin.gif)

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: 14.10.2025 - 04:55