Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] edytowanie rekordów ;/
tomekpl
post
Post #1





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

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


Witam,
mam pytanie, co może być przyczyną, że na localhoscie da sie edytować dany rekord, a na serwerze www nie questionmark.gif

dalem warunek
Kod
if($_POST['submit'] == "edytuj") {


po kliknięciu edytuj wczytuje własnie regułki Update i edytuje to co zmieniłem, no ale na serwerze ww nie działa..
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
redelek
post
Post #2





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Cytat(tomekpl @ 22.08.2008, 13:17:40 ) *
Witam,
mam pytanie, co może być przyczyną, że na localhoscie da sie edytować dany rekord, a na serwerze www nie questionmark.gif

dalem warunek
Kod
if($_POST['submit'] == "edytuj") {


po kliknięciu edytuj wczytuje własnie regułki Update i edytuje to co zmieniłem, no ale na serwerze ww nie działa..


Twój serwer? Jeśli tak to zobacz czy masz wszystko dobrze ustawione w PHP.INI
Jeśli ktoś inny nim administruje poproś o specyfikację PHP i zobacz dlaczego to nie działa.

Niestety ten kawałek co pokazałeś, nic nie mówi i nic z niego nie wynika. Powinno działać smile.gif

Pozdrawiam
Redelek


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
tomekpl
post
Post #3





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

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


Kod
if($_POST['submit'] == "edytuj") {
$material = trim(HTMLSpecialChars($_POST['material']));
$nr_indeksu = trim(HTMLSpecialChars($_POST['nr_indeksu']));
$jedn_miary = trim(HTMLSpecialChars($_POST['jedn_miary']));
$zuzycie_jednostki = trim(HTMLSpecialChars($_POST['zuzycie_jedn']));
$zuzycie_jedn = str_replace(',', '.', $zuzycie_jednostki );
$uwagi = trim(HTMLSpecialChars($_POST['uwagi']));

if($material and $jedn_miary and $zuzycie_jedn) {
// dodajemy rekord do bazy
$ins2 ='UPDATE '."$b_materialy".'2 SET material= "'.$material.'", nr_indeksu= "'.$nr_indeksu.'", jedn_miary= "'.$jedn_miary.'", zuzycie_jedn= "'.$zuzycie_jedn.'", uwagi="'.$uwagi.'" WHERE id= '."$edit".'';
$ins = @mysql_query($ins2);
  
    if($ins) echo "<font color=yellow><b>Poprawiono</b></font><br><br>";
   } else echo "<font color=red><b>Blad</b></font><br><br>";

}
Go to the top of the page
+Quote Post
JoShiMa
post
Post #4





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Racze to kwestia zapytania jest.

Nie tak:
  1. <?php
  2. $ins2 ='UPDATE '."$b_materialy".'2 SET material= "'.$material.'", nr_indeksu= "'.$nr_indeksu.'",jedn_miary= "'.$jedn_miary.'", zuzycie_jedn= "'.$zuzycie_jedn.'", uwagi="'.$uwagi.'" WHERE id= '."$edit".'';
  3. ?>


tylko tak:
  1. <?php
  2. $ins2 ="UPDATE $b_materialy2 SET material= '$material', nr_indeksu='$nr_indeksu', jedn_miary= '$jedn_miary', zuzycie_jedn= '$zuzycie_jedn', uwagi='$uwagi' WHERE id= '$edit' ";
  3. ?>


--------------------
Go to the top of the page
+Quote Post
golaod
post
Post #5





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Po pierwsze joshima z Twojego posta wynika, ze lepiej uzywac zmiennych bezposrednio w stringu co akurat nie ma znaczenia. Wieksze znaczenie ma, ze sql nie uznaje argumentow w " tylko w '.
Chyba, ze sie pomylilem i chodzilo Ci wlasnie o roznice miedzy " a ' w zapytaniu sql.

Ten post edytował golaod 22.08.2008, 15:45:15
Go to the top of the page
+Quote Post
JoShiMa
post
Post #6





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Cytat(golaod @ 22.08.2008, 16:44:12 ) *
Po pierwsze joshima z Twojego posta wynika, ze lepiej uzywac zmiennych bezposrednio w stringu co akurat nie ma znaczenia.

Ma znaczenie jeśli się string konstruuje nieprawidłowo a tak właśnie jest w wersji oryginalnej. Przyjrzyj się dobrze a sam zobaczysz.


Cytat(golaod @ 22.08.2008, 16:44:12 ) *
Wieksze znaczenie ma, ze sql nie uznaje argumentow w " tylko w '.

A jednak zauwazyłeś tongue.gif Chodzi o to, że robiąc to w sposób jaki pokazałam ma się większą kontrolę nad stringiem. Oczywiście całośc można napisać tak:
  1. <?php
  2. $ins2 ='UPDATE $b_materialy2 SET material= ''.$material.'', nr_indeksu=''.$nr_indeksu.&#092;'...
  3. ?>

ale czy to jest czytelniejsze?


--------------------
Go to the top of the page
+Quote Post
golaod
post
Post #7





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Nie jest czytelniejsze ale szybsze na pewno. Bo przez to "$zmienna" zmuszasz kompilator by szukal w stringu zmiennych do ktorych nastepnie trzeba sie odwolac by utworzyc nowa kopie stringu juz wlasciwego ktory dopiero zostanie wyswietlony ;] Poza tym tak jak mowie nie ma znaczenia jak zapisze a zapis wzgledem php mial dobry tylko jak zapisze wzgledem sql czyli ' a nie " jako ogranicznik pola.
Go to the top of the page
+Quote Post
JoShiMa
post
Post #8





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Cytat(golaod @ 22.08.2008, 16:55:34 ) *
Nie jest czytelniejsze ale szybsze na pewno. Bo przez to "$zmienna" zmuszasz kompilator by szukal w stringu zmiennych do ktorych nastepnie trzeba sie odwolac by utworzyc nowa kopie stringu juz wlasciwego ktory dopiero zostanie wyswietlony ;]

Kogo jak kogo, ale mnie tego uczyć nie musisz. Jednak koszt jest niewielki a wygoda w projektowaniu zapytania znaczna.


--------------------
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 Aktualny czas: 22.08.2025 - 04:23