![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 4.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
A więc uczę się jakiś niedługi czas php i w miarę postępów nauki postanowiłem pisać(a następnie udoskonalać) swój skrypt. Ok przejdźmy do rzeczy:
Założenia skryptu: - poprzez formularz.html dodaje sobie zawodnika (chodzi o piłkę nożną). Dostęp do formularz.html miałby być poprzedzony logowaniem. - plik obsluz_profil.php sprawdza czy podałem jakikolwiek tekst we wszystkich polach, a następnie poniżej wyświetla parametry zawodnika, które wprowadziłem w formularzu. - jego dane dodaje do bazy danych. To co już wydaje mi się, że zrobiłem to: -stworzenie formularza -stworzenie pliku obsluz_profil.php tak aby sprawdzał czy wprowadziłem dane we wszystkich polach i wyświetlał parametry gracza które podałem. To co chciałbym jeszcze uzyskać: - dodanie danych zawodnika do bazy danych - dorobienie funkcji, która pozwalałaby mi dodać również zdjęcie(np 200x200px, jeżeli większe lub mniejsze to chciałbym aby skrypt przerabiał to zdjęcie właśnie na 200x200px) To teraz przejdźmy do treści plików: formularz.html Cytat <html> <head> <title>Profil Zawodnika</title> </head> <body> <form action="obsluz_profil.php" method="post"> <fieldset><legend>Wprowadz do ponizszego formularza dane zawodnika ktorego chcesz dodac do bazy </legend> <p><b>Imie:</b> <input type="text" name="imie" size="20" maxlenght="40" /></p> <p><b>Nazwisko:</b> <input type="text" name="nazwisko" size="20" maxlenght="40" /></p> <p><b>Kraj:</b> <input type="text" name="kraj" size="20" maxlenght="40" /></p> <p><b>Data urodzenia:</b> <input type="text" name="urodzony" size="20" maxlenght="40" /></p> <p><b>Miejsce urodzenia:</b> <input type="text" name="miejsce" size="20" maxlenght="40" /></p> <p><b>Wzrost:</b> <input type="text" name="wzrost" size="20" maxlenght="40" /></p> <p><b>Waga:</b> <input type="text" name="waga" size="20" maxlenght="40" /></p> <p><b>Pozycja:</b> <select name="pozycja"> <option value="bramkarz">Bramkarz</option> <option value="obronca">Obronca</option> <option value="pomocnik">Pomocnik</option> <option value="napastnik">Napastnik</option></p> </fieldset> <div align="center"><input type="submit" name="submit" value="Wyslij dane" /> </form> </div> </body> </html> obsluz_profil.php Cytat <html> <head> <title>Potwierdzenie Dodania</title> </head> <body bgcolor="#CCCCCC"> <?php // Sprawdzanie czy w każde pole wprowadzona została jakaś treść if (!empty($_REQUEST['imie'])) { $imie = stripslashes($_REQUEST['imie']); } else { $imie = NULL; echo '<p><font color="red">Zapomniales podac imienia!</font></p>'; } if (!empty($_REQUEST['nazwisko'])) { $nazwisko = stripslashes($_REQUEST['nazwisko']); } else { $nazwisko = NULL; echo '<p><font color="red">Zapomniales podac nazwiska!</font></p>'; } if (!empty($_REQUEST['kraj'])) { $kraj = stripslashes($_REQUEST['kraj']); } else { $kraj = NULL; echo '<p><font color="red">Zapomniales podac kraju!</font></p>'; } if (!empty($_REQUEST['urodzony'])) { $urodzony = stripslashes($_REQUEST['urodzony']); } else { $urodzony = NULL; echo '<p><font color="red">Zapomniales podac daty urodzenia!</font></p>'; } if (!empty($_REQUEST['miejsce'])) { $miejsce = stripslashes($_REQUEST['miejsce']); } else { $miejsce = NULL; echo '<p><font color="red">Zapomniales podac miejsca urodzenia!</font></p>'; } if (!empty ($_REQUEST['wzrost'])) { $wzrost = stripslashes($_REQUEST['wzrost']); } else { $wzrost = NULL; echo '<p><font color="red">Zapomniales podac wzrostu!</font></p>'; } if (!empty($_REQUEST['waga'])) { $waga = stripslashes($_REQUEST['waga']); } else { $waga = NULL; echo '<p><font color="red">Zapomniales podac wagi!</font></p>'; } $pozycja = $_REQUEST['pozycja']; // Wyświetlanie wprowadzonych danych echo '<p><font face="arial">Dziekujemy, zawodnik o ponizszych parametrach zostal dodany do bazy danych </font><br /><br />'; echo "<b>Imie:</b> $imie <br /><br /> <b>Nazwisko:</b> $nazwisko <br /><br /> <b>Kraj:</b> $kraj <br /><br /> <b>Data urodzenia:</b> $urodzony <br /><br /> <b>Miejsce urodzenia:</b> $miejsce <br /><br /> <b>Wzrost:</b> $wzrost <br /><br /> <b>Waga:</b> $waga <br /><br /> <b>Pozycja:</b> $pozycja <br /><br />"; ?> </body> </html> To teraz dalej. Niezbyt opanowałem jeszcze MySQL'a więc nie bardzo wiem jak dodać wprowadzone dane do bazy danych: na końcu pliku obsluz_profil.php dołączam: Cytat require_once ('mysql/mysql_connect.php'); // Utwórz zapytanie. $query = "INSERT INTO users (imie, nazwisko, kraj, urodzony, miejsce, wzrost, waga, pozycja) VALUES ('$imie', '$nazwisko', '$kraj', '$urodzony', '$miejsce', '$wzrost', '$waga', '$pozycja', NOW() )"; $result = @mysql_query ($query); if ($result) // Wy¶wietl komunikat. echo '<h1 id="mainhead">Dziekujemy!</h1> <p>Dane zawodnika zostaly dodane do bazy</p><p><br /></p>'; mysql_close(); plik służący do połączenia się z bazą znajduje się w "mysql/mysql_connect.php . Tu nie mam żadnych wątpliwości czy jest dobrze, bo łączy się z bazą poprawnie. Problem leży w dalszej części czyli utworzeniu poprawnego zapytania Zwyczajnie wyciągnąłem to z innego skryptu, zapewne to jakieś głupoty ![]() W reszcie "skryptu" (szczególnie obsluz_profil.php) pewnie sporo jeszcze większych głupot jest, proszę o wyrozumiałość. To by było na tyle:P Ten post edytował batman 26.03.2009, 21:08:19
Powód edycji: przenoszę na przedszkole ~batman
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 4 Dołączył: 23.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze nie zgadza Ci się ilość wstawianych wartości z ilością pól w tabeli.
Poza tym na pierwszy rzut oka wygląda ok. Czy tabele masz stworzoną? Wywala Ci jakieś błędy? Zamień tą linie:
na taką:
Wtedy w przypadku błędów w zapytaniu ładnie wyświetli Ci o jakie błędy chodzi. Ten post edytował Kalinowcyk 26.03.2009, 21:25:56 -------------------- Notatnik programisty
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 13 Dołączył: 24.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wykorzystaj funkcję mysql_error(), która pokaże Ci, gdzie w zapytaniu do bazy masz błąd, jeżeli takowy występuje. Wydaje mi się, że problem będzie tkwił w liczbie komórek tabeli, do której wysyłasz wartości - na pewno nie równoważą się, bo wysyłasz 9 wartości do 8 kolumn bazy:<br /><br />
<br /><br />Wszystko też zależy od architektury bazy - możliwe, że jakieś pole pominąłeś. Ten post edytował Ellington 26.03.2009, 21:57:39 -------------------- while ( !die() ) code();
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 9 Dołączył: 9.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
zmienne w zapytaniu umieszczaj nastepujaco:
a o tym ze masz nierowna ilosc pol w tabeli z wstawianymi danymi to juz zauwazyli chlopaki wyzej Ten post edytował trike 26.03.2009, 21:48:33 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 4.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze nie zgadza Ci się ilość wstawianych wartości z ilością pól w tabeli. Poza tym na pierwszy rzut oka wygląda ok. Czy tabele masz stworzoną? Wywala Ci jakieś błędy? Zamień tą linie:
na taką:
Wtedy w przypadku błędów w zapytaniu ładnie wyświetli Ci o jakie błędy chodzi. Zrobiłem tak jak mówisz i rzeczywiście wywala: Cytat Column count doesn't match value count at row 1 Cytat a o tym ze masz nierowna ilosc pol w tabeli z wstawianymi danymi to juz zauwazyli chlopaki wyzej Ale ciut nie rozumiem. http://www.bankfotek.pl/image/211642.jpeg Mam 8 pól i wstawiam dane z 8 zmiennych tak?to w czym problem? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 13 Dołączył: 24.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Usuń z zapytania funkcję NOW()
Notice: Tak na przyszłość to polecałbym dodać jeszcze jedną kolumnę 'id'. Znacznie ułatwi Ci to pracę na późniejszym etapie. W końcu nazwisko nikogo nie identyfikuje, nie jednemu psu Burek. Ten post edytował Ellington 26.03.2009, 22:00:34 -------------------- while ( !die() ) code();
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 9 Dołączył: 9.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
NOW() traktowana jest jako kolejna zmienna
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 4.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok wielkie dzięki za szybką pomoc teraz działa idealnie:)
Jeżeli mógłbym prosić, nie zamykajcie tego tematu, jak już pisałem będę próbował udoskonalać ten skrypt więc jeżeli będę miał problem, lub będę chciał zaprezentować to co zrobiłem to zrobię to w tym temacie. Teraz chciałbym aby automatycznie tworzyło link do strony z profilem dodanego zawodnika. Nie wiem na razie jak się za to zbytnio zabrać. Moglibyście mnie nakierować? ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
profil.php?id=nowo dodane id nowego usera
teraz w pliku odczytujesz id usera przez $_GET['id'] sprawdzasz czy is_numeric co by ktoś nam psikusa nie zrobił
i dajesz w mysql->
Ten post edytował Spawnm 3.04.2009, 14:18:10 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 20:35 |