Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] 3 wpisy, i więcej już nie chce dodać.
Forum PHP.pl > Forum > Przedszkole
lopik
Nie wiem czy coś zrobiłem źle, bo nie znam się jeszcze za dobrze na MySQL, czy to może serwer coś nie tak...

Mam tą stronę: http://lopik.ovh.org/ przerobiłęm to na baze danych, i dodałem 3 wpisy i już więcej się nie da. :|
A na krasnalu (serwer na HDD) jest wszystko ok.

Kod do dodawania wpisów:
  1. <?php
  2. if (!empty($_POST['link']) and !empty($_POST['opis']) and !empty($_POST['imie']) and $haslo == $_POST['haslo'] ) {
  3.  
  4. $haslo = 'pass';
  5.  
  6. $link = $_POST['link'];
  7. $opis = $_POST['opis'];
  8. $dodal = $_POST['imie'];
  9. $data = date("Y.m.d H:i:s");
  10.  
  11. $connect = mysql_connect('localhost', 'login', 'password');
  12.  
  13. $db = mysql_select_db('bazamane', $connect) or die('nie mozna wybrac bazy');
  14.  
  15. $query = "INSERT INTO katalog (data, link, opis, dodal) VALUES('".$data."', '".$link."', '".$opis."', '".$dodal."')";
  16. $result = mysql_query($query) or die('wykonanie wpisu nie udane');
  17.  
  18. // header("Location: lopik.ovh.org/index.php");
  19. }
  20.  
  21. else {
  22. // header("Location: lopik.ovh.org/index.php");
  23.  }
  24.  
  25. ?>


Z Góry Dzięki za Pomoc!

PS. Wiem że header'y są źle, bo specjalnei dałem tak, bo forum dodawało jakies tagi winksmiley.jpg
erix
Co pokazuje mysql_error" title="Zobacz w manualu php" target="_manual?
uli
I jak wygląda struktura tabeli katalog?
gszesiek
może trzeba jeszcze port podać
lopik
erix nic nie pokazuje, po kliknięciu buttona 'wyślij' jest przeładowany formularz. zresztą mozecie sami stroawdzić.
hasło = pass

Cytat("uli")
I jak wygląda struktura tabeli katalog?

hmm za dużo nie napisze ale, jest cos takiego:

| id | link | data | opis | dodal |

id = auto_increment
link = unique
data = datetime
link = varchar(150)
opis = varchar(150)
dodal = varchar(50)

grzesiek z portem raczej nie, bo inne skrypty wszystko działa tylko to cos nie moze zaskoczyc. ;/

No nie wiem co mam jeszcze podac....
erix
Yyy, żeby sprawdzić, to musisz walnąć mysql_error" title="Zobacz w manualu php" target="_manual i die" title="Zobacz w manualu php" target="_manual przed header" title="Zobacz w manualu php" target="_manual, bo inaczej nie zobaczysz błędu winksmiley.jpg
lopik
No wiem, zrobiłem tak, dopisałem te funkcje.
Ale tak jak napisałem żaden błąd się nie pokazuje.
erix
Cytat
  1. <?php
  2. $result = mysql_query($query) or die('wykonanie wpisu nie udane');
  3. ?>

Wywal or die... i użyj jeszcze tego z mysql_error" title="Zobacz w manualu php" target="_manual. Co teraz?
lopik
Dobra coś odkryłem, ale pogubiłem sie teraz :|

Jeśli napisze zmienną:

$haslo = 'pass';

przed if to działa dobrze.

A jesli napisze w/w zmienną W! instrukcji if

To hasło jest po prostu olewane :|
moge dodawac wpisy bez hasła, choś by jaki był warunek.

Ktos to rozumie ? blink.gif
No chyba że tak jest poprawnie, ale nikt by tego nie wiedzieł.... winksmiley.jpg

erix wpisałem to:
echo mysql_errno() . ": " . mysql_error() . "\n";

tak było w manualu, ale błędu nie było, bo zapytania są jednak dobrze zrobione.
ale to hasło nawaliło.
gszesiek
może nie tyle hasło jest olewano, co nie jest spełniony warunek i nie jest wykonywany blok instr.
napisz jakieś echo w tym bloku, zaraz po if i napisz czy się pojawia
bo z tego co napisałeś to zrozumiałem, że nie podajesz hasła przez post
jak możesz to pokaż jeszcze formularz przekazujący hasło
uli
Poproszę FORMULARZ!

czyli stronę skąd przesyłasz dane.
Zobaczmy tam, skoro warunek, jak widać wywala się na porównaniu hasła

//EDIT:

  1. <?php
  2. <div>
  3. <label for="imie">haslo :</label>
  4. <input style="background-color:#DC8F8F; color:#FFFFFF" id="imie" type="password" size="30" name="haslo" />
  5. </div>
  6. ?>


Wziąłem to z Twojej strony.... Ojjjjjj... id=... ;p
lopik
Formularz w HTML ? o to wam chodzi ?
Jeśli tak, to przeciez w źródle strony mozna zobczyć winksmiley.jpg

  1. <form method="post" action="dodaj.php">
  2.  
  3. <input id="imie" type="password" size="30" name="haslo" />
  4.  
  5. <input id="imie" type="text" size="30" name="link" />
  6.  
  7. <input id="email" type="text" size="30" name="opis" />
  8.  
  9. <input id="email" type="text" size="30" name="imie" />
  10.  
  11. <input id="wyslij" type="submit" name="submit" value="dodaj!" />
  12. </form>


I formularz ma action="dodaj.php" a dodaj.php to jest właśnie ten kod co w pierwszym poście, w w takiej postaci jak w pierwszym poście to nie działa.

A w takiej działa:

  1. <?php
  2.  
  3. $haslo = 'tujesthaslo';
  4.  
  5. if (!empty($_POST['link']) and !empty($_POST['opis']) and !empty($_POST['imie']) && $haslo == $_POST['haslo'] ) {
  6.  
  7. $link = $_POST['link'];
  8. $opis = $_POST['opis'];
  9. $dodal = $_POST['imie'];
  10. $data = date("Y.m.d H:i:s");
  11.  
  12. $connect = mysql_connect('localhost', 'login', 'password');
  13.  
  14. $db = mysql_select_db('login', $connect) or die("nie mozna wybrac bazy". mysql_error()."");
  15.  
  16. $query = "INSERT INTO katalog (data, link, opis, dodal) VALUES('".$data."', '".$link."', '".$opis."', '".$dodal."')";
  17. $result = mysql_query($query);
  18. // echo mysql_errno() . ": " . mysql_error() . "n";
  19.  
  20. header("Location: <a href="http://lopik.ovh.org/index.php");" target="_blank">http://lopik.ovh.org/index.php");</a>
  21. }
  22.  
  23. else {
  24. header("Location: <a href="http://lopik.ovh.org/index.php");" target="_blank">http://lopik.ovh.org/index.php");</a>
  25. }
  26.  
  27. ?>


PS. I nie pisz uli kodu HTML w tagu [php] bo od tego jest tak [html] smile.gif
uli
Dobrze to w takim razie daj przed if:

  1. <?php
  2. echo "$_POST['haslo']";
  3. ?>


I napisz co wyszło

@UP: Przepraszam, ja nawet formularze w php robie i stąd 'zboczenie' smile.gif

//EDIT: ohmy.gif moment! Przepraszam ale porównujesz w if $haslo == $_POST['haslo']
a co to jest u Ciebie $haslo questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif? Bo przecież niezdefiniowane przed if jest laugh.gif laugh.gif laugh.gif
O my ślepi smile.gif

  1. <?php
  2. if (!empty($_POST['link']) and !empty($_POST['opis']) and !empty($_POST['imie']) && $_POST['haslo'] == 'pass' ) {
  3. ?>


DO MODERATORÓW: Przepraszam za moją ślepotę. Nie chciałbym żeby to było odbierane jako nabijanie postów, więc jestem gotowy skasować te powyżej - ot, zmęczenie sad.gif
lopik
Działa tzn. wpisane znaki w polu "haslo" wyświetlają się w echo przed IF.

//

Hahahah ale plaeme dali wszyscy biggrin.gif

Eh ale pięknie biggrin.gif


Dobra, dzięki za rozwiązani hehehe

//

Powiedzmy że to był dla "was" sprawdzian z php tongue.gif winksmiley.jpg heh
uli
Lopik ostatnia uwaga:

Proponowałbym umieścić hasło w MySQL i 'wyciągać' je przed warunkiem IF w Twoim przykladzie. Bezpieczniejsze. Poza tym pozwoli to Tobie w przyszłości na bazę userów.
lopik
Dzieki. smile.gif

Jak będę ją rozbudowywał, to napewno tak zrobie, ale narazie jeszcze myszę MySQL'a bardziej opanować winksmiley.jpg

PS. No wyszukiwarkę adresów to muszę na bank zrobić smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.