Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]PHP aktualizacja strony
kamil1114
post
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 22.02.2008
Skąd: katowice

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


Jak zrobić tak , żeby bez zdejmowania strony z serwera , prosto edytować stronę np. chciałbym dodać newsa albo artykuł na swoją stronę i chciałbym żeby odbyło się to bez zdejmowania strony z serwera. Robi tak na przykład onet , pojawiają się nowe linki , a strona cały czas działa.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
Wicepsik
post
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Zdejmowanie strony? Czyli kasujesz wszystkie pliki php z serwera i wrzucasz nowe? (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)
onet.pl zapewne ma newsy w bazie mysql.
Poczytaj w google o mysql+php
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(Wicepsik @ 13.05.2009, 16:38:19 ) *
onet.pl zapewne ma newsy w bazie mysql.

Nie byłbym taki pewien czy to na pewno MySQL. Wręcz wątpię w to...
Go to the top of the page
+Quote Post
kajzur
post
Post #4





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

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


Ale ogólnie na jakiejś bazie danych jest (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jak dodać artykuł? Hm, pobieraj artykuły z bazy i je tam zapisuj. I nic na plikach nie musisz robić ;p
Go to the top of the page
+Quote Post
kamil1114
post
Post #5





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 22.02.2008
Skąd: katowice

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


Nie , chodziło mi raczej o aktualizację. Czyli mam jakiś tekst i chcę coś dopisać. Czyli żeby tak robić , to muszę utworzyć jakąś bazę danych , bez niej się nie da tak robić ?
Go to the top of the page
+Quote Post
tomsi
post
Post #6





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


W bazie zrób sobie tabelę i tam wrzuc np. (id, tytul, tresc, data, godz, autor) - i co tam jeszcze chcesz.

W skrypcie PHP opracuj sobie tylko kod to wyświetlania na stronie (połączenie z bazą, wybór odpowiedniej bazy, tabeli i pól z tabeli z news'ami, następnie jakąs pętle, które będzie Ci pobierała wszystkie news'y z bazy najlepiej od razu zapytaniem SQL zrób sobie takk żeby najnowszy news był jako pierwszy na stronie).

Żeby dodawać news'y do bazy napisz sobie skrypt, który będzie zawierał jakiś formularz do wpisywania danych i zapisania ich do bazy. Tak samo możesz zrobić skrypt do edycji i usuwania news.


Cytat
Nie , chodziło mi raczej o aktualizację. Czyli mam jakiś tekst i chcę coś dopisać. Czyli żeby tak robić , to muszę utworzyć jakąś bazę danych , bez niej się nie da tak robić ?


No baza danych jest najlepszym rozwiązaniem. Innym jest zapisywać news'y w pliku np. .txt.

Ten post edytował tomsi 13.05.2009, 15:56:59
Go to the top of the page
+Quote Post
kamil1114
post
Post #7





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 22.02.2008
Skąd: katowice

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


Dokładnie o to mi chodziło , dziękuję. A ten skrypt do dodawania i usuwania newsów też wrzucić na serwer ? Tylko się nie śmiejcie , może dla Was to logiczne , ale ja się wolę upewnić.
Go to the top of the page
+Quote Post
tomsi
post
Post #8





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


Tak muszą być na serwerze. Plus jest taki tego, że nie musisz już potem wchodzić do bazy danych i tam coś dopisywać (MySQL) albo łączyć się z serwerem przez ftp żeby dodać lub zmienić coś w pliku .txt. Możesz sobie zrobic jakiś panel administratora i tam linki do wszystkich skryptów dla adminia.
Go to the top of the page
+Quote Post
kamil1114
post
Post #9





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 22.02.2008
Skąd: katowice

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


Ok , dziękuje za pomoc. Tylko wtedy musiałoby być wszystko na sesjach i na hasło ten panel. Jest trochę roboty.

Nie chcę zakładać nowego tematu , więc tu zapytam.
Czemu jak mam taki kod:
  1. <?php
  2. if(!empty($title) && !empty($text)){
  3. mysql_query("insert into newsy (tytul,tresc) values ('$title','$text')");
  4. }
  5. ?>


to po każdym odświeżeniu strony dodaje mi się rekord do bazy danych ?
Ja to rozumiem tak - jeżeli zmienna title nie jest pusta i zmienna text nie jest pusta to dodaj ......
I jak nie wypełnię danych to się dodaje kolejny rekord do bazy danych , a tak nie powinno być.
Działa kod:
  1. <?php
  2. if(empty($title) && empty($text)){
  3. mysql_query("insert into newsy (tytul,tresc) values ('$title','$text')");
  4. }
  5. ?>

Tylko nie rozumiem czemu , działa tak jakby na odwrót , powinien działać kod 1 , a działa 2. Czemu tak jest ?
Go to the top of the page
+Quote Post
maniekl2
post
Post #10





Grupa: Zarejestrowani
Postów: 162
Pomógł: 29
Dołączył: 6.04.2008

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


A pokaż jak wygląda kod przed tym warunkiem. Głównie chodzi mi o $title i $text

Ten post edytował maniekl2 13.05.2009, 17:35:53
Go to the top of the page
+Quote Post
kamil1114
post
Post #11





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 22.02.2008
Skąd: katowice

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


  1. <?php
  2. <form method="post">
  3. Tytul newsa: </br>
  4. <input type="text" name="title"> </br>
  5. Tres&#263; newsa: </br>
  6. <input type="text" name="text">
  7. <input type="submit" value="dopisz">
  8. </form>
  9. <?php
  10. $title=$_POST['title'];
  11. $text=$_POST['text'];
  12.  
  13.  
  14. mysql_connect('localhost','root','haslo');
  15. mysql_select_db('kamil_newsy');
  16. if(empty($title) && empty($text)){
  17. mysql_query("insert into newsy (tytul,tresc) values ('$title','$text')");
  18. }
  19. ?>


Ten post edytował kamil1114 13.05.2009, 19:10:03
Go to the top of the page
+Quote Post
maniekl2
post
Post #12





Grupa: Zarejestrowani
Postów: 162
Pomógł: 29
Dołączył: 6.04.2008

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


U mnie działa poprawnie. Sprawdzałem bez łączenia z bazą:
  1. <form method="post">
  2. Tytul newsa: </br>
  3. <input type="text" name="title"> </br>
  4. Tresc; newsa: </br>
  5. <input type="text" name="text">
  6. <input type="submit" value="dopisz">
  7. </form>
  8. <?php
  9. $title=$_POST['title'];
  10. $text=$_POST['text'];
  11.  
  12.  
  13.  
  14. if(!empty($title) && !empty($text)){
  15. echo 'wyswietl'; // kiedy nie sa puste wyświetla
  16. }
  17. ?>


A tak w ogóle nie dawaj "pomógł" za każdą wypowiedź bo nie temu ona służy. "Pomógł" jest po to by wskazać rozwiązanie danego problemu. A mój poprzedni post na pewno nie był rozwiązaniem.

Ten post edytował maniekl2 13.05.2009, 20:08:48
Go to the top of the page
+Quote Post
kamil1114
post
Post #13





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 22.02.2008
Skąd: katowice

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


Ok , dziękuję za sprawdzenie. Za pierwszym razem też mi działa , ale jak zacznę odświeżać stronę nie wpisując nic , to on sam sobie dopisuje. A odnośnie "pomógł" to dlatego daję w takich ilościach , żeby zachęcić do pomocy. Już tak nie będę robił.
Go to the top of the page
+Quote Post
Maxik
post
Post #14





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


Dlatego, że jak odświeżysz, przeglądarka ponownie wysyła dane przez POST, warunek jest spełniony, rekord się dodaje.
Go to the top of the page
+Quote Post
kamil1114
post
Post #15





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 22.02.2008
Skąd: katowice

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


A da się temu jakoś zapobiec ? Może metodą GET , ona też to spowoduje ?
Go to the top of the page
+Quote Post
Maxik
post
Post #16





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


GET tymbardziej, po dodaniu rekordu przekieruj na inną lub tą samą stronę:

Kod
<form method="post">
Tytul newsa: </br>
<input type="text" name="title"> </br>
Tresc; newsa: </br>
<input type="text" name="text">
<input type="submit" value="dopisz">
</form>

  1. <?php
  2. $title=$_POST['title'];
  3. $text=$_POST['text'];
  4.  
  5. if(!empty($title) && !empty($text)){
  6. mysql_query("INSERT INTO `newsy`(tytul, tresc) Values('".$title."','".$text."')");
  7. echo '<script type="text/javascript">
  8. window.location.href = "index.php";
  9. </script>';
  10. }
  11. ?>
Go to the top of the page
+Quote Post
kamil1114
post
Post #17





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 22.02.2008
Skąd: katowice

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


Bardzo dziękuję , temat do zamknięcia.
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: 24.08.2025 - 23:47