Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z logowaniem
misiek2592
post 23.04.2012, 15:03:51
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.04.2012

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


Witam moze ktos mi tu pomoże, mam problem ze skryptem, podczas logowania na stronie www.ideatown.pl
przykład:
login: demo
hasło: demo
wyskakuje błąd z funkcją eregi

Deprecated: Function eregi() is deprecated in /home/misiekpo/domains/ideatown.pl/public_html/include/functions/main.php on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/misiekpo/domains/ideatown.pl/public_html/include/functions/main.php:325) in /home/misiekpo/domains/ideatown.pl/public_html/login.php on line 78

czy ktoś pomoże rozwiązać problem
Go to the top of the page
+Quote Post
redeemer
post 23.04.2012, 15:07:00
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


To nie błąd a informacja, że używasz funkcji eregi, która jest przestarzała i w końcu "wyleci" z PHP. "Błąd" jest wyświetlany i nagłówki nie mogą zostać wysłane. Manual

Ten post edytował redeemer 23.04.2012, 15:08:45


--------------------
Go to the top of the page
+Quote Post
misiek2592
post 23.04.2012, 15:11:43
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.04.2012

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


A jak można naprwaić to?
Go to the top of the page
+Quote Post
redeemer
post 23.04.2012, 15:23:07
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Najlepiej to zastąpić funkcje ereg* funkcjami preg*. Możesz wyłączyć też raportowanie błędów typu E_DEPRECATED za pomocą funkcji którą podlinkowałem w poprzednim poście. Trzecim wyjściem jest skorzystanie z buforowania wyjścia, jednak w tym wypadku na stronie będzie dalej się pojawiać: Deprecated: Function eregi() is deprecated...


--------------------
Go to the top of the page
+Quote Post
misiek2592
post 23.04.2012, 15:47:10
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.04.2012

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


Czy byłbyś w stanie pomóc mi z tym problemem ponieważ jestem laikiem jesli chodzi o php i nie chce namieszac w skrypcie.

Czy może to być także wina serwera na którym jest? Wypróbowałem skrypt na innym serwerze lecz tu są inne informacje a błąd wymieniony wyżej nie występuje jak mozna to naprawic lub wyłączyć te info?
Go to the top of the page
+Quote Post
redeemer
post 23.04.2012, 15:52:24
Post #6





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


To nie wina samego serwera, ale różnic w konfiguracji. Wstaw sobie na początku skryptu:
  1. error_reporting(E_ALL ^ E_DEPRECATED);


--------------------
Go to the top of the page
+Quote Post
misiek2592
post 23.04.2012, 15:57:55
Post #7





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.04.2012

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


w jakim pliku? w htaccess czy index?
Go to the top of the page
+Quote Post
Korab
post 23.04.2012, 16:54:07
Post #8





Grupa: Zarejestrowani
Postów: 202
Pomógł: 36
Dołączył: 10.06.2011
Skąd: Dokąd

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


W index.
Go to the top of the page
+Quote Post
viking
post 23.04.2012, 17:26:03
Post #9





Grupa: Zarejestrowani
Postów: 6 379
Pomógł: 1116
Dołączył: 30.08.2006

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


Ale lepiej to popraw bo któregoś dnia dostawca hostingu ci zaktualizuje wersję PHP do takiej, która już nie obsługuje eregi i zostaniesz z niedziałającą stroną. Informacje o błędach nie są po to żeby je ukrywać tylko naprawiać.


--------------------
Go to the top of the page
+Quote Post
misiek2592
post 23.04.2012, 19:15:04
Post #10





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.04.2012

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


Oto funkcja o którą chodzi, jest w tym funkcja eregi i może ktoś mi powie jak ją popraić, widzę ze to problem z weryfikacją email.

  1. function verify_valid_email($emailtocheck)
  2. {
  3. $eregicheck = "^([-!#\$%&'*+./0-9=?A-Z^_`a-z{|}~])+@([-!#\$%&'*+/0-9=?A-Z^_`a-z{|}~]+\\.)+[a-zA-Z]{2,4}\$";
  4. return eregi($eregicheck, $emailtocheck);
  5. }
  6.  
  7. function verify_email_unique($emailtocheck)
  8. {
  9. global $config,$conn;
  10. $query = "select count(*) as total from members where email='".mysql_real_escape_string($emailtocheck)."' limit 1";
  11. $executequery = $conn->execute($query);
  12. $totalemails = $executequery->fields[total];
  13. if ($totalemails >= 1)
  14. {
  15. return false;
  16. }
  17. else
  18. {
  19. return true;
  20. }
  21. }
Go to the top of the page
+Quote Post
viking
post 24.04.2012, 05:57:16
Post #11





Grupa: Zarejestrowani
Postów: 6 379
Pomógł: 1116
Dołączył: 30.08.2006

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


A mało jest w sieci funkcji do sprawdzania maili opartych na regexpach? Ta i tak jest do niczego bo wykluczasz choćby 6 znakową domenę .travel.
Pierwszy z brzegu wątek: http://stackoverflow.com/questions/201323/...email-addresses


--------------------
Go to the top of the page
+Quote Post
misiek2592
post 24.04.2012, 09:44:38
Post #12





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.04.2012

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


Problem z tym że ja nie wiem jak to zakodować na nowo ponieważ jestem zielony w php.
Go to the top of the page
+Quote Post
viking
post 24.04.2012, 12:22:31
Post #13





Grupa: Zarejestrowani
Postów: 6 379
Pomógł: 1116
Dołączył: 30.08.2006

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


W takim razie nauczysz się czegoś nowego. Musisz zastąpić eregi -> preg_match. I tyle filozofii. Albo całą funkcję verify_valid_email(). Do tego był ostatnio wątek w przedszkolu.


--------------------
Go to the top of the page
+Quote Post
misiek2592
post 24.04.2012, 13:34:23
Post #14





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.04.2012

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


ok viking w takim razie spróbuje jak to zrobić, jak coś bedzie szło nie tak to będę pisał smile.gif

Próbowałem w każdą strone jak się da zmienić to na preg_match i nie działa niestety, coś źle robie, czy ktoś mógłby zmienić tą formułe na preg_match.


  1. function verify_valid_email($emailtocheck)
  2. {
  3. $eregicheck = "^([-!#\$%&'*+./0-9=?A-Z^_`a-z{|}~])+@([-!#\$%&'*+/0-9=?A-Z^_`a-z{|}~]+\\.)+[a-zA-Z]{2,4}\$";
  4. return eregi($eregicheck, $emailtocheck);
  5. }
Go to the top of the page
+Quote Post
redeemer
post 24.04.2012, 13:43:44
Post #15





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Może łatwiej Ci będzie użyć funkcji filter_var. Nawet w przykładzie jest walidacja email.


--------------------
Go to the top of the page
+Quote Post
misiek2592
post 24.04.2012, 13:47:01
Post #16





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 23.04.2012

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


A czy możesz pokazać jak będzie wyglądać ta funkcja po zmianie?
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: 2.08.2025 - 11:27