Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] błąd w kodzie - Notice: Use of undefined constant - assumed ' '
scroll
post 26.08.2013, 22:15:43
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 24.07.2013

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


witam
na stronie wyswietla mi sie taki o to błąd:

Notice: Use of undefined constant - assumed ' ' in D:\xampp\htdocs\strona\index.php on line 21

a o to skrypt:
  1. include "define.php";
  2. mysql_connect(serwer,login,haslo);
  3. mysql_query("SET NAMES utf8_general_ci"); 


w lini 21 jest znacznik zamknięcia i nie wiem w czym jest problem
Powód edycji: [Daiquiri]: Poprawiam temat
Go to the top of the page
+Quote Post
Turson
post 26.08.2013, 23:09:16
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. include('define.php');
Go to the top of the page
+Quote Post
nospor
post 27.08.2013, 10:21:47
Post #3





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




@TursoN Po pierwsze twoja odpowiedz ma sie nijak do problemu, a po drugie oba zapisy (twoj i autora) sa poprawne wiec naprawde nie ma co zmieniac...

@scroll pokaz jak wyglada plik define.php oraz wklej dokladnie komunikat bledu, bez zadnego skracania


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
scroll
post 27.08.2013, 21:30:57
Post #4





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 24.07.2013

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


wywaliłem tą linijkę:
mysql_query("SET NAMES utf8_general_ci");

mam teraz inny problem. nie chce zakładac drugiego tematu. chodzi o to że nie można nic napisac w polu input. po kliknieciu w to pole nie pojawia się znak zachety.
to jest formularz

  1. <form method="POST" action="logowanie.php">
  2. <b>Login:</b> <input type="text" name="login"><br>
  3. <b>Hasło:</b> <input type="password" name="haslo"><br>
  4. <input type="submit" value="Zaloguj" name="loguj">
  5. </form>
Powód edycji: [Daiquiri]: BBcode
Go to the top of the page
+Quote Post
Turson
post 27.08.2013, 21:36:41
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Wygląda ok.
Go to the top of the page
+Quote Post
tomi1985
post 28.08.2013, 18:56:32
Post #6





Grupa: Zarejestrowani
Postów: 192
Pomógł: 12
Dołączył: 23.09.2010
Skąd: Warszawa

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


a gdzie znaczniki zamykające input ?

np.

Kod
<input type="text" name="test" />
Go to the top of the page
+Quote Post
Turson
post 28.08.2013, 20:27:22
Post #7





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Bez nich input też działa
Go to the top of the page
+Quote Post
Pereq
post 28.08.2013, 20:35:36
Post #8





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.08.2013

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


Twój kod działa u mnie bez najmniejszych problemów, więc problem leży gdzie indziej.
Go to the top of the page
+Quote Post
scroll
post 3.09.2013, 20:59:25
Post #9





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 24.07.2013

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


problem jakoś rozwiązałem i logowanie dzialalo. stwierdziłem że tabele w bazie nie są solidnie utworzone i przygotowane więc wywaliłem je wszystkie i stworzyłem od nowa. niestety logowanie przestało działać. zaczołem szukać innego skryptu ale też nie działa. obecnie mam taki:
  1. include "define.php";
  2. if(isset($_SESSION['login'])){
  3. header("Location: indeks.php");
  4. }
  5. ?>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  10. <title>Sklep</title>
  11. <link href="style.css" rel="stylesheet" type="text/css" />
  12. <script type="text/javascript" src="stmenu.js"></script></head>
  13. <script language="javascript" type="text/javascript">
  14. function go() {
  15. location.href = "index.php?id="+document.getElementsByName("kategoria")[0].value;
  16. }
  17. </script>
  18. <body>
  19. <form action="" method="post">
  20. Login<br />
  21. <input type="text" name="login" value="<?php echo $_POST['login'] ?>" /><br />
  22. Hasło<br />
  23. <input type="password" name="haslo" /><br />
  24. <input type="hidden" name="send" />
  25. <input type="submit" value="Zaloguj" style="margin-top:3px;" />
  26. </form>
  27. <?php
  28. $spr_user = mysql_query("SELECT * FROM users WHERE login='" . trim($_POST['login']) . "'");
  29. $spr = mysql_query("SELECT * FROM users WHERE login='" . trim($_POST['login']) . "' AND haslo='" . md5(trim($_POST['haslo'])) . "'");
  30. if(isset($_POST['send'])){
  31. if(trim($_POST['login']) != ''){
  32. if(trim($_POST['haslo']) != ''){
  33. if(mysql_num_rows($spr_user) > '0'){
  34. if(mysql_num_rows($spr) > '0'){
  35. $_SESSION['login'] = trim($_POST['login']);
  36. $_SESSION['haslo'] = md5(trim($_POST['haslo']));
  37. echo "Zalogowałeś się poprawnie! Za chwilę zostaniesz przekierowany na stronę główną.<script>
  38. function init(){
  39. setTimeout('document.location=\"indeks.php\"', 3000);
  40. }
  41. window.onload=init;
  42. </script><noscript>Teraz możesz przeglądać <a href=\"indeks.php\">stronę</a></noscript>";
  43. } else {echo "Błędne hasło!";}
  44. } else {echo "Podany użytkownik nie istnieje!";}
  45. } else {echo "Musisz wpisać hasło!";}
  46. } else {echo "Musisz wpisać login!";}
  47. }
  48. ?>
  49. <br />Nie masz jeszcze konta? <a href="register.php">Zarejestruj się</a>!
  50. </body>
  51. </html>


cała zawartosć pliku logowanie.php

a o to błąd: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\strona\logowanie.php on line 34
Podany użytkownik nie istnieje!

chodzi o tą linijkę: if(mysql_num_rows($spr_user) > '0'){

z tego co zauważyłem to pomijane są zapytania i to w każdym skrypcie nie tylko tym. i nie wiem czy bardziej chodzi o połączenie z bazą czy zapytania są nie poprawne.

Ten post edytował Daiquiri 14.09.2013, 06:48:53
Powód edycji: [Daiquiri]: BBcode
Go to the top of the page
+Quote Post
valkirek
post 3.09.2013, 21:17:12
Post #10





Grupa: Zarejestrowani
Postów: 117
Pomógł: 6
Dołączył: 24.07.2013

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


Co to za twór?
- Jedno zapytanie do bazy w zupełności wystarczy
- Filtruj $login jakoś normalnie...
- Nie if(mysql_num_rows($spr_user) > '0') a raczej if(mysql_num_rows($spr_user)==1)
- Błąd wskazuje prawdopodobnie niepoprawną nazwę pola w bazie
Go to the top of the page
+Quote Post
scroll
post 3.09.2013, 21:49:09
Post #11





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 24.07.2013

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


  1. include "define.php";
  2. mysql_connect(serwer,login,haslo);
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <title>Sklep</title>
  9. <link href="style.css" rel="stylesheet" type="text/css" />
  10. <script type="text/javascript" src="stmenu.js"></script></head>
  11. <script language="javascript" type="text/javascript">
  12. function go() {
  13. location.href = "index.php?id="+document.getElementsByName("kategoria")[0].value;
  14. }
  15. </script>
  16. <body>
  17. <form method="POST" action="logowanie.php">
  18. <b>Login:</b> <input type="text" name="login"><br>
  19. <b>Hasło:</b> <input type="password" name="haslo"><br>
  20. <input type="submit" value="Zaloguj" name="loguj">
  21. </form>
  22. <?php
  23. function filtruj($zmienna)
  24. {
  25. $zmienna = stripslashes($zmienna); // usuwamy slashe
  26.  
  27. // usuwamy spacje, tagi html oraz niebezpieczne znaki
  28. }
  29.  
  30. if (isset($_POST['loguj']))
  31. {
  32. $login = filtruj($_POST['login']);
  33. $haslo = filtruj($_POST['haslo']);
  34. $ip = filtruj($_SERVER['REMOTE_ADDR']);
  35.  
  36. // sprawdzamy czy login i hasło są dobre
  37. if (mysql_num_rows(mysql_query("SELECT login, haslo FROM uzytkownicy WHERE login = '".$login."' AND haslo = '".md5($haslo)."';")) > 0)
  38. {
  39.  
  40. $_SESSION['zalogowany'] = true;
  41. $_SESSION['login'] = $login;
  42.  
  43. // zalogowany
  44.  
  45. }
  46. else echo "Wpisano złe dane.";
  47. }
  48. ?>
  49. <br />Nie masz jeszcze konta? <a href="register.php">Zarejestruj się</a>!
  50. </body>
  51. </html>



dobra powrót do starego prostego skryptu. nie ma błedow ale po wciśnieciu zaloguj nic sie nie dzieje.
Powód edycji: [Daiquiri]: BBcode
Go to the top of the page
+Quote Post
valkirek
post 3.09.2013, 21:54:02
Post #12





Grupa: Zarejestrowani
Postów: 117
Pomógł: 6
Dołączył: 24.07.2013

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


No i prawidłowo, że nic się nie dzieje:
  1. name="login"

  1. isset($_POST['loguj'])


$_POST['loguj'] nie istnieje
Go to the top of the page
+Quote Post
scroll
post 11.09.2013, 21:29:23
Post #13





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 24.07.2013

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


witam
znowu mam problem i nie zakładma nowego tematu tylko tu pisze

mam taki o to kod

  1. <?php
  2. include "define.php";
  3. mysql_connect(serwer,login,haslo);
  4.  
  5.  
  6. $zapytanie2 = mysql_query("INSERT INTO kategorie VALUES ('', 'domowe', '500', '1')");
  7. $zapytanie2a = mysql_query($zapytanie2);
  8. if($zapytanie2a) {
  9. echo "Zapytanie2 wykonane!";
  10. }else {
  11. echo "Zapytanie2 nie wykonane!";
  12. }
  13. ?>



skryp ma dodać do tabeli kategorie wartości. ogólnie sprawdzam czy z php wędruja dane. niestety nie cały czas wyświetla się na stronie Zapytanie2 nie wykonane! a w php my admin też nic nie jest dodane. w czym jest błąd?
Powód edycji: [Daiquiri]: BBcode
Go to the top of the page
+Quote Post
Turson
post 11.09.2013, 23:54:00
Post #14





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Po pierwsze po co dublujesz to samo
  1. $zapytanie2 = mysql_query("INSERT INTO kategorie VALUES ('', 'domowe', '500', '1')");
  2. $zapytanie2a = mysql_query($zapytanie2);

  1. $zapytanie2a = mysql_query("INSERT INTO kategorie VALUES ('', 'domowe', '500', '1')");


Wystarczy dodać magicznę formułkę, a dowiesz się co to za błąd
  1. mysql_query("INSERT INTO kategorie VALUES ('', 'domowe', '500', '1')") or die();


Jeśli pierwszą dodawaną wartością jest id (not null, auto increment), to używasz null a nie ''
Go to the top of the page
+Quote Post
Daiquiri
post 14.09.2013, 06:45:38
Post #15





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Scroll - korzystaj z BBcode. Dodatkowo następnym razem staraj sie lepiej tytułować temat ( Temat: Jak poprawnie zatytulowac watek )
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: 15.05.2025 - 15:06