Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Drobny system
Forum PHP.pl > Forum > PHP
Krychu1
Witam. Stworzyłem drobny skrypt, w którym członkowie klanu mogą wpisać własne dane osobowe (dostęp do nich mają tylko owi członkowie, nikt więcej).
Mam problem, z jedną rzeczą - mianowicie, nie wiem jak "zrobić", aby po jednym wysłaniu danych, dany użytkownik nie mógł już zrobić tego ponownie (chyba, że wpis zostanie usunięty z bazy).

Oto kod:
  1. <?php
  2. include('_mysql.php');
  3. include('_settings.php');
  4. include('_functions.php');
  5. include('templates/klanowicze.html');
  6.  
  7. $username = getnickname($userID);
  8. ?>
  9.  
  10. <body>
  11.  
  12. <?php
  13. // łączenie z bazą danych
  14. $polaczenie = mysql_connect('---', '---', '---') or die("Brak połączenia: " . mysql_error());
  15. $baza = mysql_select_db('---',$polaczenie) or exit("Nie wybrano bazy, błąd: " . mysql_error());
  16.  
  17. $zapytanie = 'SELECT --- FROM ---';
  18. $wynik = mysql_query($zapytanie, $polaczenie) or die(mysql_error());
  19.  
  20.  
  21.  
  22. // warunek wejścia
  23. if ($username == '---' || $username == '---' || $username == '---' || $username == '---' || $username == '---') {
  24. $wejscie = true;
  25.  
  26. echo "<table border=\"0\" align=\"center\">";
  27. echo "<tr height=\"55\" style=\"color: white; font-weight: bold; text-align: center; font-size: 16px; font-family: Calibri, Verdana\">";
  28. echo "<td width=\"8%\">Nazwa gracza</td>";
  29. echo "<td width=\"8%\">Numer komórkowy</td>";
  30. echo "<td width=\"8%\">Gadu-Gadu</td>";
  31. echo "<td width=\"8%\">Skype</td>";
  32. echo "<td width=\"8%\">Xfire</td>";
  33. echo "<td width=\"8%\">Steam</td>";
  34. echo "<td width=\"8%\">SteamID</td>";
  35. echo "</tr>";
  36.  
  37. while ($rekord = mysql_fetch_assoc($wynik)) {
  38. echo "<tr bgcolor=\"#ffffff\" height=\"25\" style=\"font-size: 14px; font-family: Calibri, Verdana\">";
  39. echo "<td bgcolor=\"#8db3e2\" style=\"font-weight: bold;\">" . $rekord['---'] . "</td>";
  40. echo "<td style=\"font-style: italic; text-align: right;\">" . $rekord['---'] . "</td>";
  41. echo "<td style=\"font-style: italic; text-align: right;\">" . $rekord['---'] . "</td>";
  42. echo "<td>" . $rekord['---'] . "</td>";
  43. echo "<td>" . $rekord['---'] . "</td>";
  44. echo "<td>" . $rekord['---'] . "</td>";
  45. echo "<td style=\"font-style: italic;\">" . $rekord['---'] . "</td>";
  46. echo "</tr>";
  47. }
  48. echo "</table>";
  49. }
  50.  
  51. else {
  52. echo "<table border=\"0\" align=\"center\">";
  53. echo "<tr height=\"55\" style=\"color: white; font-weight: bold; text-align: center; font-size: 16px; font-family: Calibri, Verdana\">";
  54. echo "<td>Nie masz uprawnień, do przeglądania tego działu!</td>";
  55. echo "</tr>";
  56. echo "</table>";
  57. }
  58.  
  59.  
  60.  
  61. // formularz nowego kontaktu
  62. if (isset($_POST['odswiez'])) {
  63. header("Location: klanowicze.php");
  64. }
  65.  
  66. if ($_POST['wprowadz']) {
  67. echo "<table border=\"0\" align=\"center\">";
  68. echo "<tr align=\"center\" height=\"25\">";
  69. echo "<td><form action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"post\"><input type=\"submit\" name=\"odswiez\" value=\"Odśwież stronę!\" /></form></td>";
  70. echo "</tr>";
  71. echo "</table>";
  72. }
  73.  
  74. elseif ($wejscie) {
  75. ?>
  76. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  77. <table border="0" align="center">
  78. <tr align="center" height="25" style="font-weight: bold; color: #3297d2; font-size: 14px; font-family: Calibri, Verdana">
  79. <td>Moja nazwa</td>
  80. <td>Numer komórkowy</td>
  81. <td>Gadu-Gadu</td>
  82. <td>Skype</td>
  83. <td>Xfire</td>
  84. <td>Steam</td>
  85. <td>SteamID</td>
  86. </tr>
  87.  
  88. <tr align="center" height="25">
  89. <td><input name="nazwa" value="<?php echo $username; ?>" readonly="readonly" size="15" /></td>
  90. <td><input name="komorka" size="15" /></td>
  91. <td><input name="gadu" size="15" /></td>
  92. <td><input name="skype" size="15" /></td>
  93. <td><input name="xfire" size="15" /></td>
  94. <td><input name="steam" size="15" /></td>
  95. <td><input name="steamid" size="18" /></td>
  96. </tr>
  97. </table>
  98.  
  99. <table border="0" align="center">
  100. <tr align="center">
  101. <td><input type="submit" name="wprowadz" value="Dodaj" /></td>
  102. <td><input type="reset" value="Resetuj" /></td>
  103. </tr>
  104. </table>
  105. </form>
  106. <?php
  107. }
  108.  
  109.  
  110.  
  111. // formularz nowego kontaktu (wysyłanie do bazy)
  112. if ($_POST['wprowadz']) {
  113. $nazwa = trim($_POST['nazwa']);
  114. $komorka = trim($_POST['komorka']);
  115. $gadu = trim($_POST['gadu']);
  116. $skype = trim($_POST['skype']);
  117. $xfire = trim($_POST['xfire']);
  118. $steam = trim($_POST['steam']);
  119. $steamid = trim($_POST['steamid']);
  120.  
  121. if (!empty($nazwa) && !empty($komorka) && !empty($gadu) && !empty($skype) && !empty($xfire) && !empty($steam) && !empty($steamid)) {
  122. $zapytanie = "INSERT INTO --- (---, ---, ---, ---, ---, ---, ---) VALUES ('$nazwa', '$komorka', '$gadu', '$skype', '$xfire', '$steam', '$steamid')";
  123. $wynik = mysql_query($zapytanie, $polaczenie) or die('Nie dodano, błąd: ' . mysql_error());
  124. }
  125.  
  126. else {
  127. echo "<center><font color=\"white\">";
  128. echo "<b>Wypełnij wszystkie pola!</b> Jeśli nie masz któregoś z komunikatorów, wstaw na jego miejsce \"---\"!";
  129. echo "</font></center>";
  130. }
  131. }
  132. ?>
  133.  
  134. <span style="font-size: 11px; float: right; color: white; font-family: Calibri, Verdana;"><b>Autor skryptu:</b> Krystian Miler</span>
  135. </body>
  136. </html>


Pewnym jest, że będzie trzeba ustalić warunek, który porówna nicki zapisane już w tabeli (i tu mam problem, tworzę tabicę asocjacyjną jednak, aby odczytać jej całą zawartość, a nie tylko pierwszy wpis musiałbym użyć pętli while - jak wiadomo w warunku zrobić się tego nie da) do nicku aktualnie zalogowanej osoby ($username).
Znacie jakieś inne sposby, bo mi aktualnie nic nie przychodzi do głowy.


  1. if ($_POST['wprowadz']) {
  2. echo "<table border=\"0\" align=\"center\">";
  3. echo "<tr align=\"center\" height=\"25\">";
  4. echo "<td><form action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"post\"><input type=\"submit\" name=\"odswiez\" value=\"Odśwież stronę!\" /></form></td>";
  5. echo "</tr>";
  6. echo "</table>";
  7. }

Oto miejsce, w którym musiałbym dodać owy warunek (or).



PS Jeżeli chodzi o zabezpieczenia, przed tym co użytkownicy mogą wpisać do okinek, to są niepotrzebne. Tak jak wcześniej wspomniałem dostęp do działu mają tylko klanowicze, a nie są to osoby które chciałyby mi zrobić coś naprzekór.
Post mogłem napisać troche chaotycznie, za co przepraszam.
piotrooo89
crossposting jest zabroniony na forum. jeszcze raz i będzie warn.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.