![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam taki problem, robię stronkę, na której chcę dodawać newsy, np. jak jak to jest na instalki.pl.
Skonstruowałem taki kod, teoretycznie działa, bo zapisuje do pliku news.txt to, co chcę, ale podczas naciśnięcia "Dodaj", znów rząda ode mnie hasła, a ja bym chciał, aby wyświetlił komunikat zależny od tego czy wypełniłem pola i wszysto jest ok - "dodano news", czy nie wypełniłem wszystkich pól - "Wypełnij wszystkie pola". Oto kod php: Kod <?php
$haslo = "haslo"; if(!empty($_POST['tytul']) && !empty($_POST['tresc'])) { $open = fopen("news.txt", "a"); $save='<table cellspacing="0" cellpadding="0" width="98%" style="margin-bottom: 10px;" align="center"> <tr> <td style="width: 20;" align="left"><img src="Grafika/Niebieski/naroznik1.png" alt=""></td> <td style="color: #FFFFFF; background-color: #1B84FF; width: 100%;" align="center">'.$_POST['tytul'].'</td> <td style="width: 20;" align="right"><img src="Grafika/Niebieski/naroznik2.png" alt=""></td> </tr> <tr> <td valign="top" colspan="3" class="trescc"> <pre>'.$_POST['tresc'].'</pre> </td> </tr> </table>'; fwrite($open, $save); fclose($open); $ok = "News Dodano"; } else { $ok = "Wypełnij wszystkie pola"; } ?> <html> <head> <title>Witryna</title> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" /> <meta name="Robots" content="all"> <link rel="stylesheet" type="text/css" href="style.css"> <link rel="shortcut icon" href="icon.ico"> </head> <body> <table cellspacing="0" id="tabela" cellpadding="0" width="100%"> <tr> <td class="logo"> <h1>LOGO</h1> </td> </tr> <tr> <td class="tresc"> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <td style="width: 20;"><img src="Grafika/Niebieski/naroznik3.png" alt=""></td> <td align="center" style="background-color: #1B84FF;"> <ul id="poziom"> <li><a href="o_mnie.php"><img src="Grafika/Niebieski/lista.png" style="border: 0;" alt=""> O mnie</a></li> <li><a href="kontakt.php"><img src="Grafika/Niebieski/lista.png" style="border: 0;" alt=""> Kontakt</a></li> </ul> </td> <td style="width: 20;"><img src="Grafika/Niebieski/naroznik4.png" alt=""></td> </tr> </table> </td> </tr> <tr> <td class="tresc"> <table cellspacing="0" cellpadding="0" width="100%" id="news"> <tr> <td style="width: 200;" valign="top"> <?php include("menu.php"); ?> </td> <td valign="top" align="center"> <table cellspacing="0" cellpadding="0" width="98%" style="margin-bottom: 10px;"> <tr> <td style="width: 20;" align="left"><img src="Grafika/Niebieski/naroznik1.png" alt=""></td> <td style="color: #FFFFFF; background-color: #1B84FF; width: 100%;" align="center">Admin</td> <td style="width: 20;" align="right"><img src="Grafika/Niebieski/naroznik2.png" alt=""></td> </tr> <tr> <td valign="top" colspan="3" class="trescc"> <?php if(empty($_POST['haslo'])) { echo '<form action="Admin.php" method="post"> <table border="0" cellspacing="0" id="table"> <tr><td class="text">Hasło:</td><td><input type="password" name="haslo"><input type="submit" name="submit" value="Dalej"></td></tr> </table> </form>'; } elseif($haslo == $_POST['haslo']) { if(empty($_POST['tytul']) && empty($_POST['tresc'])) { echo '<form action="Admin.php" method="post"> <table border="0" cellspacing="0" id="table"> <tr><td class="text">Tytuł:</td><td><input type="text" name="tytul"></td></tr> <tr><td class="text">Treść:</td><td><textarea cols="50" rows="10" type="text" name="tresc"></textarea></td></tr> <tr><td valign="top" colspan="2"><input type="submit" name="submit" value="Dodaj"></td></tr> </table> </form>'; } else{ echo $ok; } } else { echo '<font color="#FF0000">Złe Hasło</font> <form action="Admin.php" method="post"> <table border="0" cellspacing="0" id="table"> <tr><td class="text">Hasło:</td><td><input type="password" name="haslo"><input type="submit" name="submit" value="Wyślij"></td></tr> </table> </form>'; } ?> </td> </tr> </table> <?php include("stopka.php"); ?> |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 9 Dołączył: 23.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o sesjach w php, bo tworzenie w ten sposób zabezpieczania hasłem nie ma najmniejszego sensu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Super, dzięki, poczytałem i zrobiłem, teraz mam trochę banalny problem, ale jak już jesteśmy przy tym temacie to wyjaśnię. Jeżeli to mają być newsy, to każdy nowy musi być umieszczany na początku zapisywanego pliku. Przy atrybucie "a", oczywiście dane dodaje na końcu, a przy "r+" owszem dodaje na początku, z tym, że kasuje poprzednią zawartość, czyli np jak by w pliku txt było napisane "Plik tekstowy", a został by wprowadzony tekst np. "koniec" to by wyszło "koniecekstowy". Pytanie brzmi, co zrobić, aby przy istniejących już danych, np. tabeli "<table></table>", i przy wprowadzeniu drugiej tabeli, jej nie nadpisywał, tylko ztobił drugą" <table></table><table></table>"??
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Jeżeli to mają być newsy, to każdy nowy musi być umieszczany na początku zapisywanego pliku. A komentarze w manualu, to Ty czasem czytasz? http://pl2.php.net/manual/pl/function.fwrite.php#29328 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, ale wybierz za mnie (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) : Albo jestem ślepy, albo tam tego nie ma, nie znalazłem (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) . Od razu uprzedzam przed jakimiś przykrymi komentarzami, iż jestem zupełnie początkującym w php - to chyba da się zauważyć
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Dałem link do konkretnego komentarza. Jest on na samym dole strony podręcznika. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Cytat komentarzami, iż jestem zupełnie początkującym w php - to chyba da się zauważyć Nie jest wstydem czegoś nie wiedzieć; wstydem jest tą niewiedzę utrzymywać. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
O ja, mam pustke w głowie: 3razy to przczytałem, ostatni post, i nawet 2 poprzednie, ku pewności i nic nie mogę z tego zrozumieć
Cytat see fopen() for more info. - to również spojrzałem przeczytałęm cały fopen(); ale nie kumam (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) PS. Ja oczywiście nie mam zamiaru utrzymywać tej niewiedzy, mam zamiar poszerzać swą wiedzę ;], ale coś nie mogę tego zrozumieć (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Aby zapisać dane na początku pliku, musisz najpierw pobrać jego zawartość do zmiennej, Wykonać coś takiego:
I tą zmienną zapisać do tamtego pliku. Innego sposobu nie ma, przynajmniej mi o innych nie wiadomo. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
O rety, dzięki, że się wysiliłeś, może dało by się trochę łopatologiczniej? Bo ok rozumiem, że mam załadować treść pliku do zmiennej ale co załadować do $stareDane?? I w jaki sposób załadować to do zmiennej w taki sam sposób jak ten plik do strony?
Ok, tam tobie kliknę, że pomogłeś, bo na pewno bardzo pomożesz (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) ;], tylko proszę, wyjaśnij bardziej łopatologicznie w jaki sposób, podam ci teść strony dodaj.php: Kod <?php session_start(); if (!isset($_SESSION["haslo"])){ header("Location: Admin.php"); exit(); } ?> <?php $data = date("d.m.Y H:i:s"); if(!empty($_POST['tytul']) && !empty($_POST['tresc'])) { $open = fopen("news.txt", "a"); $save='<table cellspacing="0" cellpadding="0" width="98%" style="margin-bottom: 10px;" align="center"> <tr> <td style="width: 20;" align="left"><img src="Grafika/Niebieski/naroznik1.png" alt=""></td> <td style="color: #FFFFFF; background-color: #1B84FF; width: 100%;" align="center">'.$_POST['tytul'].'</td> <td style="width: 20;" align="right"><img src="Grafika/Niebieski/naroznik2.png" alt=""></td> </tr> <tr> <td valign="top" colspan="3" class="trescc"> <p align="justify">'.$_POST['tresc'].'</p> </td> </tr> <tr> <td colspan="3"> <div style="font-family: Times New Roman; font-size: 11; background-color: #1B84FF; color: #FFFFFF;"> Dodano '.$data.' </div> </td> </tr> </table> '; fwrite($open, $save); fclose($open); $ok = "News Dodano"; } else { $ok = "Wypełnij wszystkie pola"; } ?> <html> <head> <title>Witryna</title> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" /> <meta http-equiv="Content-Language" content="pl" /> <meta name="Robots" content="all"> <link rel="stylesheet" type="text/css" href="style.css"> <link rel="shortcut icon" href="icon.ico"> </head> <body> <table cellspacing="0" id="tabela" cellpadding="0" width="100%"> <tr> <td class="logo"> <h1>LOGO</h1> </td> </tr> <tr> <td class="tresc"> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <td style="width: 20;"><img src="Grafika/Niebieski/naroznik3.png" alt=""></td> <td align="center" style="background-color: #1B84FF;"> <ul id="poziom"> <li><a href="o_mnie.php"><img src="Grafika/Niebieski/lista.png" style="border: 0;" alt=""> O mnie</a></li> <li><a href="kontakt.php"><img src="Grafika/Niebieski/lista.png" style="border: 0;" alt=""> Kontakt</a></li> <li><a href="Admin.php"><img src="Grafika/Niebieski/lista.png" style="border: 0;" alt=""> Admin</a></li> </ul> </td> <td style="width: 20;"><img src="Grafika/Niebieski/naroznik4.png" alt=""></td> </tr> </table> </td> </tr> <tr> <td class="tresc"> <table cellspacing="0" cellpadding="0" width="100%" id="news"> <tr> <td style="width: 200;" valign="top"> <?php include("menu.php"); ?> </td> <td valign="top" align="center"> <table cellspacing="0" cellpadding="0" width="98%" style="margin-bottom: 10px;"> <tr> <td style="width: 20;" align="left"><img src="Grafika/Niebieski/naroznik1.png" alt=""></td> <td style="color: #FFFFFF; background-color: #1B84FF; width: 100%;" align="center">Admin - <?php echo '<a href="logout.php?'.SID.'">'; echo "[Wyloguj]</a>"; ?> </td> <td style="width: 20;" align="right"><img src="Grafika/Niebieski/naroznik2.png" alt=""></td> </tr> <tr> <td valign="top" colspan="3" class="trescc"> <?php if(empty($_POST['tytul']) && empty($_POST['tresc'])) { echo '<form action="dodaj.php?" method="post"> <table border="0" cellspacing="0" id="table"> <tr><td class="text">Tytuł:</td><td><input type="text" name="tytul"></td></tr> <tr><td class="text">Treść:</td><td><textarea cols="50" rows="10" type="text" name="tresc"></textarea></td></tr> <tr><td valign="top" colspan="2"><input type="submit" name="submit" value="Dodaj"></td></tr> </table> </form>'; } else{ echo $ok; echo '<form action="dodaj.php?" method="post"> <table border="0" cellspacing="0" id="table"> <tr><td class="text">Tytuł:</td><td><input type="text" name="tytul"></td></tr> <tr><td class="text">Treść:</td><td><textarea cols="50" rows="10" type="text" name="tresc"></textarea></td></tr> <tr><td valign="top" colspan="2"><input type="submit" name="submit" value="Dodaj"></td></tr> </table> </form>'; } ?> </td> </tr> </table> <?php include("stopka.php"); ?> A oto kawałek z pliku index.php Kod <?php $open = fopen("news.txt", "r"); while(!feof($open)){ echo fgets($open, 4096); } fclose($open); ?> OO, udało się, dzięki, mam już nie trzeba się rozpisywać z takim tłukiem co ja (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) Na tym forum często nie bywam, po lewej stronie nie widziałem gdzie mogę wstawić pomógł, napisz gdzie to się wstawia i masz to gwarantowane (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) Ten post edytował Rookie 28.11.2008, 20:41:13 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 13:51 |