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
d0m1n1k_
post
Post #2





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


  1. <?php
  2.  
  3. DEFINE ('DB_HOST','localhost'); //Host
  4. DEFINE ('DB_USER','******'); //Login
  5. DEFINE ('DB_PASS','******'); //Hasło
  6. DEFINE ('DB_NAME','******'); //Nazwa bazy danych
  7.  
  8. $connection = mysql_connect (DB_HOST, DB_USER, DB_PASS) OR die
  9. ('Error - nie połączono z bazą danych<br />' . mysql_error() );
  10. mysql_select_db (DB_NAME) OR die ('Error - nie wybrano bazy danych<br />' . mysql_error() );
  11. $set_typ_coding = mysql_query("SET NAMES 'utf8'");
  12.  
  13.  
  14. if(isset($_POST['submit'])){
  15. $id = $_GET['id'];
  16. $tytul = trim(htmlspecialchars(addslashes($_POST['tytul'])));
  17. $tresc = trim(htmlspecialchars(addslashes($_POST['tresc'])));
  18. $ip = $_POST['ip'];
  19. $add_todb = mysql_query("INSERT INTO komentarze (`tytul`, `autor`, `tresc`, `artid`, `ip`, `dodany`) VALUES ('" . $tytul . "', '" . $autor . "', '" . $tresc . "', '" . $id . "', '" . $ip . "', NOW())") or die(mysql_error());
  20. <div align="center" class="qw">
  21. <strong>
  22. <font color=green>Komentarz został dodany poprawnie.</font>
  23. </strong>
  24. </div>';
  25.  
  26. }else{
  27. if(isset($_SESSION['user']) AND !empty($_SESSION['user'])){
  28. $dane_usera_zalogowanego = mysql_query("<!-- ZAPYTANIE DOTYCZĄCE DANYCH UŻYTKOWNIKA -->");
  29. if(mysql_num_rows($dane_usera_zalogowanego) > 0){
  30. $pokazd_nick = mysql_fetch_array($dane_usera_zalogowanego);
  31. if($pokazd_nick['nick'] == NULL){
  32. $autor = ''; //Użytkownik nie określił swojego nicku
  33. }else{
  34. $autor = $pokazd_nick['nick']; //Lub login, czy inna nazwa kolumny z nazwą użytkownika
  35. }
  36. }
  37. }else{
  38. $autor = 'Anonim';
  39. }
  40.  
  41. <div class="qw">
  42. <form method="post" action="">
  43. <table>
  44. <input type="hidden" name="ip" value="'.$_SERVER['REMOTE_ADDR'].'" />
  45. <input type="hidden" name="tytul" value="0" required/>
  46.  
  47. <tr>
  48. <td>Autor: </td>
  49. </tr>
  50. <tr>
  51. <td>
  52. <input type="text" name="autor" value="' . $autor . '" onFocus="clearText" style="color:#39759B; font-weight: bold;" />
  53. </td>
  54. </tr>
  55. <tr>
  56. <td>Treść:</td>
  57. </tr>
  58. <tr>
  59. <td>
  60. <textarea name="tresc" rows="5" cols="40" style="color:#39759B; font-weight: bold;" required>'.$_POST['tresc'].'</textarea>
  61. </td>
  62. </tr>
  63. <tr>
  64. <td>
  65. <input type="submit" name="submit" value="Dodaj komentarz!" />
  66. </td>
  67. </tr>
  68. </table>
  69. </form>
  70. </div>';
  71. }
  72. ?>
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: 13.10.2025 - 21:49