Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> usuwanie rekordów, błąd 403
-Gość-
post
Post #1





Goście







Witam. Mam mały problem z usuwaniem rekordów z bazy, a mianowicie: po wpisaniu jakiegos nazwiska w pole tekstowe form_nazwisko i po kliknieciu przycisku "szukaj" wyświetla mi pełne dane czytelników o takim nazwisku + przy każdym z nich przycisk usuń. Jednak gdy chce jakąś osobę usunąć wyskakuje mi błąd 403 - dostęp zabroniony. Używam krasnala 2.7. W phpMyAdmin mam ustawione pełne prawa dostępu dla wszystkich użytkowników jacy tam są, więc nie wiem w czym tkwi problem i czy wogóle ma to związek z tym wszystkim. Php i Mysqelem zajmuje sie od niespełna 2 tyg., więc wielkim specjalista nie jestem.

  1. <?php
  2. $polaczenie=mysql_connect("localhost","root","krasnal");
  3. $baza="biblioteka";
  4. $liczba_porzadkowa=0;
  5.  
  6. if($action=="szukaj"){
  7.  $query="SELECT id, nr_leg1, nr_leg2, nr_leg3, imie, nazwisko, klasa1, klasa2 
  8.  FROM czytelnicy WHERE nazwisko='$form_nazwisko'";
  9.  $result=mysql_db_query($baza, $query);
  10.  while($a=mysql_fetch_array($result)){
  11.  echo ('<table width ="370" border="1" cellpadding="10" cellspacing="0"><tr><td bgcolor="#DDDDDD" valign="top">'.$a[1].' '.$a[2].' '.$a[3].'<br> 
  12.  '.$a[4].' '.$a[5].'<br> 
  13.  '.$a[6].' '.$a[7].'
  14.  <a href=\"./1b.php?action=usun&id=$a[0]\"><center>usuń</center></td></tr></table>');
  15.  
  16. }
  17. }
  18.  
  19. if(action=="usun"){
  20. $query="DELETE FROM czytelnicy WHERE id=$id"
  21. $result=mysql_db_query($baza, $query);
  22. }
  23. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $baza="biblioteka";
  3. ?>

ja bym zrobil tak
  1. <?php
  2. $baza=mysql_select_db("biblioteka", $polaczenie);
  3. ?>

i nie powinno byc tak?
  1. <?php
  2. if(action=="usun"){
  3. $query="DELETE FROM czytelnicy WHERE id=$id"; // czy tu po delete nie brakuje jakiegos argumentu??
  4. $result=mysql_query($query $polaczenie);
  5. }
  6. ?>


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
drPayton
post
Post #3





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Zapytanie delete jest ok, natomiast faktycznie brak wybierania bazy a skoro wyświetla, to oznacza że podany kod nie jest kompletny.
Ten fragment:
  1. <?php
  2. echo ('<table width ="370" border="1" cellpadding="10" cellspacing="0"><tr><td bgcolor="#DDDDDD" valign="top">'.$a[1].' '.$a[2].' '.$a[3].'<br> 
  3.  '.$a[4].' '.$a[5].'<br> 
  4.  '.$a[6].' '.$a[7].'
  5.  <a href=\"./1b.php?action=usun&id=$a[0]\"><center>usuń</center></td></tr></table>');
  6. ?>

Niepotrzebnie escape'owane cudzysłowy w elemencie <a...

Ten post edytował drPayton 30.10.2007, 20:49:49
Go to the top of the page
+Quote Post
marcio
post
Post #4





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


no fakt zapytanie dobre ale mial zle ustawione zmienne w mysql_query i nie bylo ; na koncu zapytania


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
-Gość-
post
Post #5





Goście







Zmieniłem trochę kod w stosunku do tego pierwszego i go uprosciłem, aby było wiadomo o co mi chodzi:

  1. <?php
  2. $poloczenie = @mysql_connect('localhost', 'root', 'krasnal'); 
  3. $db = @mysql_select_db('biblioteka'); 
  4.  
  5. $select = mysql_query("SELECT id, imie FROM czytelnicy");
  6.  
  7. if ($action == 'usun') {
  8. $id = $_GET['id'];
  9. @mysql_query("DELETE FROM produkty WHERE id='$id'");
  10. }
  11. while ($a = mysql_fetch_array($select, MYSQL_NUM)) {
  12. echo "$a[0] $a[1]";
  13. echo '  <a href="?action=usun&id='.$a[0].'">usun</a><br>';
  14.  
  15. }
  16. ?>

Po wyświetlkeniu strony z kodem w przeglądarce mam takie coś:
1 Tomasz usun
2 Andrzej usun
4 Jan usun
10 Radosław usun
9 Jacek usun
11 Radosław usun
14 Marcin usun

Niby wszystko ok, ale po kliknięciu na usuń nic sie nie dzieje. Nie wiem czy to wina kodu, ale wg mnie jest chyba ok.
Go to the top of the page
+Quote Post
marcio
post
Post #6





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $poloczenie = mysql_connect('localhost', 'root', 'krasnal') or die('Polaczenie niemozliwe');
  3. $db = mysql_select_db('biblioteka') or die('Polaczenie niemozliwe');
  4.  
  5. $select = mysql_query("SELECT id, imie FROM czytelnicy");
  6.  
  7. if ($action == 'usun') {
  8. $id = $_GET['id'];
  9. [color="#007700"]$query = ([/color]"DELETE FROM produkty WHERE id='$id'");
  10. $wynik = mysql_query($query, $polaczenie):
  11. }
  12. while ($a = mysql_fetch_array($wynik)) {
  13. echo "$a[0] $a[1]";
  14. echo ' <a href="?action=usun&id='.$a[0].'">usun</a><br>';
  15.  
  16. }
  17. ?>

spruboj tak miales zle zmienna ustawiona i po co ci zaptanie $select skoro na nim nie pracujesz?


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
-Gość-
post
Post #7





Goście







Dziękuje za pomoc, znalazłem błąd, już wszystko działa.
Go to the top of the page
+Quote Post
marcio
post
Post #8





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


powiedz co bylo zle zeby ktos nie popelnil twojego bledu biggrin.gif


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 08:08