Forum forum.webPC.pl Strona Główna  
  forum.webPC.pl
FAQ  FAQ   Szukaj  Szukaj   Użytkownicy  Użytkownicy   Grupy  Grupy
 
Rejestracja  ::  Zaloguj Zaloguj się, by sprawdzić wiadomości
 
Forum forum.webPC.pl Strona Główna --> PHP, MySQL oraz inne bazy danych --> Problem z przekazywaniem danych

Napisz nowy temat  Odpowiedz do tematu
 Problem z przekazywaniem danych Zobacz poprzedni temat :: Zobacz następny temat --> 
Autor Wiadomość
Lewand
PostWysłany: Sob Cze 11, 2005 10:24 pm    Temat postu: Problem z przekazywaniem danych Odpowiedz z cytatem

Moderator

Dołączył: 27 Kwi 2005
Posty: 29
Skąd: z sieci

Otóż mój problem z mojego punktu widzenia jest dość prosty, ale nie mogę wpaść na jego rozwiązanie. Pobieram dane z bazy dancy za pomocą pętli while i przedstawiam na www, do której tylko ja mam dostęp. Dane są przedstawione w formie tabeli. Przy kazdmy z przedstawionych redordow jest pole typu checkbox. Po zaznaczeniu jednego pola moge modyfikowac dane z zaznaczonego rekordu. I tutaj pojawia sie problem, otoz nie moge przekazac id po ktorym rekord jest identyfikowany w bazie danych (MySQL). Nie wiem dlaczego. Prosze o wyjasnienie mi tego problemu i rozwiazania jego. Jezeli kod tego wszystkiego bedzie potrzebny prosze napisac.
_________________
Zapraszam na www.komputerpc.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Adres AIM
Lewand
PostWysłany: Pon Cze 13, 2005 4:41 pm    Temat postu: Odpowiedz z cytatem

Moderator

Dołączył: 27 Kwi 2005
Posty: 29
Skąd: z sieci

plik uzytkownicy.php

Kod:
<?php

if(isset($HTTP_SESSION_VARS['zmienna']))
  {
  $plik = 'ble ble';
  $wskaznik = fopen ($plik, "r");
  $string = fread ($wskaznik, filesize($plik));
  $haslo = $string;

  $polacz = mysql_connect ('localhost', 'ml', $haslo);
    if(!$polacz)
      {
      print '<h2 class="tyt">Błąd!</h2>';
      print '<p class="tr">Połączenie z bazą danych nie powiodło się, skontaktuj się z <a href="">administratrem.</p>';
      exit;
      }
  $wybor = mysql_select_db ('ml');
    if(!$wybor)
      {
      print '<h2 class="tyt">Błąd!</h2>';
      print '<p class="tr">Wybór bazy danych nie powiódł się, skontaktuj się z <a href="">administratrem.</p>';
      exit;
      }
  $zapytanie = "select id_uzytkownika, login, haslo, kontakt, imie, nazwisko from uzytkownicy";
    if(!$zapytanie)
      {
      print '<h2 class="tyt">Błąd!</h2>';
      print '<p class="tr">Zapytanie nie powiodło się, skontaktuj się z <a href="">administratorem.</p>';
      exit;
      }
  $rezultat = mysql_query ($zapytanie);
  ?>
  <form action="modyfikuj.php" method="post">
  <table width="1000px">
  <tr style="background:#0066cc; font-weight:bold; text-align:center;"><td>Zaznacz</td><td>Id_uzytkownika</td><td>Login</td><td>Hasło</td><td>E-mail</td><td>Imię</td><td>Nazwisko</td></tr>
  <?php
     while ($wartosc = mysql_fetch_array($rezultat, MYSQL_ASSOC))
      {
      $id_uzytkownika = $wartosc['id_uzytkownika']. "";
      $login = $wartosc['login']. "";
      $haslo = $wartosc['haslo']. "";
      $kontakt = $wartosc['kontakt']. "";
      $imie = $wartosc['imie']. "";
      $nazwisko = $wartosc['nazwisko'];
      ?>
      <tr style="text-align:center; background:#99cccc;"><td><input type="checkbox" name="uzytkownik" value="<?php print $id_uzytkownika;?>"></td><td><?php print $id_komentarza;?></td><td><?php print $login; ?></td><td><?php print $haslo; ?></td><td><?php print $kontakt; ?></td><td><?php print $imie; ?></td><td><?php print $nazwisko; ?></td></tr>
      <?php
      } 
      ?>
      <tr><td><input type="submit" value="Modyfikuj"></td></tr>
      </table>
      </form>
      <?php         
  }
else
  {
?>
<h2 class="tyt">Odmowa dostępu</h2>
<p class="tr">Nie jesteś uprawniony do przeglądania tych zasobów.</p>
<?php 
  }
?>


plik modyfikuj.php

Kod:
<?php
if(isset($HTTP_SESSION_VARS['zmienna']))
  {
  if(isset($HTTP_POST_VARS['uzytkownik']))
    {
    if(isset($HTTP_POST_VARS['id_uzytkownika']))
      {
      $plik = '../text.txt';
      $wskaznik = fopen ($plik, "r");
      $string = fread ($wskaznik, filesize($plik));
      $haslo = $string;

      $polacz = mysql_connect ('localhost', 'ml', $haslo);
        if(!$polacz)
          {
?>
          <h2 class="tyt">Błąd!</h2>
          <p class="tr">Połączenie z bazą danych nie powiodło się, skontaktuj się z <a href="">administratrem.</p>
<?php
          exit;
          }
      $wybor = mysql_select_db ('ml');
        if(!$wybor)
          {
?>
          <h2 class="tyt">Błąd!</h2>
          <p class="tr">Wybór bazy danych nie powiódł się, skontaktuj się z <a href="">administratrem.</p>
<?php
          exit;
          }
      }
    else
      {
?>
<h2 class="tyt">Informacja</h2>
<p class="tr">Nie przekazano id.</p>
<?php     
      }
    }
  else
   {
?>
<h2 class="tyt">Informacja</h2>
<p class="tr">Nic nie zostało wybrane.</p>
<?php   
   } 
  }
else
  {
?>
<h2 class="tyt">Odmowa dostępu</h2>
<p class="tr">Nie jesteś uprawniony do przeglądania tych zasobów.</p>
<?php
  } 
?>

_________________
Zapraszam na www.komputerpc.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Adres AIM
Lewand
PostWysłany: Pon Cze 13, 2005 10:09 pm    Temat postu: Odpowiedz z cytatem

Moderator

Dołączył: 27 Kwi 2005
Posty: 29
Skąd: z sieci

zapomniał napisać że sesje są rozpoczynane w plikach wcześniejszych. Ten kod, który podałem są to pliki includowane. Zapytane, które jest w tym kodzie wykorzystywane jest do uzupełniania owej tabeli:

Kod:
<tr style="text-align:center; background:#99cccc;"><td><input type="checkbox" name="uzytkownik" value="<?php print $id_uzytkownika;?>"></td><td><?php print $id_komentarza;?></td><td><?php print $login; ?></td><td><?php print $haslo; ?></td><td><?php print $kontakt; ?></td><td><?php print $imie; ?></td><td><?php print $nazwisko; ?></td></tr>


Jak zapewne zauważyłeś, cała tabela jest umieszczona w formularzu i tutaj nie zabardzo rozumiem dlaczego mam tam wpisać name lub id?

Jeżeli chodzi o mysql_query z tymi warunkami przyznaje rację, ale w dalszym ciągu nawet po wpisaniu id lub name w formularzu nie wiele zdziałałem. Może jakieś modyfikacje w skrypcie musze wprowadzić. Pierwszy raz piszę tego typu skrypt dlatego jest otwarty na wszelkie propozycje rozwiązania tego problemu. Jeżeli będziesz wprowadzał zmiany w skrypcie zaznacz to pogrubieniem lub w jakikolwiek inny sposób.

Zapytanie, które ma być wkonane w celu pobrania danych z wybranego rekordu ma się znajdować w tym miejscu:

Kod:
 $wybor = mysql_select_db ('ml');


Oczywiście jest jeszcze nie napisane ponieważ nie mogę przekazać id_uzytkownika z poprzedniego skryptu. Chyba, że co dopiero teraz przyszło mi na myśl, zapytanie to ma być wykonane w skrypcie pochodzącym z pliku uzytkownicy.php?? Sprawę zostawiam do dalszego skomentowania.
_________________
Zapraszam na www.komputerpc.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Adres AIM
Lewand
PostWysłany: Wto Cze 14, 2005 4:30 pm    Temat postu: Odpowiedz z cytatem

Moderator

Dołączył: 27 Kwi 2005
Posty: 29
Skąd: z sieci

nie nie z pliku uzytkownicy.php nie można przekazać id_uzytkownika do skryptu modyfikuj.php.
Widze, ze nie jasno sie wyrazilem za co bardzo przerpaszam i juz koryguje moja wypowiedz. Napisalem sobie skrypt (panel admina - tak to nazwalem), ktory sluzy tylko i wylacznie moim potrzebom typu - usuwanie zbednych rekordow oraz modyfikacje o ktorych mowa. Otoz wszystko dziala poprawnie do momentu wyswietlania rekordow z bazy na www. Wraz z tymi danymi uczynilem sobie mozliwosc modyfikowania tych danych. Wiadomo przciez ze nie wszystko trzeba modyfikowac, dlatego przy kazdym rekordzie ktory jest wyswietlany na www umiescilem pole checkbox. By mozna bylo zmodyfikowac ten rekord musze sobie przekazac identyfikator tego rekordu bo chce go wyswietlic na kolejnej stronie gdzie chce to modyfikowac. Za identyfikator rekordu wzialem sobie zmienna id_uzytkownika. No i po nacisnieciu buttona modyfikuj wyskakuje mi komunikat nie przekazano id. To oczym teraz mowie jest zawarte w pliku modyfikuj.php.

Szczur to napisales praktycznie nic nie zmienilo poza tym ze zmienles nazwe zmiennej sesji. Mój problem tkwi w tym (zapewniam ze nie jest trudny do rozwiazania - tak mysle) dlaczego nie przkazuje mi tego id_uzytkownika. Co musze dopisac żeby bylo wszystko w porzadku??
_________________
Zapraszam na www.komputerpc.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Adres AIM
Lewand
PostWysłany: Wto Cze 14, 2005 9:42 pm    Temat postu: Odpowiedz z cytatem

Moderator

Dołączył: 27 Kwi 2005
Posty: 29
Skąd: z sieci

No cóż ale dzięki
_________________
Zapraszam na www.komputerpc.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Adres AIM
Wyświetl posty z ostatnich:   
Napisz nowy temat  Odpowiedz do tematu Strona 1 z 1

Forum forum.webPC.pl Strona Główna --> PHP, MySQL oraz inne bazy danych --> Problem z przekazywaniem danych
Skocz do:  



Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
 
 


gabloty krajowe, wiaty kroll, aquai
Powered by phpBB Š 2001, 2002 phpBB Group