Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Pozdrowienia w marque
Forum PHP.pl > Forum > Przedszkole
Jerzy
Witam, otóż zna ktoś jakiś skrypt pozdrowień, które wyswietlały by się w górnej blece w marque czyli były przewijane.
Na stronie http://www.kibicekszo.com jest to u góry, chodzi mi o coś podobnego.
Darti
Zajrzyj w kod źródłowy tamtej stronki i wszystko stanie się jasne
Jerzy
Tyle że w źródle jest kod html, a to jest skrypt php, więc nic z tego nie będzie...
Chciałęm spróbować z shoutboxem, lub księga Gości, taki motyw że pojawiały by się odpowiedzi w marque w jednej linii, lecz taki obeznany w php, jeszcze nie jestem.
Darti
No to co ze to skrypt php ?
spróbuj czegoś takiego :
Kod
<?php
echo 'text z php<br>';
?>

text z poza php, mogę tutaj wstawiać czysty html (np tekst <i>pochylony</i>), funkcje php nie dzialaja <br>

<?php
echo 'znowu text php';
?>
phpion
Cytat(Jerzy @ 20.10.2007, 14:45:45 ) *
Tyle że w źródle jest kod html, a to jest skrypt php, więc nic z tego nie będzie...

Faktycznie, PHP całą gębą...
  1. <marquee behavior="scroll" direction="left" width="510" scrollamount="2" scrolldelay="20" onMouseOver='this.stop()'
  2. onMouseOut='this.start()'>
  3. <B>Emigracja</b> | Dla:</B> KSZO- Pozdrowienia dla KSZO i Alitu Ożarów <img src=theme/kszo3/images/herb.jpg>
  4.  
  5. <B>Steve</b> | Dla:</B> Kibiców- Pozdrawamiam was ziomi za doping <img src=theme/kszo3/images/herb.jpg>
  6.  
  7. <B>JUBILER82</b> | Dla:</B> KSZO- POZDAWIAM braci z kibicowskiego szlaku LECH-KSZO 4 EVER!!!! <img src=theme/kszo3/images/herb.jpg>
  8.  
  9. <B>KAROLINKA</b> | Dla:</B> Kibiców KSZO- POZDROWIENIA DLA WSZYSTKICH KIBICÓW:) <img src=theme/kszo3/images/herb.jpg>
  10.  
  11. <B>KSZO</b> | Dla:</B> ARKA LECH - Pozdro dla wszyskich kibiców KSZO ARKI LECHA HETMANA i reszty <img src=theme/kszo3/images/herb.jpg>
  12.  
  13. <B>Tomika </b> | Dla:</B> Bilego i Krisa - Wielkie pozdro trzymajcie się chłopaki <img src=theme/kszo3/images/herb.jpg>
  14.  
  15. <B>Tomasa</b> | Dla:</B> KSZO- Pozdro z Łańcuta dla Świętokrzyskich Rozbójników <img src=theme/kszo3/images/herb.jpg>
  16.  
  17. <B>Fudzi</b> | Dla:</B> Wszystkich- Pozdrowienia <img src=theme/kszo3/images/herb.jpg>
  18.  
  19. <B>Sławka i Felka</b> | Dla:</B> Całego Zespołu- Pozdrawiamy KSZO ARKA LECHA ! Cały Zespół.. Tomka Żelazowskiego :):) pozdro <img src=theme/kszo3/images/herb.jpg>
  20.  
  21. <B>,,TWOJA,, taxi </b> | Dla:</B> dla KSZO - Pozdrowienia dla Tomka Żelazowskiego- Pamiętamy! I nigdy nie zapomnimy:) Zdrowia <img src=theme/kszo3/images/herb.jpg>
  22. </marquee>

a pomiędzy <marquee> wczytaj dane używając np. file_get_contents" title="Zobacz w manualu PHP" target="_manual lub file" title="Zobacz w manualu PHP" target="_manual
matix
Gadacie takie głupoty, że już nie wytrzymałem. Pobierasz np. 5 rekordów pozdrowień z pliku txt lub bazy danych i.. :

  1. <?
  2. $aArray = array(
  3.  1 => 
  4.    array ( 
  5.           'id' => 1,
  6.           'pozdro' => 'pozdrawiam macka'
  7.    )
  8. ); // prosty array
  9.  
  10. echo '<marquee>'; // rozpoczynasz tekst plywajacy
  11.  
  12. foreach ($aArray as $sWpis)
  13. echo $sWpis[pozdro];
  14.  
  15. echo '</marquee>'; // koniec
  16. ?>


Pozdro smile.gif
phpion
Fajnie matix, że zauważyłeś jakie głupoty gadamy i że postanowiłeś pokazać nam swój PRO kod. Jednak można się przyczepić do dwóch spraw:

1.
  1. <?php
  2. $sWpis
  3. ?>

chyba powinno być
  1. <?php
  2. $aWpis
  3. ?>

skoro już bawisz się w przedrostki wskazujące na typ danych.

2.
  1. <?php
  2. echo $sWpis[pozdro];
  3. ?>

indeksy tablicy asocjacyjnej piszemy jako stringi, a nie stałe, więc poprawniej jest
  1. <?php
  2. echo $sWpis['pozdro'];
  3. ?>


Poza tym po co budujesz tablicę $aArray skoro i tak dane muszą być pobrane z zewnętrzengo źródła?
Jerzy
Chodziło mi włąsnie tylko o to jak zrobić kod php, pozdrowien po wysłaniu których odpowiedzi pojawiały by się w danej formie na górze storny w marqee, ten kod marqee to zrobiłem, tylko nie wiem wciąż jak wykonać formularz w php, i jaką funkje wstawić w te marqee by pjawiały się te na
isy.
Może jetem trochę nie kumaty weług was, lecz dla człowieka który zacyzna swoją przygode z php, jest to ciemna magia.

Tak więc jak ktoś ma sporo cierpliwości, niech mi napisze, jaki kod jest potrzebny by wykonać taki formularz, nastepnie jaki kod wstawic w tą funkcje marquee, by pjawiał się tam kod, (<b>Nick</b> - tekst | <b>Nick</b> - tekst).

Pozdraiwam,
bartekmedon
Jerzy napisz może dokładnie jakie chcesz informacje wstawić do tego marquee - czy to dane z bazy danych czy z pliku jakiegoś questionmark.gif Napisz konkretnie to na pewno dostaniesz rozwiązanie
Jerzy
Może żeczywiście za bardzo chaotycznie to rozpisuję, jeśli tak to przepraszam.

Otóż, chodzi mi dokłądnie oto aby ktoś mi wytłumaczył jak zrobić Formularz w php. a w nim:
- Od kogo [ncik] (tutaj pole do wpisu)
- Treś pozdrowień (pole do wpisu)
Wyślij

Następnie przesłany formularz przesyłał by te dane do skryptu php, który by znajdował się w Tabeli która znajduje się pod logiem.
Chciałbym aby treść która pojawiała się w marque, miała nastepujący układ.  <b>Nick</b> - treść pozdrowień | <b>Nick</b> - trweść pozdrowień, w marque pojawiały by się max 8 pozdrowień, Najlepiej by skrypt używał bazy tekstowej, ,a nie mysql, choć mysql też może być.

No i to wszystko chyba.
Pozdrawiam.
bartekmedon
A więc tak zakładasz sobie w bazie danych tabelę na przykład pozdrowienia - a w niej 4 pola :
- id (typ int, auto increment, podstawowy)
- data ( typ datetime)
- nick (typ var 255)
- tresc (typ text)

Z tym myślę sobie poradzisz łatwo poprzez phpmyadmin .

Następnie formularz dodawania pozdrowień :
  1. <?php
  2. mysql_connect("host","user","haslo") or die ("Nie można połączyć się z MySQL");
  3. mysql_select_db("nazwabazy") or die ("Nie można się połączyć z bazą nazwabazy");
  4. $nick = addslashes(htmlspecialchars($_POST['nick']));
  5. $tresc = addslashes(htmlspecialchars($_POST['tresc']));
  6. if ( $nick && $tresc )
  7. {
  8. $query = "INSERT INTO pozdrowienia (data,nick,tresc) VALUES ( now(),'$nick','$tresc')";
  9. $wynik = mysql_query($query);
  10. if ($wynik)
  11. {
  12. print '<b>Poprawnie przesłano pozdrowienie!</b>';
  13. }
  14. else
  15. {
  16. print '<b>Wystąpił błąd podczas przesyłania pozdrowienia!</b>';
  17. }
  18. }
  19. else
  20. {
  21. print '<FORM METHOD="POST"><TABLE>
  22. <TR><TD>Podaj nick :</TD><TD><input type="text" name="nick"></TD></TR>
  23. <TR><TD>Pozdrowienie :</TD><TD><textarea name="tresc"></textarea></TD></TR></TABLE>
  24. <input type="submit" Value="Wyślij"></FORM>';
  25. }
  26. ?>


No i wyświetlanie :
  1. <?php
  2. mysql_connect("host","user","haslo") or die ("Nie można połączyć się z MySQL");
  3. mysql_select_db("nazwabazy") or die ("Nie można się połączyć z bazą nazwabazy");
  4. $query = "SELECT nick, tresc FROM pozdrowienia ORDER BY data DESC LIMIT 8";
  5. $wynik = mysql_query($query);
  6. print '<marquee>';
  7. while ($rekord = mysql_fetch_assoc($wynik))
  8. {
  9. $nick = stripslashes($rekord['nick']);
  10. $tresc = stripslashes($rekord['tresc']);
  11. print "<b>$nick</b> - $tresc |";
  12. }
  13. print '</marquee>';
  14. ?>


No mam nadzieję, że nie strzeliłem żadnego byka bo już zaspany jestem smile.gif
Jerzy
bartekmedon, bardzo dziękuje za pomoc. Tylko mam problem z tą bazą, otóż zrobiłem tak jak mówisz, lecz gdy klikam Zachowaj, to wyskakuje mi okienko z wiadomością ( <IP> i poniżej To nie jest liczba)
Poza tym mógłbyś dokładnie napisać gdzie mam wstawić w (id [podstawowy]) bo wstawiłem do do komentarze.
Też jeśli chodzi o to (nick [var 255]) tego nie ma, jest tylko (VARCHAR i VARBINARY).

PS. Przepraszam za ortografię, i błędy lecz klawiatura ma już swoje lata, i gdy szybciej piszę, po prostu nie nadąża i klawisze nie działają. wstydnis.gif    
W poniedziałek idę kupić nową, lecz narazie muszę męczyć się z tą dry.gif
bartekmedon
Eee no sorki troszkę to może napisałem za "trudno" jak dla początkującego więc przedstawiam Ci kod SQL do stworzenia takiej tabeli wraz z polami :

  1. CREATE TABLE `pozdrowienia` (
  2. `id` INT NOT NULL AUTO_INCREMENT ,
  3. `data` DATETIME NOT NULL ,
  4. `nick` VARCHAR( 255 ) NOT NULL ,
  5. `tresc` TEXT NOT NULL ,
  6. PRIMARY KEY ( `id` )
  7. );


Ten właśnie kod sobie wykonaj na bazie danych w phpmyadmin ( jest taka pozycja tam pisze SQL )
Jerzy
Mam znów kolejny problem, otóż używam cms'a PHP-Fusion i gdy chce wstawić twój kod skryptu do wyświetlania pozdrowienia w plik theme.php, w kod:

CODE

echo "<table cellpadding='0' cellspacing='0' width='100%' align=center>\n<tr>
<td class='pozdrowienia'>
tutaj ma być ten skrypt, co wyswietla pozdrowienia
</td>
</tr>
</table>\n"


Zmieniam wszsytkie " na ' tak jak to się powinno, próbowałem też kilku innych sposobów, lecz nic. Mam nadzieję że zrozumiesz, lecz dopiero zaczynam przygodę z php. Do tej pory wystarczał mi HTML, cóż teraz sam html to za mało by zbudować jaką kolwiek stronę.
bartekmedon
No więc :

  1. <?php
  2. echo "<table cellpadding='0' cellspacing='0' width='100%' align=center>\n<tr>
  3. <td class='pozdrowienia'>";
  4. // kod wyświetlania
  5. mysql_connect("host","user","haslo") or die ("Nie można połączyć się z MySQL");
  6. mysql_select_db("nazwabazy") or die ("Nie można się połączyć z bazą nazwabazy");
  7. $query = "SELECT nick, tresc FROM pozdrowienia ORDER BY data DESC LIMIT 8";
  8. $wynik = mysql_query($query);
  9. print '<marquee>';
  10. while ($rekord = mysql_fetch_assoc($wynik))
  11. {
  12. $nick = stripslashes($rekord['nick']);
  13. $tresc = stripslashes($rekord['tresc']);
  14. print "<b>$nick</b> - $tresc |";
  15. }
  16. print '</marquee>';
  17. // koniec kodu
  18. echo '
  19. </td>
  20. </tr>
  21. </table>\n';
  22. ?>


Aaaa no i generalnie jeżeli by to dalej nie działało - żadnych rezultatów na ekranie to już zwróć się do kogoś kto siedzi w PHP Fusionie, tam często trzeba troszkę zmodyfikować parę rzeczy, pliki itp i tutaj już ja Ci nie pomogę bo nie wiele z tym CMSem działałem. Daj znać jak Ci poszło
Jerzy
Otóż twój kod działa, musiałem tylko usunąć pierwszą linię i ostatnią, czyli: (<?php i ?>).

Teraz tak, dodałem do kodu kilka gadżetów, lecz mam problem z ich wstawieniem. Poniżej daję kod tabelki:

CODE

echo "<table cellpadding='0' cellspacing='0' width='938' align=center>\n<tr>
<td class='pozdrowienia'>
Pozdrowienia:
<marquee behavior='scroll' direction='left' width='760' scrollamount='2' scrolldelay='16'  onMouseOver='this.stop()' onMouseOut='this.start()'>
miejsce skryptu <<<
</marquee>
</td>
<td class='pozdrowienia' width='260'>
&nbsp;&nbsp;<a href='http://localhost/swlserwis_theme/pozdrowienia.php'><img src='images/pozdrow.jpg' border='0'></a>
</td>
</tr>
</table>\n";


I pytanie, powiecmy ktoś będzie spamował, da się jakoś dodać że użytkownik który wysłał już pozdrowienie, drugie może wysłać dopiero za 30 min. I jeszcze chciałbym wiedzieć jak usuwać pozdrowienia? w bazie mysql? (chcę wiedzieć, ponieważ czasem ktoś może używać wulgaryzmów, i przydało by się takie pozdrowienie usunąć)
Pozdrawiam.
bartekmedon
Limit hmm na przykład poprze COOKIES można ustawić limit wysyłanych pozdro, lub też za pomocą sesji co jednak nie koniecznie jest dobrym pomysłem. Łato to zrobić kiedy Twój serwis korzysta z systemu użytkowników wtedy każdy ma swój limit.
Co do usuwania - owszem możesz poprze phpmyadmin albo mozesz napisać sobie do tego skrypt - odnośnie usuwania poczytaj tutaj http://soundpage.info/kurs_php/kurs/95MySQ...el_usuwanie.php
Jerzy
ok, tylko teraz pozsotaje problem z wyświetlaniem tego kodu.

Poniżej daje kod, kóry aktualnie mam:

CODE

echo "<table cellpadding='0' cellspacing='0' width='938' align=center>\n<tr>
<td class='pozdrowienia'>
// kod wyświetlania
mysql_connect("host","nazwa","haslo") or die ("Nie można połączyć się z MySQL");
mysql_select_db("nazwabazy") or die ("Nie można się połączyć z bazą nazwabazy");
$query = "SELECT nick, tresc FROM pozdrowienia ORDER BY data DESC LIMIT 8";
$wynik = mysql_query($query);
print '<marquee behavior='scroll' direction='left' width='760' scrollamount='2' scrolldelay='16' onMouseOver='this.stop()' onMouseOut='this.start()'>';
while ($rekord = mysql_fetch_assoc($wynik))
{
$nick = stripslashes($rekord['nick']);
$tresc = stripslashes($rekord['tresc']);
print "<b>$nick</b> - $tresc |";
}
print '</marquee>';
// koniec kodu
echo '
</td>
<td class='pozdrowienia' width='260'>
&nbsp;&nbsp;<a href='http://localhost/theme_test/pozdrowienia.php'><img src='images/pozdrow.jpg' border='0'></a>
</td>
</tr>
</table>\n";


Niestety wyświetla mi się nastepujący błąd:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in S:\Server Linux\server oshnet\www\testowa\themes\theme_test\theme.php on line 28

Wiesz jak to naprawić?
bartekmedon
  1. <?php
  2. echo "<table cellpadding=0 cellspacing=0 width=938 align=center>\n<tr>
  3. <td class=pozdrowienia>";
  4. // kod wyświetlania
  5. mysql_connect("host","nazwa","haslo") or die ("Nie można połączyć się z MySQL");
  6. mysql_select_db("nazwabazy") or die ("Nie można się połączyć z bazą nazwabazy");
  7. $query = "SELECT nick, tresc FROM pozdrowienia ORDER BY data DESC LIMIT 8";
  8. $wynik = mysql_query($query);
  9. print '<marquee behavior="scroll" direction="left" width="760" scrollamount="2" scrolldelay="16" onMouseOver="this.stop()" onMouseOut="his.start()">';
  10. while ($rekord = mysql_fetch_assoc($wynik))
  11. {
  12. $nick = stripslashes($rekord['nick']);
  13. $tresc = stripslashes($rekord['tresc']);
  14. print "<b>$nick</b> - $tresc |";
  15. }
  16. print '</marquee>';
  17. // koniec kodu
  18. echo '
  19. </td>
  20. <td class=pozdrowienia width=260>
  21. &nbsp;&nbsp;<a href="http://localhost/theme_test/pozdrowienia.php"><img src="images/pozdrow.jpg" border=0/></a>
  22. </td>
  23. </tr>
  24. </table>\n';
  25. ?>



NIE MOŻESZ otwierać instrukcji echo lub print apostrofem ' a następnie sobie swobodnie używać wewnątrz również apostrofów - wtedy używasz " . Jeżeli echo lub print otwierasz poprzez " - wewnątrz poprzedzasz " backslashem czyli na przykład :
  1. <?php
  2. echo "<a href=\"plik.php\">Nazwa</a>";
  3. ?>
AdiQ
sciana.gif Fajny skrypcik smile.gif tylko ponieważ niektórzy się przez te pozdrowienia wyzywają i besztają, proszę was o skrypcik który przed wysłaniem pozdro do bazy musi przejść przez moderacje (z opcją ON i OFF,czyli włączamy modernizacje i musimy potwierdzac wysłanie do bazy, lub wyłączamy modernizację pozdrowienia idą odrazu do bazy)

Będe ogromnie wdzięczny! worriedsmiley.gif
Spirit86
dodajesz w bazie danych kolumne status VARCHAR (1) np.
zmieniasz wyświetlanie
  1. <?php
  2. mysql_connect("host","user","haslo") or die ("Nie można połączyć się z MySQL");
  3. mysql_select_db("nazwabazy") or die ("Nie można się połączyć z bazą nazwabazy");
  4. $query = "SELECT nick, tresc FROM pozdrowienia WHERE status=1 ORDER BY data DESC LIMIT 8";
  5. $wynik = mysql_query($query);
  6. print '<marquee>';
  7. while ($rekord = mysql_fetch_assoc($wynik))
  8. {
  9. $nick = stripslashes($rekord['nick']);
  10. $tresc = stripslashes($rekord['tresc']);
  11. print "<b>$nick</b> - $tresc |";
  12. }
  13. print '</marquee>';
  14. ?>


dodawanie:

  1. <?php
  2. mysql_connect("host","user","haslo") or die ("Nie można połączyć się z MySQL");
  3. mysql_select_db("nazwabazy") or die ("Nie można się połączyć z bazą nazwabazy");
  4. $nick = addslashes(htmlspecialchars($_POST['nick']));
  5. $tresc = addslashes(htmlspecialchars($_POST['tresc']));
  6. if ( $nick && $tresc )
  7. {
  8. $query = "INSERT INTO pozdrowienia (data,nick,tresc, status) VALUES ( now(),'$nick','$tresc', 0)";
  9. $wynik = mysql_query($query);
  10. if ($wynik)
  11. {
  12. print '<b>Poprawnie przesłano pozdrowienie!</b>';
  13. }
  14. else
  15. {
  16. print '<b>Wystąpił błąd podczas przesyłania pozdrowienia!</b>';
  17. }
  18. }
  19. else
  20. {
  21. print '<FORM METHOD="POST"><TABLE>
  22. <TR><TD>Podaj nick :</TD><TD><input type="text" name="nick"></TD></TR>
  23. <TR><TD>Pozdrowienie :</TD><TD><textarea name="tresc"></textarea></TD></TR></TABLE>
  24. <input type="submit" Value="Wyślij"></FORM>';
  25. }
  26. ?>


A teraz trzeba by tu napisać administrację tym, a za darmo tego robić nie będę. Możesz jednak skorzystać z phpMyAdmin i wpisać:

  1. SELECT nick, tresc FROM pozdrowienia WHERE STATUS=0 ORDER BY DATA DESC


i ręcznie edytować 0 na 1 lub skasować.
AdiQ
Cytat(Spirit86 @ 12.10.2008, 12:23:09 ) *
dodajesz w bazie danych kolumne status VARCHAR (1) np.
zmieniasz wyświetlanie
  1. <?php
  2. mysql_connect("host","user","haslo") or die ("Nie można połączyć się z MySQL");
  3. mysql_select_db("nazwabazy") or die ("Nie można się połączyć z bazą nazwabazy");
  4. $query = "SELECT nick, tresc FROM pozdrowienia WHERE status=1 ORDER BY data DESC LIMIT 8";
  5. $wynik = mysql_query($query);
  6. print '<marquee>';
  7. while ($rekord = mysql_fetch_assoc($wynik))
  8. {
  9. $nick = stripslashes($rekord['nick']);
  10. $tresc = stripslashes($rekord['tresc']);
  11. print "<b>$nick</b> - $tresc |";
  12. }
  13. print '</marquee>';
  14. ?>


dodawanie:

  1. <?php
  2. mysql_connect("host","user","haslo") or die ("Nie można połączyć się z MySQL");
  3. mysql_select_db("nazwabazy") or die ("Nie można się połączyć z bazą nazwabazy");
  4. $nick = addslashes(htmlspecialchars($_POST['nick']));
  5. $tresc = addslashes(htmlspecialchars($_POST['tresc']));
  6. if ( $nick && $tresc )
  7. {
  8. $query = "INSERT INTO pozdrowienia (data,nick,tresc, status) VALUES ( now(),'$nick','$tresc', 0)";
  9. $wynik = mysql_query($query);
  10. if ($wynik)
  11. {
  12. print '<b>Poprawnie przesłano pozdrowienie!</b>';
  13. }
  14. else
  15. {
  16. print '<b>Wystąpił błąd podczas przesyłania pozdrowienia!</b>';
  17. }
  18. }
  19. else
  20. {
  21. print '<FORM METHOD="POST"><TABLE>
  22. <TR><TD>Podaj nick :</TD><TD><input type="text" name="nick"></TD></TR>
  23. <TR><TD>Pozdrowienie :</TD><TD><textarea name="tresc"></textarea></TD></TR></TABLE>
  24. <input type="submit" Value="Wyślij"></FORM>';
  25. }
  26. ?>


A teraz trzeba by tu napisać administrację tym, a za darmo tego robić nie będę. Możesz jednak skorzystać z phpMyAdmin i wpisać:

  1. SELECT nick, tresc FROM pozdrowienia WHERE STATUS=0 ORDER BY DATA DESC


i ręcznie edytować 0 na 1 lub skasować.

Już sobie napisałem mały skrypt do kasowania ale i tak potrzebuję tego panelu jeżeli ktoś chciał by pomóc z dobrej woli to czekam smile.gif
Ociu
Dosyć.
Dostałeś podpowiedzi do tego aby móc tworzyć bylejaki kurs i dopisać sobie samemu. Nie jesteśmy od pisania za kogoś, my tylko pomagamy aby samemu sobie napisać!
Zamykam.
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.