Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Nie dodaje pola "$cena" do mysql
serwislap
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 9.02.2011

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


Witam mam następujący problem.
Jestem w trakcie pisania systemu do obsługi firmy a dokładnie skryptu do obsługi serwisu komputerowego.
Mam taki fragment kodu:
  1. // dodaje info do notesu po wybraniu subiekta..
  2. //Tu dodajemy godzinę do wpisu i cenę - godzina to zmienna $czas
  3. $czas = date("H:i:s");
  4. $nazwa = 'serwis [subiekt]: Nr: '.$id. ' Cena : '.$cena.'';
  5. $cena = $rata*(-1);
  6. $u_login = 'System - '.$_SESSION['admin']['login'];
  7. mysql_query("INSERT INTO notes SET nazwa='$nazwa', idk='$id', cena='$cena', data=NOW(), czas='$czas', nicrewzam=1, dodal='$u_login'");

Chodzi o to że po dodaniu i potem kiedy wyświetlam wynik powinienem otrzymać coś takiego :
  1. 2 2011-12-06 21:32:16 serwis [subiekt]: Nr: 796 Cena : 545


Jednak wszystko mi działa na localhoście a jak już zapodam na serwer to skrypt nie dodaje mi zmiennej cena tak jak by nie chciał jej dodać do bazy danych .

Obie bazy i na serwerze i na localhoście mają identyczną strukturę.
Może ktoś pomoże wybrnąć z tej sytuacji.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
croc
post
Post #2





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Prawdopodobnie coś jest nie tak ze zmienną $rata. Sprawdź co ta zmienna zawiera.
  1. var_dump($rata);
Go to the top of the page
+Quote Post
serwislap
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 9.02.2011

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


Tam jest wszystko ok, ta zmienna odpowiada za rozliczenie dnia jeśli dodajemy dłużnika a nie rozliczamy tego rewersu od razu.
Dziwne jest to że na lokalnym serwerze gdzie testuje skrypt zanim trafi na serwer wszystko działa ok i dodaje te zmienną cena a jak dam na serwer to nie jak by to było coś od konfiguracji serwera
Go to the top of the page
+Quote Post
croc
post
Post #4





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Ale co w ogóle zawiera zmienna $cena? Sprawdziłeś to? Możesz też po mysql_query() dodać or die(mysql_error()), tak:

  1. mysql_query(treść zapytania) or die(mysql_error());
Go to the top of the page
+Quote Post
serwislap
post
Post #5





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 9.02.2011

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


Nie ma błędu... tak myślę że to coś z konfiguracją może php lub mysql. Albo wersja. Dziwne że na jednym serwerze ok a na drugim nie.
Go to the top of the page
+Quote Post
croc
post
Post #6





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


A sprawdziłeś to co zaproponowałem czy ot tak sobie mówisz: nie ma błędu? Bo cudów nie ma, jeśli zapytanie nie zwraca błędu i zmienna nie jest pusta, to NIE MA PRAWA się nie wstawić.
Go to the top of the page
+Quote Post
serwislap
post
Post #7





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 9.02.2011

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


Jeśli zapodam :
  1. // dodaje info do notesu po wybraniu subiekta..
  2.  
  3. //Tu dodajemy godzinę do wpisu i cenę - godzina to zmienna $czas
  4.  
  5. $czas = date("H:i:s");
  6.  
  7. $nazwa = 'serwis [subiekt]: Nr: '.$id. ' Cena : '.$cena.'';
  8.  
  9. $cena = $rata*(-1);
  10.  
  11. $u_login = 'System - '.$_SESSION['admin']['login'];
  12.  
  13. mysql_query("INSERT INTO notes SET nazwa='$nazwa', idk='$id', cena='$cena', data=NOW(), czas='$czas', nicrewzam=1, dodal='$u_login'") or die(mysql_error());


To wszystko przebiega ok. Natomiast nie pobiera mi wartości z pola cena i wpisuje do "notes"
Nie jestem biegły w php wszystkiego uczę się sam, niektóre rzeczy metodą prób i błędów.
Go to the top of the page
+Quote Post
croc
post
Post #8





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Dobrze. Nad mysql_query zrób to co mówiłem, czyli:
  1. var_dump($cena);

I napisz co wypisało. Oczywiście chodzi mi o sprawdzenie tego na serwerze zewnętrznym.

Ten post edytował croc 7.12.2011, 09:11:42
Go to the top of the page
+Quote Post
serwislap
post
Post #9





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 9.02.2011

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


  1. int(0)


I biała strona
Go to the top of the page
+Quote Post
croc
post
Post #10





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


No to masz odpowiedź. Cena jest zerem i tak jak mówiłem na samym początku, to tutaj jest coś nie tak.
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Moja szklana kula mówi mi, że chodzi o register_globals.

Do danych z forma należy się odwoływać
nie: $zmienna
a: $_POST['zmienna'];

Polecam też dokładną lekturę tego:
Temat: Jak poprawnie zada pytanie
Jest tam wiele cennych wskazówek dla takich początkujących jak ty
Go to the top of the page
+Quote Post
serwislap
post
Post #12





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 9.02.2011

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


Zgadza się (IMG:style_emoticons/default/smile.gif) szklana kula jest wielka. Bardzo dziękuje za pomoc. Po włączeniu register_globals = On
on jest gitara (IMG:style_emoticons/default/smile.gif)

Dziękuję jeszcze raz !

A przy okazji nauczyłem się jak sobie raportować błędy (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Po włączeniu register_globals = On
źle. Wyrażnie napisałem:
Cytat
nie: $zmienna
a: $_POST['zmienna'];

Nie pogrążaj się w złym pisaniu kodu, tylko zacznij pisać poprawnie. register_globals to zło.
Go to the top of the page
+Quote Post
serwislap
post
Post #14





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 9.02.2011

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


  1. $cena = $_POST[rata]*(-1);


Teraz rozumiem. Poprawione i działa.
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie: $_POST[rata]
a: $_POST['rata']
Zdaje sie mialeś włączyc raportowanie wszystkich błędów.
Go to the top of the page
+Quote Post
serwislap
post
Post #16





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 9.02.2011

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


Przy $_POST[rata] nie wyrzuca błędów. Ale poprawię i sprawdzę.
Go to the top of the page
+Quote Post
nospor
post
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Przy $_POST[rata] nie wyrzuca błędów.
Bo nie włączyłeś raportowania wszystkich błędów. Masz o tym informację w linku, do którego cię odesłałem wcześniej. Naprawdę radzę ci jego lekture i zastosowanie się do niego. Unikniesz dzieki temu wielu problemów
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:12