Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][php] Oceńcie moją pierwszą księge gości =)
dawhol
post 23.07.2006, 18:35:39
Post #1





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


  1. <?php
  2. $ip = $REMOTE_ADDR;
  3. $data = date('Y-m-d H:i:s');
  4. $zapytanie = "INSERT INTO cms_gbook SET data='$data',nick='$nick',email='$email',www='$www',wpis='$wpis',ip='$ip'";
  5.  
  6. if ($nick==''||$email==''||$wpis=='') {
  7. echo ("Nie wypełniles wszystkich pól");
  8. echo ('<form action="dodaj.php" method="post">');
  9. if ($nick=='') {echo ('Imie/Nick:<br>
  10. <input type="text" size="20" name="nick"><br>');} else echo ('Imie/Nick:<br>
  11. <input type="text" size="20" name="nick" value="'.$nick.'"><br>');
  12. if ($email=='') {echo ('Adres e-mail:<br>
  13. <input type="text" size="20" name="email"><br>');} else echo ('Adres e-mail:<br>
  14. <input type="text" size="20" name="email" value="'.$email.'"><br>');
  15. if ($wpis=='') {echo ('Twój wpis:<br><textarea cols="40" rows="10" name="wpis" ENCTYPE="text/plain" wrap="virtual"></textarea><br>');} else echo ('Twój wpis:<br><textarea cols="40" rows="10" name="wpis" ENCTYPE="text/plain" wrap="virtual">'.$wpis.'</textarea><br>');
  16. echo ('<input type="submit" name="send" value="Wyslij"><input type="reset" value="Wyczysc">
  17. </form>');
  18. } else if (mysql_query ($zapytanie)) {echo ("Dane zostały dodane");} else echo mysql_error();
  19. ?>


Bazy danych nie bede dodawał i formularza jest to plik wykonawczy dodaj.php smile.gif wyswietlania tez nie daje bo moim zdaniem on jest nie wazny smile.gif to jest moj pierwszy skrypcik wiec prosze szczere oceny smile.gif php ucze sie od 2 dni smile.gif wiec chyba niezle jak na poczatek smile.gif acha na poczatku niema mysql_connect bo to mam w innym pliku includowane na poczatku ale mysle ze i to wam nie jest potrzbne winksmiley.jpg.

PS. W kodzie na forum sa slashe a ja ich nei dawałem wiec nie zwracac na nie uwagi smile.gif


--------------------
Go to the top of the page
+Quote Post
wolguy
post 23.07.2006, 18:47:40
Post #2





Grupa: Zarejestrowani
Postów: 219
Pomógł: 10
Dołączył: 9.01.2005

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


Jak na dwa dni nauki, to nieźle, że zabrałeś się za MySQL. Ja go ruszyłem chyba po miesiącu tongue.gif Zacznij formatować kod, jest trochę nieczytelny, mimo, że tak go mało.
Go to the top of the page
+Quote Post
dawhol
post 23.07.2006, 20:29:22
Post #3





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


tzn na jakiej zasadzie mam go formatowac bo nie czaje smile.gif ?


--------------------
Go to the top of the page
+Quote Post
TomASS
post 23.07.2006, 22:09:03
Post #4





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


1.
Co to jest:
  1. <?php
  2. $ip = $REMOTE_ADDR;
  3. ?>

lepiej dać:
  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. ?>

2.
Przerobiłem troszkę zapytanie:
  1. <?php
  2. $zapytanie = "INSERT INTO cms_gbook SET data='$data', nick='$nick', email='$email', www='$www',wpis='$wpis',ip='$ip'";
  3. ?>

na:
  1. <?php
  2. $zapytanie = "INSERT INTO cms_gbook (data, nick, email, www, wpis, ip) VALUES ('$data', '$nick', '$email', '$www', '$wpis', '$ip')";
  3. ?>

INSERT INTO syntax
zamiast date pobierać z php możesz użyć MySQL NOW();
czyli:
  1. <?php
  2. $zapytanie = "INSERT INTO cms_gbook (data, nick, email, www, wpis, ip) VALUES (NOW(), '$nick', '$email', '$www', '$wpis', '$ip')";
  3. ?>

pod warunkiem, że pole data jest typu date lub datetime.
3.
zamiast sprawdzać $email=='' lepiej użyć empty();

  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. $data = date('Y-m-d H:i:s');
  4. $zapytanie = "INSERT INTO cms_gbook (data, nick, email, www, wpis, ip) VALUES (NOW(), '$nick', '$email', '$www', '$wpis', '$ip')";
  5.  
  6. if (empty($nick) OR empty($email) OR empty($wpis)){
  7. echo 'Nie wypełniles wszystkich pól';
  8. echo '<form action="dodaj.php" method="post">';
  9. if (empty($nick)) echo 'Imie/Nick:<br><input type="text" size="20" name="nick"><br>';
  10. else echo 'Imie/Nick:<br><input type="text" size="20" name="nick" value="'.$nick.'"><br>';
  11.  
  12. if (empty($email)) echo 'Adres e-mail:<br><input type="text" size="20" name="email"><br>';
  13. else echo 'Adres e-mail:<br><input type="text" size="20" name="email" value="'.$email.'"><br>';
  14.  
  15. if (empty($wpis)) echo 'Twój wpis:<br><textarea cols="40" rows="10" name="wpis" ENCTYPE="text/plain" wrap="virtual"></textarea><br>';
  16. else echo 'Twój wpis:<br><textarea cols="40" rows="10" name="wpis" ENCTYPE="text/plain" wrap="virtual">'.$wpis.'</textarea><br><input type="submit" name="send" value="Wyslij"><input type="reset" value="Wyczysc"></form>';
  17. } 
  18. else if (mysql_query ($zapytanie)) echo ("Dane zostały dodane");
  19. else echo $zapytanie.'<br/>'.mysql_error();
  20. ?>


Jak na pierwszy raz jest dobrze smile.gif Tak rzymaj guitar.gif

Ten post edytował TomASS 24.07.2006, 09:38:58


--------------------
Go to the top of the page
+Quote Post
NuLL
post 23.07.2006, 22:40:57
Post #5





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


http://wortal.php.pl/wortal/artykuly/pomys...dardy_kodowania guitar.gif


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
dawhol
post 24.07.2006, 07:20:41
Post #6





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


TomASS dzieki za poprawe i rade będe pamietał przy nastpnych skryptach winksmiley.jpg smile.gif i poprawie obecna ksiege smile.gif .

A tobie Null dzieki juz kapuje o co chodzi z tym formatowaniem smile.gif


--------------------
Go to the top of the page
+Quote Post
mike
post 24.07.2006, 07:28:22
Post #7





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat
Oceńcie moją pierwszą (...)

Przenoszę z Przedszkola na Oceny
Go to the top of the page
+Quote Post
Turgon
post 24.07.2006, 08:46:08
Post #8





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


  1. <?php
  2. $zapytanie = "INSERT INTO cms_gbook (data, nick, email, www, wpis, ip) VALUES (NOW(), '$nick', '$email', '$www', '$wpis', '$ip')";
  3. ?>

TomASS : używamy INTO, a nie INOT.
dawhol : nieźle jak na pierwszy skrypt, ja po dwóch dniach nauki. Głowiłem się dlaczego te skrypty na plikach mi nie działają. Jednakże dzięki pomocy manuala udało mi się to naprawić. I co do sprawdzania możesz też użyć:
  1. <?php
  2. if($nick == null or $email == null or $wpis == null)
  3. ?>

I pisz też nieco czytelniej.
Np. zamiast tak :
  1. <?php
  2. else if (mysql_query ($zapytanie)) {echo ("Dane zostały dodane");} else echo mysql_error();
  3. ?>

Napisz to tak :
  1. <?php
  2. else
  3. {
  4. if(mysql_query($zapytanie))
  5. {
  6. echo 'Dane zostały dodane';
  7. }
  8. else
  9. {
  10. }
  11. }
  12. ?>

Wygląda to teraz dużo czytelniej i łatwiej nam się w tym połapać.
Jeszcze po za tym łącz ciągi, gdyż php nie przetworzy tekstu o długości np. 500 linijek. Zdażyło mi się taki ogromny formularz wpisywać w php. Wogóle też używaj apostrofów(' ') zamiast znaków cytatu(" "), jeśli nie masz parsowania zmiennych, a to parsowanie sprawdza się tylko na bardzo małą skalę.


--------------------
Jah Music Is On My Mind !
Go to the top of the page
+Quote Post
dawhol
post 24.07.2006, 20:45:58
Post #9





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


DZIEKI ZA OCENY smile.gif powprowadzałem porawki wykorzystałem funkcje empty() =) no i poprawiłem estetyke kodu smile.gif
Jescze raz dzieki za oceny, rady i nauki smile.gif


--------------------
Go to the top of the page
+Quote Post
Seth
post 24.07.2006, 20:49:28
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Poczytaj jeszcze to:
Temat: Bezpieczenstwo skryptow php
Temat: SQL Injection Insertion
Go to the top of the page
+Quote Post
dawhol
post 24.07.2006, 21:03:24
Post #11





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


Dzieki Set =) juz co nieco poczytałem smile.gif choc wiele tetgo jest winksmiley.jpg ale bede pamiętał smile.gif


--------------------
Go to the top of the page
+Quote Post
tiraeth
post 24.07.2006, 21:25:23
Post #12





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


A no i najważniejsze:

nie $nick a $_POST['nick'] jeżeli wysyłasz formularzem - metoda post smile.gif
Go to the top of the page
+Quote Post
dawhol
post 24.07.2006, 22:15:11
Post #13





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


Cytat(tiraeth @ 24.07.2006, 22:25 ) *
A no i najważniejsze:

nie $nick a $_POST['nick'] jeżeli wysyłasz formularzem - metoda post smile.gif



u siebie mam juz to poprawione winksmiley.jpg ale dzieki za troske winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
nazihipi
post 25.07.2006, 01:19:04
Post #14





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 14.07.2006

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


Cytat(tiraeth @ 24.07.2006, 22:25 ) *
A no i najważniejsze:

nie $nick a $_POST['nick'] jeżeli wysyłasz formularzem - metoda post smile.gif

gdy register_globals = on może w taki sposób uzyskać bezpośredni dostęp do $_POST['nick'], ale naturalnie najlepiej robić zawsze tak: $nick = $_POST['nick']
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 Wersja Lo-Fi Aktualny czas: 20.06.2025 - 08:58