Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie rekordow.
Forum PHP.pl > Forum > Przedszkole
Gość_Paweł
Witam mam taki problem otoz. Che zrobic formularz jak go sie wypelni to zapisuje wyniki w bazie danych i po nacisneiciu zapisz (wlasnie je zapisuje) przenosi na inna podstrone i tam wsywietla cala zawartosc tabeli.

A teraz zycowo tongue.gif : MAm puchar i ktos wpisuje sowja druzyne login itd zapisuje sie i wyswietla wszystkich uczesnikow na innej stronie .

Oto moj kod nie weim dlaczego nie dziala (poczatkujcy jeste tongue.gif od wczoraj php kursy czytac skonczylem;]) :

Strona index.php3

  1.  <html>
  2.  
  3. <a href="jolt.php3">Uczestnicy</a>
  4. <FORM ACTION="jolt.php3" METHOD="post">
  5. <INPUT TYPE="text" NAME="team" style="font-size: 13px; font-family: Arial; font-weight: bold; width: 200px; border-style: ridge; border-color:#000000"; border-width:"1px"><br><br><br>
  6. <INPUT TYPE="text" NAME="login" style="font-size: 13px; font-family: Arial; font-weight: bold; width: 200px; border-style: ridge; border-color:#000000"; border-width:"1px"><br><br><br>
  7. <INPUT TYPE="text" NAME="Liga" style="font-size: 13px; font-family: Arial; font-weight: bold; width: 200px; border-style: ridge; border-color:#000000"; border-width:"1px"><br><br><br>
  8.  
  9.  
  10. <INPUT TYPE="submit" VALUE="Zapisz" style="font-size: 10px; font-weight: bold; width: 100px; height: 25px">
  11. </FORM>
  12.  
  13.  
  14. <?php
  15.  $deskr = mysql_connect("members.lycos.co.uk","login","haslo") ;
  16.  mysql_select_db("glio_uk_db");
  17.  $zap="CREATE TABLE uczestnicy (Druzyna char(40) NOT NULL,Login char(20),Liga char(10),PRIMARY KEY(Druzyna))";
  18.  mysql_select_db("glio_uk_db");
  19.  $wuk=mysql_query($zap);
  20.  
  21.  $za="INSERT INTO uczestnicy VALUES(4,3,2)";
  22.  mysql_select_db("glio_uk_db");
  23.  $w=mysql_query($za);
  24.  
  25. mysql_close($deskr);
  26.  ?>
  27. </html>


Plik czesc.php3 :

  1. <html>
  2.  <?
  3. $baza='glio_uk_db';
  4. $deskr = mysql_connect("members.lycos.co.uk","login","haslo")
  5. or die ("Nie mogę połączyć się z serwerem SQL.");
  6. print ("Połączenie z serwerem SQL ustanowione.");
  7. $query = "SELECT * FROM 'uczestnicy'";
  8. $wynik = mysql_query($query);
  9. while ($krotka = mysql_fetch_object($wynik))
  10. {
  11. print "$krotka->Druzyna ";
  12. print "$krotka->Login ";
  13. print "$krotka->Liga";
  14. print "<br>n";
  15. }
  16.  mysql_close($deskr);
  17. ?>
  18.  
  19.  
  20.  
  21.  
  22. </html>


Dla sprostowania :

Przy sprawdzaniu polaczenia pokazuje mi ze polaczenie ustanowiono.
Narazie wpisywanie w pola formularzu ma nic nie dac bo to proba tongue.gif ale i tak nie wyswietla tych wynikow ;/
Gość_Paweł
Juz sobie poradzilem ale dlugo szukalem tongue.gif napsialem kod wyszukiwania w "" i jeszcze nazwe tabeli dalem w '' -> niepotrzebnie tongue.gif

Ale teraz drugi problem dlaczego nie pobiera mi wartosci zeminnych z pol formularza i nie zapisuje uch w bazie danych ?

I jedno pytanko czy jezeli mam ten kod i w nim podaje hasl oi logi n na serwer czy on wyswietli sie w zrodle pliku jesli ktos sobie je wlaczy czy jakos jest ukrywany tongue.gif ?

  1. <html>
  2.  
  3. <a href="jolt.php3">Uczestnicy</a>
  4. <FORM ACTION="jolt.php3" METHOD="post">
  5. <INPUT TYPE="text" NAME="team" VALUE="<?php echo $team ?>" style="font-size: 13px; font-family: Arial; font-weight: bold; width: 200px; border-style: ridge; border-color:#000000"; border-width:"1px"><br><br><br>
  6. <INPUT TYPE="text" NAME="login" VALUE="<?php echo $login ?>" style="font-size: 13px; font-family: Arial; font-weight: bold; width: 200px; border-style: ridge; border-color:#000000"; border-width:"1px"><br><br><br>
  7. <INPUT TYPE="text" NAME="Liga" VALUE="<?php echo $liga ?>" style="font-size: 13px; font-family: Arial; font-weight: bold; width: 200px; border-style: ridge; border-color:#000000"; border-width:"1px"><br><br><br>
  8.  
  9.  
  10. <INPUT TYPE="submit" VALUE="Zapisz" style="font-size: 10px; font-weight: bold; width: 100px; height: 25px">
  11. </FORM>
  12.  
  13.  
  14. <?php
  15.  $deskr = mysql_connect("members.lycos.co.uk","user","login") ;
  16.  mysql_select_db("glio_uk_db");
  17.  $zap="CREATE TABLE uczestnicy (Druzyna char(40) NOT NULL,Login char(20),Liga char(10),PRIMARY KEY(Druzyna))";
  18.  mysql_select_db("glio_uk_db");
  19.  $wuk=mysql_query($zap);
  20.  
  21.  $za="INSERT INTO uczestnicy VALUES($team,$login,$liga)";
  22.  mysql_select_db("glio_uk_db");
  23.  $w=mysql_query($za);
  24.  
  25. mysql_close($deskr);
  26.  ?>
  27. </html>
strife
Witam,

1. Po co cały czas wybierasz bazę danych, raz wystarczy.
2. Zainteresuj się obsługą błędów mysql_error" title="Zobacz w manualu php" target="_manual.

Cytat
Ale teraz drugi problem dlaczego nie pobiera mi wartosci zeminnych z pol formularza i nie zapisuje uch w bazie danych ?


Myślę, że przyczyną tego może być register_globals = off, zamiast definiować zmienne w ten sposób:
  1. <?php
  2.  
  3. // zamiast tego
  4. echo $team;
  5. // zrob tak
  6. echo $_POST['team'];
  7.  
  8. ?>


Cytat
I jedno pytanko czy jezeli mam ten kod i w nim podaje hasl oi logi n na serwer czy on wyswietli sie w zrodle pliku jesli ktos sobie je wlaczy czy jakos jest ukrywany  ?

1. Czemu nie sprawdzisz?
2. Jest przetwarzany po stronie serwera więc się nie wyświetli ( dopóki tego nie chcesz ), chyba że będzie awaria parsera php.

Pozdrawiam!
Gość_Paweł
Dzieki wszystkie twoje opcje wyprobuje ;] i zastosuje sie do wskazowek , aczkolwiek prze zten czas bez odpowiedzi sprobowalem innym sposobem i tez nie wyszlo ;]

w formularz.php3
  1. <?php
  2. <html>
  3.  
  4. <a href="jolt.php3">Uczestnicy</a>
  5. <FORM ACTION="jolt.php3" METHOD="post">
  6. <INPUT TYPE="text" NAME="team" VALUE="Druzyna" style="font-size: 13px; font-family: Arial; font-weight: bold; width: 200px; border-style: ridge; border-color:#000000"; border-width:"1px"><br><br><br>
  7. <INPUT TYPE="text" NAME="login" VALUE="Login" style="font-size: 13px; font-family: Arial; font-weight: bold; width: 200px; border-style: ridge; border-color:#000000"; border-width:"1px"><br><br><br>
  8. <INPUT TYPE="text" NAME="liga" VALUE="Liga (np: 6.134)" style="font-size: 13px; font-family: Arial; font-weight: bold; width: 200px; border-style: ridge; border-color:#000000"; border-width:"1px"><br><br><br>
  9.  
  10.  
  11. <INPUT TYPE="submit" VALUE="Zapisz" style="font-size: 10px; font-weight: bold; width: 100px; height: 25px">
  12. </FORM>
  13.  
  14. ?>



a w jolt.php3
  1. <html>
  2. <?php
  3.  
  4.  $deskr = mysql_connect("members.lycos.co.uk","glio","okaoc7") ;
  5.  mysql_select_db("glio_uk_db");
  6.  $zap="CREATE TABLE uczestnicy (Druzyna char(40) NOT NULL,Login char(20),Liga char(10),PRIMARY KEY(Druzyna))";
  7.  mysql_select_db("glio_uk_db");
  8.  $wuk=mysql_query($zap);
  9.  
  10.  $za='INSERT INTO uczestnicy VALUES('.$_POST['team'].','.$_POST['login'].','.$_POST['liga'].')';
  11.  mysql_select_db("glio_uk_db");
  12.  $w=mysql_query($za);
  13.  
  14. mysql_close($deskr);
  15.  ?>
  16. </html>
  17.  
  18.  <?
  19. $baza='glio_uk_db';
  20. $deskr = mysql_connect("members.lycos.co.uk","user","haslo")
  21. or die ("Nie mogę połączyć się z serwerem SQL.");
  22. print ("Połączenie z serwerem SQL ustanowione.");
  23.  print "<br>";
  24.  print "<br>";
  25. $query = "SELECT * FROM uczestnicy";
  26. $wynik = mysql_query($query);
  27. while ($krotka = mysql_fetch_object($wynik))
  28. {
  29. print "$krotka->Druzyna ";
  30. print "$krotka->Login ";
  31. print "$krotka->Liga ";
  32. print "<br>";
  33. }
  34.  
  35.  mysql_close($deskr);
  36. ?>
  37.  
  38. </html>


I chodzi oto ze niestety w pliku jolt.php3 , nie zapisuje przeslanych wynikow formularza w bazie danych dlaczego ?


I bede pamietal zeby nie wybierac caly czas bazy ;] Teraz jeszcze niestety tak jest
strife
Cytat(strife @ 2006-01-07 20:45:39)
2. Zainteresuj się obsługą błędów mysql_error" title="Zobacz w manualu php" target="_manual.

Tutaj Ci dałem odpowiedź, dlatego ponieważ sądze iż masz źle skonstruowane zapytanie mogę Ci poprawić linijkę którą uważam, że jest zła, ale nie wiem czy będzie dobrze tak więc pisane z palca
  1. <?php
  2.  
  3.  $za="INSERT INTO
  4. uczestnicy SET
  5. Druzyna = '" . $_POST['team'] . "',
  6. Login = '" . $_POST['login'] . "',
  7. Liga = '" . $_POST['liga'] . "'
  8. ");
  9.  
  10. ?>

Zapewne wiesz, która to jest poprawiona linijka skryptu. Generalnie błąd twi/twił w ciapkach ', a konkretniej mówiąc w ich braku, pola typu char powinny być nimi poprzedzone informując iż jest to taki a nie inny typ, w przeciwieństwie do int przy którym jest to zbędne.

Pozdrawiam!
vtuner
no nie uzupelnia ci bo masz zle zapytanie. ZObacz na uklad INTERT INTO

EDIT: Wogule tu troche namieszales.

Po co tworzysz tabele jak mozesz sam ja strorzyc i tylko uzupelniac rekordy smile.gif
Następnie:

- Po co 2 razy dałes

  1. <?php
  2. mysql_select_db("glio_uk_db");
  3. ?>


- po co zamylasz 2 razy polaczenie z baza jak mozesz tylko na koniec kody tak to jest o pare linijek krotszy

- korzystaj z poprawnosci wykonania zapytania korzystajac z if" title="Zobacz w manualu php" target="_manual lub or die" title="Zobacz w manualu php" target="_manual oraz mysql_error" title="Zobacz w manualu php" target="_manual
prt
EDIT : Usunalem juz ten post bo dziala ;]

Zrobilem tak wyniki zapisalem w zmiennych i :

INSERT INTO uczestnicy SET Druzyna='$zmienna1',Login='$zmienna2',Liga='zmienna3' ;

I teraz juz dziala ;]


Dzieki wam ;]

A teraz tongue.gif jedno ;] z funkcja mysql_error wyswietla blad gdy cche zapisac 2 raz ta sama druzyne ;] a jak zrobic zeby wsykoczyl moj error ? tzn mo jtekst ze np: "Nie wolno zapisac 2 razy tej samej druzyny ?"

Pozdrawiam Paweł
vtuner
pobierasz dane z bazy i potem
jesli dane pole z bazy jest rowne przekazanemu przez formularz to wyswietlasz swoj komunikat(funkcja if" title="Zobacz w manualu php" target="_manual)
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.