![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Napisałem skrypt, który dodaje newsy do strony głównej, są tam umieszczone również pola, ażebym mógł dodawać źrósła z jakich czerpałęm te newsy, ze strony webmade napisałem w javie funkcje, która dodaje dodatkowe pola do źródeł, aby mogło być więcej niż jedno źródło podane. Od razu mówię, iż szukałem informacji na ten temat i znalazłem to: http://forum.php.pl/index.php?showtopic=65938 - choć nie zabardzo mi pomogło bo tego ostatniego z foreach nie rozumiem ;] A więc o to mój plik dodaj.php: Kod <?php session_start(); if (!isset($_SESSION["haslo"])){ header("Location: Admin.php"); exit(); } ?> <?php $Adres = array('<a href=".$_POST[Adres]." target="_blank">'); $zrodlo = array(''.$_POST[zrodlo].'</a>'); $data = date("d.m.Y H:i:s"); if(!empty($_POST['tytul']) && !empty($_POST['tresc']) && !empty($_POST['zrodlo'])) { $staraTresc = file_get_contents("news.txt"); $open = fopen("news.txt", "w"); $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"><img src="'.$_POST['obrazek'].'" alt="">'.$_POST['tresc'].'</p> Źródła: '.$Adres.$zrodlo.' </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> '; $save .= $staraTresc; 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"> <script type="text/javascript"> function dodaj_terek(kontener){ var znacznik = document.createElement('tr'); var kontener = document.getElementById(kontener); } function dodaj_tedek(kontener){ var znacznik = document.createElement('td'); znacznik.setAttribute('colspan', '2'); var kontener = document.getElementById(kontener); kontener.appendChild(znacznik); } function dodaj_Adres(kontener){ var znacznik = document.createElement('input'); znacznik.setAttribute('type', 'text'); znacznik.setAttribute('name', 'Adres[]'); znacznik.setAttribute('value', 'Adres'); znacznik.className = 'zrodla'; var kontener = document.getElementById(kontener); kontener.appendChild(znacznik); } function dodaj_Nazwe(kontener){ var znacznik = document.createElement('input'); znacznik.setAttribute('type', 'text'); znacznik.setAttribute('name', 'zrodlo[]'); znacznik.setAttribute('value', 'Nazwa'); znacznik.className = 'zrodla'; var kontener = document.getElementById(kontener); kontener.appendChild(znacznik); } </script> </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']) && empty($_POST['zrodlo'])) { echo 'Dodaj Artykół'; 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">Obrazek:</td><td><input type="text" name="obrazek"></td></tr> <tr><td class="text" valign="top">Treść:</td><td><textarea cols="50" rows="10" type="text" name="tresc"></textarea></td></tr> <tr><td class="text" clospan="2">Źródła:</td></tr> <tr><td id="pliki" colspan="2"><input type="text" name="Adres[]" value="Adres"><input type="text" name="zrodlo[]" value="Nazwa"></td></tr> <tr><td valign="top"><input type="button" value="Dodaj Pole" onclick="dodaj_terek(\'pliki\');dodaj_tedek(\'pliki\'); dodaj_Adres(\'pliki\'); dodaj_Nazwe(\'pliki\');" /></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">Obrazek:</td><td><input type="text" name="obrazek"></td></tr> <tr><td class="text" valign="top">Treść:</td><td><textarea cols="50" rows="10" type="text" name="tresc"></textarea></td></tr> <tr><td class="text" clospan="2">Źródła:</td></tr> <tr><td><input type="text" name="Adres" value="Adres"></td><td><input type="text" name="zrodlo" value="Nazwa"></td></tr> <tr><td valign="top" colspan="2"><input type="submit" name="submit" value="Dodaj"></td></tr> </table> </form>'; } ?> </td> </tr> </table> <?php $open = fopen("news.txt", "r"); while(!feof($open)){ echo fgets($open, 4096); } fclose($open); ?> <?php include("stopka.php"); ?> zamiast wpisanych stron źródeł (czy to jedna strona ze źródłem, czy też więcej) pokazuje się tylko "Źródła: ArrayArray", a chodzi o to, ażeby pokazywało się np. "Źródła: wp.pl, onet.pl" Proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
To mi pomogłeś... jak byś mógł apisac przykład co z tym zrobić lub dać dokładniejszego linka, to byłbym wdzięczny. Piszę w "Przedszkolu" bo jestem zacofany w php, dopiero się uczę
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
utwórz jedną tablice
$i = 0; $zrodlo = array(); foreach($_POST['adres) { $zrodlo[$i]['adres'] =$_POST['adres']; $zrodlo[$i]['zrodlo']=$_POST['zrodlo']; $i++; póżniej
powinno cos wyjASNIC Ten post edytował artur_dziocha 29.11.2008, 11:35:04 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Ok już próbuję, tylko jedno pytanie, to można tak php w php umieszczać? trzeba pamiętać, że to się zapisuje do pliku tekstowego
Ten post edytował Rookie 29.11.2008, 11:33:58 |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Parse error: syntax error, unexpected T_FOREACH in C:\Documents and Settings\Moje dokumenty\HTML\Witryna\dodaj.php on line 25
Ten post edytował Rookie 29.11.2008, 11:40:16 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Kurcze, można od początku? (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) ok to napisałeś, to trzeba wkleić w miejscu w którym te źródła się mają wyświetalać ok, a co z tamtymi zmiennymi i określaniem tablic, to też pls Napisz mi w poście co dokładnie gdzie ma być ;p Proszę
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
zwtróc uwage na linie10-14 oraz 31 32
pisane z palca moga byc małe poprawki - Apostrofy lub dane z inputów. Pozdrawiam Ten post edytował artur_dziocha 29.11.2008, 12:01:16 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, że się tak wysilasz dla mnie i że mi czas poświęcasz.
(IMG:http://forum.php.pl/style_emoticons/default/sad.gif) tylko problemik jest taki Parse error: syntax error, unexpected ')' in C:\Documents and Settings\Moje dokumenty\HTML\Witryna\dodaj.php on line 9 U mnie linią 9 jest: Kod foreach($_POST['Adres']) { |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
No właśnie brakowało, ja dopisałem zamknięcie - i dalej nic (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) (to samo)
Ten post edytował Rookie 29.11.2008, 12:13:11 |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A wiecie w ogóle, jak wygląda konstrukcja foreach" title="Zobacz w manualu PHP" target="_manual...? (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
Żadnego nawiasu nie brakuje; fundamentalny brak czytania dokumentacji... :/ |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
przeoczenie:)
spróbuj z while:) Ten post edytował artur_dziocha 29.11.2008, 12:17:22 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
erix, w takim razie jak miałoby to wyglądać, napiszesz?
|
|
|
![]()
Post
#17
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Nie napiszę, wysil się trochę i zajrzyj do strony manuala, jak wygląda iteracja przez foreach" title="Zobacz w manualu PHP" target="_manual.
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
No to bardzo ci dziękuję :/ Wysilam się od 3dni a teraz z tym foreachem to ja nie wiem co mam dać po as.
Widać jak bardzo lubisz pomagać bardzo początkującym (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) artur - zrobiłem, jak mi napisałeś zamieniłem foreach na while i coś takiego jest Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 8126449 bytes) in C:\Documents and Settings\Moje dokumenty\HTML\Witryna\dodaj.php on line 10 Teraz zrobiłem if i... teoretycznie chodzi, błędów nie daje ale wynikiem jest to, co na początku, jest tylko link do array - Kod <a href="Array">Array</a><br>
|
|
|
![]()
Post
#19
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Pomagać, to nie znaczy pisać gotowce.
While wykonuje się zawsze, gdy warunek w nawiasie jest true. Ty pewnie podstawiasz wartość, która zawsze jest prawdą. Masz w ten sposób pętlę nieskończoną, więc nie dziw się, że masz błędy. Zrób na foreach" title="Zobacz w manualu PHP" target="_manual, ale rusz swoje cztery litery, żeby zobaczyć w manualu, jak się z tego korzysta! Masz gotowy przykład, a wystarczy tylko popodstawiać swoje zmienne... |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
erix, nie mówię tu, że masz mi podać może wyjaśnić trochę dokładniej to foreac, tak patrrzyłem w link który podałeś, czytałem chyba ze 3razy to co tam napisali, i komentarze, ale naprawdę nie mogę zrozumieć. To możnaby porównać do tego jak byś np. 5latkowi dał do przeczytania trylogię, a potem kazał mu to wyjaśnić (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) - ale mam porównania...
Ten post edytował Rookie 29.11.2008, 12:49:50 |
|
|
![]()
Post
#21
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
~Rookie tak jak trzylatek nie powinien się brać za Trylogię bo nie ogarnie, tak Ty zostaw programowanie bo ... jest poza Twoim zasięgiem.
Instrukcja foreach jest jedną z podstawowych instrukcji w tym języku. Jak masz z tym problem to może lepiej zainwestuj w zbieranie znaczków. Wybacz ostry ton ale są granice. Przykłady w manualu są bardzo proste i logiczne. Uruchom je, zmień dane. Poparz co się tam dzieje a zrozumiesz. A jak nie to trudno. |
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc :/ "Moderator" się znalazł, jak nie masz zamiaru pomóc, ani nic dobrego wnieść to się nie wypowiadaj, to, że foreach jest jedną z podstawowych funkcji, nie znaczy, że jak się dopiero uczę to mam zaraz przestać i znaczkami się zajmować
|
|
|
![]()
Post
#23
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zamiast od godziny tracić czas na pisanie tutaj postów mógłbyś zająć się edytorem i kodem. Już byś wiedział jak działa foreach.
Co jest lepsze? Czekać godzinę aż ktoś Ci wytłumaczy czy godzinę poświęcić na naukę? I jest różnica w tym co robisz a w tym co wydaje Ci się, że robisz. Ty się nie uczysz. Ty czekasz aż ktoś Cię nauczy. |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Gadaj zdrów - uwierz, nie często tu sprawdzam czy ktoś napisał, tylko nad tym siedzie, ajak już wcześniej napisałem, próbuję to zrobić od 3dni a dopiero dziś napisałem tu temat. Jak masz zamiar tak się wypowiadać, to nie wypowiadaj się wcale, znajdź sobie lepszy dla ciebie temat i się na nim wyżywaj
|
|
|
![]()
Post
#25
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat próbuję to zrobić od 3dni a dopiero dziś napisałem tu temat To może lepiej pokaż, co zrobiłeś? Też mogę sobie mówić, że próbuję zrobić przez 3 dni, ale jeśli próbujesz tylko pisząc na forum, to się nie dziwię. Jakie wnioski wyciągnąłeś po lekturze manuala na stronie foreach" title="Zobacz w manualu PHP" target="_manual? |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Nareszcie wnosząca coś do tematu odpowiedź, proszę bardzo, od trzech dni zrobiłem plik dodaj.php wyglądający następująco:
Kod <?php session_start(); if (!isset($_SESSION["haslo"])){ header("Location: Admin.php"); exit(); } ?> <?php foreach ($_POST['Adres'] as $zrodla) { $zrodla .= '<a href="'.$_POST['Adres'].'" target="_blank">'.$_POST['zrodlo'].'</a>'; } $data = date("d.m.Y H:i:s"); if(!empty($_POST['tytul']) && !empty($_POST['tresc']) && !empty($_POST['zrodlo'])) { $staraTresc = file_get_contents("news.txt"); $open = fopen("news.txt", "w"); $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"><img src="'.$_POST['obrazek'].'" alt="">'.$_POST['tresc'].'</p> Źródła: '.$zrodla.' </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> '; $save .= $staraTresc; 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"> <script type="text/javascript"> function dodaj_terek(kontener){ var znacznik = document.createElement('tr'); var kontener = document.getElementById(kontener); } function dodaj_tedek(kontener){ var znacznik = document.createElement('td'); znacznik.setAttribute('colspan', '2'); var kontener = document.getElementById(kontener); kontener.appendChild(znacznik); } function dodaj_Adres(kontener){ var znacznik = document.createElement('input'); znacznik.setAttribute('type', 'text'); znacznik.setAttribute('name', 'Adres[]'); znacznik.setAttribute('value', 'Adres'); var kontener = document.getElementById(kontener); kontener.appendChild(znacznik); } function dodaj_Nazwe(kontener){ var znacznik = document.createElement('input'); znacznik.setAttribute('type', 'text'); znacznik.setAttribute('name', 'zrodlo[]'); znacznik.setAttribute('value', 'Nazwa'); var kontener = document.getElementById(kontener); kontener.appendChild(znacznik); } </script> </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']) && empty($_POST['zrodlo'])) { echo 'Dodaj Artykuł'; 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">Obrazek:</td><td><input type="text" name="obrazek"></td></tr> <tr><td class="text" valign="top">Treść:</td><td><textarea cols="50" rows="10" type="text" name="tresc"></textarea></td></tr> <tr><td class="text" clospan="2">Źródła:</td></tr> <tr><td id="pliki" colspan="2"><input type="text" name="Adres[]" value="Adres"><input type="text" name="zrodlo[]" value="Nazwa"></td></tr> <tr><td valign="top"><input type="button" value="Dodaj Pole" onclick="dodaj_terek(\'pliki\');dodaj_tedek(\'pliki\'); dodaj_Adres(\'pliki\'); dodaj_Nazwe(\'pliki\');" /></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">Obrazek:</td><td><input type="text" name="obrazek"></td></tr> <tr><td class="text" valign="top">Treść:</td><td><textarea cols="50" rows="10" type="text" name="tresc"></textarea></td></tr> <tr><td class="text" clospan="2">Źródła:</td></tr> <tr><td id="pliki" colspan="2"><input type="text" name="Adres[]" value="Adres"><input type="text" name="zrodlo[]" value="Nazwa"></td></tr> <tr><td valign="top"><input type="button" value="Dodaj Pole" onclick="dodaj_terek(\'pliki\');dodaj_tedek(\'pliki\'); dodaj_Adres(\'pliki\'); dodaj_Nazwe(\'pliki\');" /></td></tr> <tr><td valign="top" colspan="2"><input type="submit" name="submit" value="Dodaj"></td></tr> </table> </form>'; } ?> </td> </tr> </table> <?php $open = fopen("news.txt", "r"); while(!feof($open)){ echo fgets($open, 4096); } fclose($open); ?> <?php include("stopka.php"); ?> To w efekcie daje: Cytat Warning: Invalid argument supplied for foreach() in C:\Documents and Settings\Julek\Moje dokumenty\HTML\Witryna\dodaj.php on line 9 na początku dokumentu a jak się wprowadzi dane do $_POST['Adres'] i $_POST['zrodlo'] to w efekcie zapisuje tak:Kod Źródła: Adres<a href="Array" target="_blank">Array</a>
|
|
|
![]()
Post
#27
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Warning: Invalid argument supplied for foreach() in C:\Documents and Settings\Julek\Moje dokumenty\HTML\Witryna\dodaj.php on line 9 Wniosek: NIE CZYTAŁEŚ, jak się definiuje foreach" title="Zobacz w manualu PHP" target="_manual. Teraz porównaj sobie moją deklarację z tą, której użyłeś w swoim kodzie. Pierwszym argumentem powinna być TABLICA, a $_POST['Adres'] nią NIE JEST. |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, no przecież, zapomniałęm o tym bo tamten artuk kazał tak napisać (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) , to myślałem, ze ok, teraz tylko mi podpowiedzjak powinienem zdefiniować tą tablicę, wiesz jaki efekt chcę uzyskać, więc powinienem zrobić to tak:
Kod $tablica = array($_POST['Adres']) czy tak?: Kod $tablica = array($_POST['Adres'], $_POST['zrodlo']) Tyle chyba mi podpowiesz?? A może żadne z nich nic mi nie da do osiągnięcia celu? |
|
|
![]()
Post
#29
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Mhmm, nie tu był problem. Masz w generowanym formularzu dwa pola nazwane praktycznie tak samo. Jedno adres[], a drugie adres. To drugie nadpisuje zawartość pierwszego.
|
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Ok poprawiłem z Adres[] na Adres tylko powiedz, jak tą tablicę zrobić w sposób 1 czy 2?
|
|
|
![]()
Post
#31
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Jeśli chcesz mieć tablicę, to musisz dać Adres[]. Inaczej będzie string.
|
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Ok dam Adres[], tylko proszę odpowiedz wreszcie którą mam zastosować heh (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#33
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Przeczytaj cały wątek jeszcze raz... Chcesz przejść przez całą tablicę $_POST['Adres'], napisaliśmy, której konstrukcji użyć.
|
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Ok, tylko wyjaśnij o co chodziło ze słowami "chcesz przejść całą tablicę" jakoś tego nie zrozumiałem ;p
|
|
|
![]()
Post
#35
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Przejść to tablicy to znaczy iterować ją pętlą co pozwala na dostęp do każdego elementu tablicy.
|
|
|
![]()
Post
#36
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
;( Nie no kurcze nie może mi wyjść, spróbowałem z na 1sposób, nie spróbowałem na 2 sposób też nie, już totalnie nie mam pomysłu o foreach jeszcze raz przeczytałem, nic, ten temat równiej przewertowałem, może przystaniesz na propozycję?: Udzielisz mi małej, naprawdę drobnej podpowiedzi? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#37
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
no dobra
i tyle w tym temacie. Czytaj uważnie manual Ten post edytował artur_dziocha 29.11.2008, 15:37:25 |
|
|
![]()
Post
#38
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
artur, ty to masz wyczucie chwili, właśnie na to wpadłem serio, i miałem najpierw wypróbować, a potem napisać, patrzę a ty piszesz coś prawie identycznego (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ale dzięki, właśnie próbuję
edit: niestety w efekcie wychodzi to: Cytat Źródła: <a href="N" target="_blank">N</a><a href="" target="_blank"></a><a href="" target="_blank"></a>
Ten post edytował Rookie 29.11.2008, 15:44:04 |
|
|
![]()
Post
#39
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Na obie tablice tak nie zrobisz; nie ma takich kluczy w tej zmiennej. Daj sobie przed pętlą var_dump($zrodlo) i zobacz, gdzie masz te dane. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#40
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Noo... czyli jak nawet tak nie chce pójść, to ja już nie wiem,( mała?, maciupeńka podpowiedź??)(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) PLS
Ten post edytował Rookie 29.11.2008, 15:59:56 |
|
|
![]()
Post
#41
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Napisałem wystarczająco dużo podpowiedzi. Tobie przydałby się kurs PHP bądź lektura działu "Tablice" w manualu. To nie helpdesk, włóż trochę własnego wysiłku.
Ten post edytował erix 29.11.2008, 16:03:42 |
|
|
![]()
Post
#42
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
erix miałes racje z tablicami:)
mój nastepny błąd ale już znalazłem rozwiązanie:) Rookie poczytaj o tablicach:) Pozdrawiam |
|
|
![]()
Post
#43
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Poczytam z pewnością, ale pomóżcie mi w jednym: Napiszę wam skrypt przetwarzający dane i zapisujący je do pliku i skrypt z formularzem, wy powiedzcie tylko, gdzie leży błąd a ja postaram się sam dojść i go naprawić. Skrypt przetwarzający dane i zapisujący je do pliku:
Kod <?php $zrodl = array ($_POST[Adres], $_POST[zrodlo]); foreach ($zrodl as $klucz) { $zrodla .= '<a href="'.$klucz[0].'" target="_blank">'.$klucz[1].'</a>'; } $data = date("d.m.Y H:i:s"); if(!empty($_POST['tytul']) && !empty($_POST['tresc']) && !empty($_POST['zrodlo'])) { $staraTresc = file_get_contents("news.txt"); $open = fopen("news.txt", "w"); $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"><img src="'.$_POST['obrazek'].'" alt="">'.$_POST['tresc'].'</p> Źródła: '.$zrodla.' </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> '; $save .= $staraTresc; fwrite($open, $save); fclose($open); $ok = "News Dodano"; } else { $ok = "Wypełnij wszystkie pola"; } ?> A oto skrypt z formularzem osadzony w tej samej stronie: dodaj.php: Kod <?php if(empty($_POST['tytul']) && empty($_POST['tresc']) && empty($_POST['zrodlo'])) { echo 'Dodaj Artykuł'; 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">Obrazek:</td><td><input type="text" name="obrazek"></td></tr> <tr><td class="text" valign="top">Treść:</td><td><textarea cols="50" rows="10" type="text" name="tresc"></textarea></td></tr> <tr><td class="text" clospan="2">Źródła:</td></tr> <tr><td id="pliki" colspan="2"><input type="text" name="Adres[]" value="Adres"><input type="text" name="zrodlo[]" value="Nazwa"></td></tr> <tr><td valign="top"><input type="button" value="Dodaj Pole" onclick="dodaj_terek(\'pliki\');dodaj_tedek(\'pliki\'); dodaj_Adres(\'pliki\'); dodaj_Nazwe(\'pliki\');" /></td></tr> <tr><td valign="top" colspan="2"><input type="submit" name="submit" value="Dodaj Artykuł"></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">Obrazek:</td><td><input type="text" name="obrazek"></td></tr> <tr><td class="text" valign="top">Treść:</td><td><textarea cols="50" rows="10" type="text" name="tresc"></textarea></td></tr> <tr><td class="text" clospan="2">Źródła:</td></tr> <tr><td id="pliki" colspan="2"><input type="text" name="Adres[]" value="Adres"><input type="text" name="zrodlo[]" value="Nazwa"></td></tr> <tr><td valign="top"><input type="button" value="Dodaj Pole" onclick="dodaj_terek(\'pliki\');dodaj_tedek(\'pliki\'); dodaj_Adres(\'pliki\'); dodaj_Nazwe(\'pliki\');" /></td></tr> <tr><td valign="top" colspan="2"><input type="submit" name="submit" value="Dodaj Artykuł"></td></tr> </table> </form>'; } ?> A to morze się przydać, to co napisałem w tej javie: Kod <script type="text/javascript">
function dodaj_terek(kontener){ var znacznik = document.createElement('tr'); var kontener = document.getElementById(kontener); } function dodaj_tedek(kontener){ var znacznik = document.createElement('td'); znacznik.setAttribute('colspan', '2'); var kontener = document.getElementById(kontener); kontener.appendChild(znacznik); } function dodaj_Adres(kontener){ var znacznik = document.createElement('input'); znacznik.setAttribute('type', 'text'); znacznik.setAttribute('name', 'Adres[]'); znacznik.setAttribute('value', 'Adres'); var kontener = document.getElementById(kontener); kontener.appendChild(znacznik); } function dodaj_Nazwe(kontener){ var znacznik = document.createElement('input'); znacznik.setAttribute('type', 'text'); znacznik.setAttribute('name', 'zrodlo[]'); znacznik.setAttribute('value', 'Nazwa'); var kontener = document.getElementById(kontener); kontener.appendChild(znacznik); } </script> Ten post edytował Rookie 29.11.2008, 16:59:23 |
|
|
![]()
Post
#44
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
podpowiedz
przed petla foreach zrób var_dump($zrod1); i zastanów sie jak połączyć ze sobą dane z tablic Pozdrawiam Ten post edytował artur_dziocha 29.11.2008, 17:34:07 |
|
|
![]()
Post
#45
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Wyszło cuś takiego:
Cytat array(2) { [0]=> NULL [1]=> NULL } Jak to można zrobić, żeby nie było NULL, o co w tym chodzi, z mojego punktu widzenia, wszystko jest logiczne w tym co mam napisane (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) edit: Nie mam pojęcia, gdy jest tylko 1 pole do wpisania źródła, to jest tak: Cytat array(2) { [0]=> array(1) { [0]=> string(5) "Adres" } [1]=> array(1) { [0]=> string(5) "Nazwa" } } Gdy są 2 pola źródła, to jest tak: Cytat array(2) { [0]=> array(1) { [0]=> string(5) "Adres" } [1]=> array(2) { [0]=> string(5) "Nazwa" [1]=> string(5) "Nazwa" } } A gdy więcej to jest analogicznie do 2, czyli dodaje do tablicy tylko Nazwę, a Adresu już nie. No i oczywiście generuje przy jednym wpisie coś takiego: Kod Źródła: <a href="Adres" target="_blank"></a><a href="Nazwa" target="_blank"></a> Przy 2 wpisach: Kod Źródła: <a href="Adres" target="_blank"></a><a href="Nazwa" target="_blank">Nazwa</a> A przy większej ilości tak samo jak w drugim przypadku. Podałem wam kody "dodaj.php", więc proszę o odpowiedź: Gdzie jest błąd? ODPOWIE KTOŚ W CZYM MAM BŁĄD?? proszę. Ten post edytował Rookie 30.11.2008, 16:33:29 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 01:37 |