Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V  < 1 2 3 >  
Reply to this topicStart new topic
> [PHP][MySQL] Bład w kodzie
Niktoś
post 26.09.2012, 16:29:17
Post #21





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


To jest polecenie do bazy danych, przecież tego nie wyświetlasz.Jak już chcesz mieć znaki podziału z textarea to powinno być:
  1. $sql = "INSERT INTO tabela SET id='null', arty=".nl2br($_POST['add']);


Ten post edytował Niktoś 26.09.2012, 16:31:35
Go to the top of the page
+Quote Post
!*!
post 26.09.2012, 17:02:30
Post #22





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


MSPM5 - niah, bulwersik? biggrin.gif

Jeśli już coś robisz, to rób to dobrze, albo wcale. 5 minut na kolanie nie wystarczy. Moja odpowiedź była adekwatna do tego o co pytałeś. Nie poprawiłeś błędów o które już Ci ktoś wyżej wspomniał, zbudowałeś warunki które w ogóle nie mają sensu.
Przeczytaj pierw jakiś kurs (wikibooks), poznaj zasady działania PHP, a następnie przemyśl to jak Twój skrypt powinien działać.

Do czego Ci te pole ukryte i pusta wartość name? Sprwdź też typ danych, utwórz połączenie wtedy gdy warunki zostną spełnione, tak samo z zakończeniem.

Cytat
Juz mieli takie pomysły w perl6 żeby ułatwić prace i ten język jest martwy ludzie nie lubią zmian więc nigdy nie wiadomo

Perl jest martwy? Skoro wiesz lepiej.

Ten post edytował !*! 26.09.2012, 17:08:07


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Niktoś
post 26.09.2012, 17:08:38
Post #23





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


Cytat
Perl jest martwy? Skoro wiesz lepiej.

Coś tam jeszcze żyje.Dalej mnie zastanawia czy to język webowy czy okienkowy.Próbowałem się pobawić przy wdrożeniu jednej aplikacji- dla mnie to magiel i czarna magia więc sobie darowałem- taki offtop z mojej strony.
Go to the top of the page
+Quote Post
abort
post 26.09.2012, 18:00:36
Post #24





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


Cytat(Niktoś @ 26.09.2012, 18:08:38 ) *
Coś tam jeszcze żyje.Dalej mnie zastanawia czy to język webowy czy okienkowy.Próbowałem się pobawić przy wdrożeniu jednej aplikacji- dla mnie to magiel i czarna magia więc sobie darowałem- taki offtop z mojej strony.

Heh, fajnie. Jakieś 10 lat temu też próbowałem się pobawić pewnym językiem. I dałem sobie spokój, bo to była dla mnie czarna magia. Tym językiem był Javascript. O którym dziś nie powiedziałbym, że "coś tam jeszcze żyje". Tego samego nie powiem ani o C ani (na przykład) o fortranie. Mnogość pakietów (i istniejących rozwiązań) w tych językach jest naprawdę poważnym argumentem za tym, by nie mówić "coś jeszcze żyje".
Go to the top of the page
+Quote Post
MSPM5
post 26.09.2012, 18:02:41
Post #25





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 25.09.2012

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


Mowilem o Perl6 ,ze jest martwy moim zdaniem nic sie nie dzieje wszyscy dalej siedza w 5.10 ogolnie perl zostal zepchniety z web przez PHP a do aplikacji okienkowych sa lepsze narzedzia. Teraz jest niezastapiony w pracy administratora generowanie statystyk, automatyzacja itd Perl nie jest martwy ale nie jest modny bo to jak napisal Niktoś magiel i czarna magia.
Cytat
Jeśli już coś robisz, to rób to dobrze, albo wcale. 5 minut na kolanie nie wystarczy. Moja odpowiedź była adekwatna do tego o co pytałeś. Nie poprawiłeś błędów o które już Ci ktoś wyżej wspomniał, zbudowałeś warunki które w ogóle nie mają sensu.
Nie zbudowalem blad jest w tym ,ze przerobilem jakis przyklad wziety z jakiegos kursu zeby dzialal pozniej wy cos zaczeliscie podpowiadac i zaczalem niektore linijki wymieniac i zrobil sie magiel ;D gdybym pisal to od zera to by tego nie bylo a ten kod ktos napisal zmienilem pare rzeczy czegos niezrozumialem i dla tego tak to wyglada.
Cytat
Do czego Ci te pole ukryte i pusta wartość name? Sprwdź też typ danych, utwórz połączenie wtedy gdy warunki zostną spełnione, tak samo z zakończeniem.
Pusta wartosc name to przypadek napisales ,ze input/button musi mieć name mialem dopisac name a robilem cos innego jeszcze i pomieszaly mi sie pliki.

Ten post edytował MSPM5 26.09.2012, 18:09:50
Go to the top of the page
+Quote Post
!*!
post 26.09.2012, 18:24:57
Post #26





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(MSPM5 @ 26.09.2012, 19:02:41 ) *
Perl nie jest martwy ale nie jest modny bo to jak napisal Niktoś magiel i czarna magia


Język nie ma być modny, tylko opłacalny, przejrzysty, skalowalny, spełniający założenia programisty wink.gif PHP6 też jest w powijakach, ale nie powiedziałbym że jest martwy. A magiel? czyli znaczy się burdel? PHP ma tak od zawsze.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Niktoś
post 26.09.2012, 18:32:41
Post #27





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


Ja próbowałem uruchomić perla poprzez fastCGI na IIS zajęło mi to dwa dni aby pojawił się napis is work na białej stronie.Dwa dni mi to zajęło, gdyż błędy wyświetlenia tylko napisów było spowodowane tym, że brakowało mi szeregu modułów, które musiałem ręcznie doinstalowywać w CPAN'ie -wybacz ale to tylko napisy, więc takie coś chyba powinno być obsługiwane standardowo przy instalacji perla. No właśnie skusiłem się na perla bo o statystyki mi chodziło, a wyszukałem sobie programik godny uwagi -cholewcia wie ile modułów musiałbym zainstalować aby go uruchomić,więc sobie darowałem.
Godnym zainteresowania w tym języku programowania jest studio programistyczne ActivePearl -niestety o dziwo płatne, zważywszy ,że tacy potentaci jak Microsoft, Java Microsystem, PHP i jego frameworki udostępniają swoje platformy za darmo.
Dlatego ten język(perl) jak i flash pójdą w zapomnienie gdyż są płatne.
Go to the top of the page
+Quote Post
peter13135
post 26.09.2012, 18:42:34
Post #28





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


MSP.... Autorze tematu. Pisałem CI, żebyś nl2br użył tylko na zmiennej add, wtedy nikt się do tego nie przyczepi smile.gif

Co do filtrowania zmiennych - jest to wystarczające filtrowanie.


--------------------
:)
Go to the top of the page
+Quote Post
abort
post 26.09.2012, 18:49:07
Post #29





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


Cytat(Niktoś @ 26.09.2012, 19:32:41 ) *
Godnym zainteresowania w tym języku programowania jest studio programistyczne ActivePearl


ActivePERL, do jasnej. "PERL" od "Practical Extraction and Report Language". Nie od Perły, a tym bardziej nie od piwa "Perła". Przepraszam, że tak ostro, ale irytuje mnie zniekształcanie nazw własnych.

Cytat(Niktoś @ 26.09.2012, 19:32:41 ) *
niestety o dziwo płatne, zważywszy ,że tacy potentaci jak Microsoft, Java Microsystem, PHP i jego frameworki udostępniają swoje platformy za darmo.
Dlatego ten język(perl) jak i flash pójdą w zapomnienie gdyż są płatne.

Tak. A PHPStorm też jest płatny - i czego wg Ciebie to dowodzi? że nie mogę pisać w PHP? Proszę Cię, trzymajmy jakiś poziom dyskusji.
Zresztą, od kiedy istnieje ActivePerl? Bo sam Perl to już ponad 20 lat... Popatrz, jakie to dziwne: bez ActivePerla tyle czasu przetrwał? No niemożliwe, prawda?
Go to the top of the page
+Quote Post
MSPM5
post 26.09.2012, 19:04:08
Post #30





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 25.09.2012

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


Cytat
Język nie ma być modny, tylko opłacalny, przejrzysty, skalowalny, spełniający założenia programisty wink.gif PHP6 też jest w powijakach, ale nie powiedziałbym że jest martwy.
Perl taki jest moze nie idealnie przejrzysty smile.gif ale spelnia swoje zadanie od lat. Jest elastyczny robi to co sie chce a po drugiej stronie jest python ktory jest latwy, przejrzysty i ma dobra reklame a ze dzisiaj sie leci na latwizne to wiekszosc wybierze pythona bo jest teraz na topie i o to mi chodzilo chociaz jak niektorzy mowia python to nie tylko zabawka ale tez potezne narzedzie.
Cytat
A magiel? czyli znaczy się burdel? PHP ma tak od zawsze.
Uzylem slowa magiel w porownaniu do tego co stworzylem i jakims cudem nie posypalo bledami ale prawdziwy magiel zaczal sie jak sprobowalem zrobic to.
Cytat
Sprwdź też typ danych, utwórz połączenie wtedy gdy warunki zostną spełnione, tak samo z zakończeniem.
nie rozumiem dla czego chcesz sprawdzac typ danych w moich pseudo artykolach to nie kalkulator chyba ,ze masz cos innego na mysli.

Cytat
MSP.... Autorze tematu. Pisałem CI, żebyś nl2br użył tylko na zmiennej add, wtedy nikt się do tego nie przyczepi smile.gif
hahah widzialem ,ze pisales i wiedzialem ze sie ktos przyczepi bylem pewien ale nie wiedzialem jak to zrobic pozatym dalej cos nie dziala jakis blad jest w tym kodzie zaraz cos z tym zrobie pewnie cudzyslow zgubiony
  1. $sql = "INSERT INTO tabela SET id='null', arty=".nl2br($_POST['add']);
Go to the top of the page
+Quote Post
peter13135
post 26.09.2012, 19:12:17
Post #31





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


JA tam błędu nie widzę... ale na kij filtrujesz zmienną $add, ja potem dodajesz do bazy i tak $_POST['add'] biggrin.gif


--------------------
:)
Go to the top of the page
+Quote Post
MSPM5
post 26.09.2012, 19:19:07
Post #32





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 25.09.2012

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


Cytat
JA tam błędu nie widzę... ale na kij filtrujesz zmienną $add, ja potem dodajesz do bazy i tak $_POST['add'] biggrin.gif
Blad jest napewno bo sie strona nie wczytuje i sypie bladami. Kod juz jest poprawiony (chyba) wkleje jak poprawie WSZYSTKO tylko nie bijcie wiem ze to wyglada strasznie biggrin.gif Hmm w ktorym miejscu mam to filtrowac wydaje mi sie ,ze jest dobrze odfiltrowalo mi <hr> wczesniej sie robily krechy na stronie. Blad jest gdzie indziej za szybko wszystko robie jakis nawias.

Ten post edytował MSPM5 26.09.2012, 19:30:45
Go to the top of the page
+Quote Post
peter13135
post 26.09.2012, 19:31:08
Post #33





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


To zapodaj te błędy wink.gif

Jak robisz takie coś :

  1. $add = $_POST['add'];
  2. $add - filtruj($add);
  3.  
  4. $query = "INSERT INTO ...." . $_POST['add'];
  5.  

to dodajesz nieprzefiltrowane dane, bo przefiltrowana jest $add, a nie $_POST['add'] .

Ten post edytował peter13135 26.09.2012, 19:31:17


--------------------
:)
Go to the top of the page
+Quote Post
MSPM5
post 26.09.2012, 19:37:57
Post #34





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 25.09.2012

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


Wrzcam caly kod bo zrobil sie balagan

Tresc bledu: Parse error: syntax error, unexpected ')' in /virtual/****/admin.php on line 10

  1. <!DOCTYPE html><html lang="pl">
  2. <head><title>****</title><meta charset="ISO-8859-2"></head>
  3. <body background="black" bgproperties="fixed">
  4. <style type="text/css">
  5. body {background-color:black;color:white;}
  6. </style>
  7. <center>
  8. <h1>
  9. <?php
  10. if(isset($_POST['submit'])&& $_POST['add'])){
  11. $add = trim(addslashes(htmlspecialchars($_POST['add'])));
  12. $con = mysql_connect("localhost", "user", "pass") or die ('Nie mozna połączyć:' . mysql_error());
  13. mysql_select_db("baza",$con);
  14. $sql = "INSERT INTO tabela SET id='null', arty=".nl2br($_POST['add']);
  15. if(!mysql_query($sql,$con))
  16. {
  17. die('Bład:' . mysql_error());
  18. }
  19. echo "Dodany";
  20. }
  21. ?>
  22. <form action="admin.php" method="POST">
  23. <textarea rows="10" cols="30" name="add"></textarea><br>
  24. <input type="submit" value="Dodaj" name="submit">
  25. </form></h1>


Ten post edytował MSPM5 26.09.2012, 19:42:30
Go to the top of the page
+Quote Post
koxu1996
post 26.09.2012, 19:43:09
Post #35





Grupa: Zarejestrowani
Postów: 139
Pomógł: 3
Dołączył: 5.06.2011

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


W 10 lini za dużo o jedno zamknięcie nawiasu
Go to the top of the page
+Quote Post
MSPM5
post 26.09.2012, 19:48:43
Post #36





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 25.09.2012

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


tak wiem juz to poprawilem ale ma inne bledy jeszcze

wpisuje jeden wyraz i wyskakuje

Bład:Unknown column 'lol' in 'field list'
wpisuje 2 wyrazy i wywala

Bład:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2' at line 1

Go to the top of the page
+Quote Post
Niktoś
post 26.09.2012, 19:51:45
Post #37





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


Żebyś się nie męczył:
  1. <?php
  2. if((isset($_POST['submit']))&&(!empty($_POST['add']))){
  3. $add = trim(addslashes(htmlspecialchars(nl2br($_POST['add']))));
  4. $con = mysql_connect("localhost", "user", "pass") or die ('Nie mozna połączyć:' . mysql_error());
  5. mysql_select_db("baza",$con);
  6. $sql =mysql_query("INSERT INTO tabela SET id='null', arty='$add'",$con) or die('Bład:' . mysql_error());
  7.  
  8. echo "Dodany";
  9. }
  10. ?>


Ten post edytował Niktoś 26.09.2012, 19:55:15
Go to the top of the page
+Quote Post
MSPM5
post 26.09.2012, 19:51:54
Post #38





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 25.09.2012

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


zmienilem ta linijke

  1. $sql = "INSERT INTO tabela SET id='null', arty=".nl2br($_POST['add']);


na to co bylo wczesniej i nie ma bledu

  1. $sql = nl2br("INSERT INTO tabela SET id='null', arty='$add'");


dla czego tak sie dzieje

Ten post edytował MSPM5 26.09.2012, 19:52:15
Go to the top of the page
+Quote Post
koxu1996
post 26.09.2012, 19:52:24
Post #39





Grupa: Zarejestrowani
Postów: 139
Pomógł: 3
Dołączył: 5.06.2011

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


Wydaje mi się że brakuje apostrofów. Spróbuj czegoś takiego:
  1. $sql = "INSERT INTO tabela SET id='null', arty='".nl2br($_POST['add'])."'";

Ew. Potestuj zapytanie bezpośrednio w bazie
Go to the top of the page
+Quote Post
abort
post 26.09.2012, 19:54:16
Post #40





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


Wyświetl sobie treść zapytania SQL (u Ciebie w zmiennej $sql). Z nami też możesz się podzielić smile.gif
Go to the top of the page
+Quote Post

3 Stron V  < 1 2 3 >
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: 22.05.2024 - 19:38