System neesów - w połowie gotowy


(Diabełek666) #1

Witam,

Chcę zrobić system neewsów - mam w pliku dodaj.php oto taki kod:

method="post">

 value="dodaj" type="hidden">

| Autor: | size="30" name="autor" value="<?php echo $_POST['autor']; ?>" type="text"> |
| Adres e-mail: | size="30" name="email" value="<?php echo $_POST['email']; ?>" type="text"> |
| Tytuł: | size="30" name="tytul" value="<?php echo $_POST['tytul']; ?>" type="text"> |
| Treść: | cols="40" rows="5" name="tresc"><?php echo $_POST['tresc']; ?> |
| | value="Dodaj nowy nius" type="submit"> |

[/code]

teraz mi tylko zostało dodanie do tego kodu, by zapisywało to do pliku neesy.txt a następnie na stronie wpisy.php odczytywało te dane z pliku neewsy.txt

Jak to zrobić? Wiem, że tego jest może pełno ale jak już zrobiłem...


(adpawl) #2


(Diabełek666) #3

Co? to co mam wkleić do pliku dodaj.php? Ja wkleiłem kod:

<?php


if($_POST['submit']){

$p1 = htmlspecialchars($_POST['autor']);

$p2 = htmlspecialchars($_POST['email']);

$p3 = htmlspecialchars($_POST['tytul']);

$p4 = htmlspecialchars($_POST['tresc']);


$dane = $p1.'::'.$p2.'::'.$p3.'::'.$p4."\n";


$file = 'baza.txt';

$fp = fopen($file, 'a');

flock($fp, 2);

fwrite($fp, $dane);

flock($fp, 3);

fclose($fp);

} 


?>

oraz na stronie aktualnosci.php:

<?php

//odczyt

$file = file('baza.txt');

foreach($file as $value) {

$exp = explode('::',$value);

echo $exp[0].', '.$exp[1].', '.$exp[2].', '.$exp[3].'';

}


?>

[/code]

Pod kodem na formularz, koło przycisku i nie działa... A plik baza.txt umieściłem na serwerze...


(Fiołek) #4

Ale co nie działa?


(adpawl) #5

Autor:

Adres e-mail:

Tytuł:

Treść:

<?php echo $_POST['tresc']; ?>

<?php

if($_POST['submit']){

$p1 = htmlspecialchars($_POST['autor']);

$p2 = htmlspecialchars($_POST['email']);

$p3 = htmlspecialchars($_POST['tytul']);

$p4 = htmlspecialchars($_POST['tresc']);

$dane = $p1.'::'.$p2.'::'.$p3.'::'.$p4."\n";

$file = 'baza.txt';

$fp = fopen($file, 'a');

flock($fp, 2);

fwrite($fp, $dane);

flock($fp, 3);

fclose($fp);

}

//odczyt

$file = file('baza.txt');

foreach($file as $value) {

$exp = explode('::',$value);

echo $exp[0].', '.$exp[1].', '.$exp[2].', '.$exp[3].'



(Diabełek666) #6

:o pojawia się :wink: No wszystko OK, tylko chciałbym, by tytuł był pogrubioną czcionką oraz by treść niusa była pod tytułem, a nie po przecinku...


(Fiołek) #7

Zmieniasz tą linijke : echo $exp[0].', '.$exp[1].', '.$exp[2].', '.$exp[3].'



(Diabełek666) #8

A jak jest w PHP enter? oraz pogrubienbie? Próbowałem połączyć to z HTML'em ale nici z tego ;/

Złączono Posta : 13.11.2007 (Wto) 9:27

Tak ti wszsytsjko działa, tyle że to :frowning: PBo to sprawia brzydkie wrazenie... a ja aż tak w PHP nie jestem obeznany :(...


(adpawl) #9

Nowa linia:

\n - unix

\r\n - windows

\r - mac

pogrubienie normalnie:

wyróżnienie :

Co? Jakie PBo?

Wiesz co? - to może lepiej złap się za jakiś kurs html/php, albo zleć komuś zrobienie.


(Diabełek666) #10

(adpawl) #11

jak już coś, to:


(Diabełek666) #12

Odpowiedź z serwera ;/ (wyświetla sie zamiast stronki)

Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in /var/www/sites/yoyo.pl/a/r/ ******* /kopia.php on line 339

Co jest? Złączono Posta : 13.11.2007 (Wto) 18:46PS: zrobiłem wszystko na podstawie Twojego kodu i wymieniłem ta jedną linijkę... Złączono Posta : 14.11.2007 (Sro) 15:33Chce zastąpić linijkę:

echo ''.$exp[2]."
".$exp[3].'';

[/code]




Na linijkę, która będzie zawierała dane z pól:

[code] if($_POST['submit']){ $p1 = htmlspecialchars($_POST['autor']); $p2 = htmlspecialchars($_POST['email']); $p3 = htmlspecialchars($_POST['tytul']); $p4 = htmlspecialchars($_POST['wiersz1']); $p5 = htmlspecialchars($_POST['wiersz2']); $p6 = htmlspecialchars($_POST['wiersz3']); $p7 = htmlspecialchars($_POST['wiersz4']); $p8 = htmlspecialchars($_POST['wiersz5']); $p9 = htmlspecialchars($_POST['wiersz6']); $p10 = htmlspecialchars($_POST['wiersz7']); $p11 = htmlspecialchars($_POST['wiersz8']); $p12 = htmlspecialchars($_POST['wiersz9']); $p13 = htmlspecialchars($_POST['wiersz10']); $p14 = htmlspecialchars($_POST['wiersz11']); $p15 = htmlspecialchars($_POST['wiersz12']); $p16 = htmlspecialchars($_POST['wiersz13']);

Aha - wartość pola 3 ma być pogrubiona. I po wszystkich danych z pól ma być ENTER...


(Fiołek) #13

Koleś, my nie będziemy za Ciebie wszystkiego robić! Zabierasz się za PHP, a nawet nie wiesz jak wykonać proste operacje na plikach. Trochę samodzielności!


(Diabełek666) #14

****** Fiołek! !!


(sdar) #15

Diabełek666 - Bezczelnością daleko tu nie zajedziesz :evil:

W końcu to TY potrzebujesz pomocy lecz nie zdziwiłbym się gdybyś po takim tekście musiał dłużej poczekać na kogoś kto zechce zająć się Twoim problemem.

Forum nie służy wykonywaniu prac za kogoś. Jeśli byś włożył chociaż trochę wysiłku i skorzystał z dowolnej wyszukiwarki to zorientowałbyś się, że adpawl pisząc o kursach HTML/PHP miał na myśli ogólnie dostępne serwisy internetowe, które sa bardzo pomocne dla początkujących twórców stron a nie "jakieś książki" jak to ująłeś.

Jeszcze raz się zapędzisz za daleko ze swoimi tekstami to pożegnasz się z tym forum na dłużej.


(Airborn) #16

żeby się uczyć na podstawie czegoś to trzeba mieć chociaż jakieś podstawy... Jeżeli na podstawię tego co tutaj przedstawiono nadal nie jesteś zrozumieć w jaki sposób łączy się stringi, to chyba jednak nie masz zbytnio szans się nauczyć na tym przykładzie i przydał by Ci się jakiś porządny kurs (nawet nie koniecznie książka, możesz czegoś na stronach www poszukać, taki dobry temat dla początkujących przecież napisałeś)

czyżby formularz rozrósł Ci się do 16 pól? przyznam, że to wygląda dziwnie, i śmiem przypuszczać, że źle czytasz dane z textarea.

Reasumując: poziom Twoich wypowiedzi zniechęca do udzielania merytorycznych odpowiedzi, pogoogluj w kierunku php operator stringów


(Diabełek666) #17

Dobra, widze że jesteście bardzo leniwi i nie chce wam się ruszyć tego co jest na końcu jelita grubego więc mam pytanie:

Dlaczego nie działa tutaj ENTER? tzn. przeskoczyć przeskoczy, ale nie widzi tego ENTERA - co zrobić? Wyświetla to jako ciąg dlaszy zdania


(L337 Crew) #18

kto jak kto, ale Ty jesteś bardziej, bo nie reagujesz na to, co się do Ciebie mówi. Gdybyś przeczytał o osadzaniu zmiennych wewnątrz stringu - wiedziałbyś co i jak. Dodatkowo obrażasz innych i oczekujesz gotowca...

a znasz

:?: ??

Nie wiem o co Ci chodzi, bo nie dałeś obecnego kodu, a poprzedni


(Diabełek666) #19

Słyszałem, ale to TY nie rozumiesz o co mi chodzi. Kod mam już cały gotowy. Jednak jak chce już napisać nowego niusa to tam pisze sobie jego treść: 'blablablba' i tu chce dać, by kursor przeskoczył do nowej linijki (daje ENTER) no niby przeskakuje ale to co napisze po tym ENTERZE - to mi ucina :frowning: Ale ja to muszę mieć od nowej linii bo inaczej będę miał błąd :confused:


(L337 Crew) #20

No to w takim razie - nazywasz sobie textarea:

(oczywiście w stylach podajesz jego wymiary)

a przy odbieraniu, przed dodaniem:

$tresc = nl2br(strip_tags($_POST['tresc'], '
'));

Masz już gotowe dane przetrzymywane w zmiennej $tresc, teraz wystarczy zapisać do pliku wraz z info o autorze, temacie itd. :stuck_out_tongue: