Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ksiega Gosci
Forum PHP.pl > Forum > Gotowe rozwiązania
MuMuMilk
Witam biggrin.gif, jestem nowy i mam maly problem... jak zrobic aby w tej ksiedze gosci mozna bylo wstawiac emoty (czy jak to sie pisze ;p) questionmark.gif?

[php:1:2761cc1bc4]<?php

$txt=fopen("guestbook.gb","r");

$gbfile="";
while($line=fgets($txt,3000))
$gbfile.=$line;

//name
if(isset($name))
if($name==""){
$errorfarbe_1 = "red";
$error = "fehler";
}
else{
$errorfarbe_1 = "black";
}

//comment
if(isset($comment))
if($comment==""){
$errorfarbe_2 = "red";
$error = "fehler";
}
else{
$errorfarbe_2 = "black";
}

if(!$aktion){
$aktion = "eingabe";
}

if($error=="fehler"||$aktion=="eingabe"){
?>


<p align="center"><strong>Spis </strong></p>
<form method="post" action="<? echo $PHP_SELF;?>">
<div align="left"><strong>Nick</strong><br />
<input type="text" name="name" size="30" <? if(isset($name)) echo
"value='$name'";?> class="eingabe">
<br />
<strong>Mail</strong><br />
<input type="text" name="mail" size="30" class="eingabe">
<br />
<strong>Linkstrong><br />
<input type="text" name="site" size="100" value="http://" class="eingabe">
<br />
<font color="#FFCCCC"><br>
</font><strong>Wpisz:</strong>:<br />
<textarea name="comment" cols="100" rows="10" class="eingabe"><?
if(isset($comment)) echo "$comment";?></textarea>
<br />
<br />
<input type="submit" name="Button" value="Wyslij" class="eingabe">
<input type="Hidden" name="aktion" value="senden" class="eingabe">
<br>
</div>
</form>




<p align="center"><strong>Wpisy:</strong></p>
<p>&nbsp;</p>

<?
echo "<p>$gbfile</p>"
?>
<? }else{

if(isset($name)&&isset($comment)&&isset($mail)&&isset($site))
{
$name=stripslashes(strip_tags($name));
$comment=stripslashes(strip_tags($comment));
$mail=stripslashes(strip_tags($mail));
$site=stripslashes(strip_tags($site));


$gbfile="<b>$name</b> - ".date("m/d/Y")."<br>n<a
href='mailto:$mail'>$mail</a>n"."<br>n<a href='$site'
target='blank'>$site</a>n"."<br>n $comment <br><br>n".$gbfile;
fclose($txt);
$txt=fopen("guestbook.gb","w");
fputs($txt,$gbfile);
}
echo "<p><a href='wpisy.php'>Wpisy</a><br><br> " . $gbfile . "</p>";
fclose($txt);
}


?>[/php:1:2761cc1bc4]
marlowe
Eh. Chodzi Ci o takie rozwiązanie jak na tym forum (lista emotek do kliknięcia etc.)? Jeśli tak to przede wszystkim wymaga to JavaScript (nie to forum), które sprawi, że po kliknięciu pojawi się w tekście np. <usmiech>.
Natomiast zamiana- czy to takiech właśnie oznaczeń czy popularnych znaczków pisanych (np. :p ) na ikonki w tresci wyświetlanej wiadomości to zadanie dla wyrażeń regurarnych, które przetworzą np. wszystkie <usmiech> na <img src="usmiech.gif"> etc.
Słowem- sprawa dość skomplikowana. Jeżeli sobie poradzisz to możesz podpatrzeć rozwiązania na tym forum. No i przeczytać coś o wyrażeniacg reguralnych.
/Nie odniosłem się do tej konkretnej księgi gości bo z tego co widzę to nie ma w niej nic co mogłoby jakoś ułatwiać wprowadzenie emotek.
Pozdrawiam
Bartek
piotrdd2
można zrobić to tak:

w formularzu piszesz np. "Witam i o zdrowie pytam : )"
poniżej przedstawiłem zamianę buziek, na emotikony

[php:1:00172c4779]<?php

$gbfile="<b>$name</b> - ".date("m/d/Y")."<br>n<a
href='mailto:$mail'>$mail</a>n"."<br>n<a href='$site'
target='blank'>$site</a>n"."<br>n $comment <br><br>n".$gbfile;

$gbfile=str_replace(":)", " <img src="icon/usmiech.gif"> ", $gbfile);
$gbfile=str_replace(":-)", " <img src="icon/usmiech.gif"> ", $gbfile);
$gbfile=str_replace(":(", " <img src="icon/smutek.gif"> ", $gbfile);
$gbfile=str_replace(":]", " <img src="icon/krzywy.gif"> ", $gbfile);
$gbfile=str_replace(":p", " <img src="icon/jezyk.gif"> ", $gbfile);
$gbfile=str_replace(":P", " <img src="icon/jezyk.gif"> ", $gbfile);
$gbfile=str_replace(";)", " <img src="icon/oczko.gif"> ", $gbfile);
$gbfile=str_replace(":d", " <img src="icon/dyy.gif"> ", $gbfile);
$gbfile=str_replace(":D", " <img src="icon/dyy.gif"> ", $gbfile);

fclose($txt);
$txt=fopen("guestbook.gb","w");
fputs($txt,$gbfile);

?>[/php:1:00172c4779]
dob
Piotr użyj tablicy dla funkcji str_replace - nie ma sensu uzywac jej kilka razy (wystarzy za argumenty podac tablice)
tiraeth
Więc.. nie ma sensu zapisywać do pliku jakis html'owych znaczników... łatwiej zrobić to przy wyświetlaniu...

[php:1:898d861088]
...ciach...
<p align="center"><strong>Wpisy:</strong></p>
<p>&nbsp;</p>
<?php
// Zamieniamy na emotki
$gbfile=str_replace(":)", " <img src="icon/usmiech.gif"> ", $gbfile);
$gbfile=str_replace(":-)", " <img src="icon/usmiech.gif"> ", $gbfile);
$gbfile=str_replace(":(", " <img src="icon/smutek.gif"> ", $gbfile);
$gbfile=str_replace(":]", " <img src="icon/krzywy.gif"> ", $gbfile);
$gbfile=str_replace(":p", " <img src="icon/jezyk.gif"> ", $gbfile);
$gbfile=str_replace(":P", " <img src="icon/jezyk.gif"> ", $gbfile);
$gbfile=str_replace(";)", " <img src="icon/oczko.gif"> ", $gbfile);
$gbfile=str_replace(":d", " <img src="icon/dyy.gif"> ", $gbfile);
$gbfile=str_replace(":D", " <img src="icon/dyy.gif"> ", $gbfile);

// Wyświetlamy wpisy
echo "<p>$gbfile</p>"
?>
...ciach...[/php:1:898d861088]
dob
Cytat
Więc.. nie ma sensu zapisywać do pliku jakis html'owych znaczników... łatwiej zrobić to przy wyświetlaniu...

Co ty piszesz? Zastanów sie co jest lepsze - uzyc raz tych kilku funkcji i zapisac sobie gotowiec do pliku czy co wyswietlenie strony przetwazac te same dane w kółko
[php:1:6ce0e3a998]<?php
$a1=array(":)", ":-)", ":(", ":]"); //i tak dalej
$a2=array(" <img src="icon/usmiech.gif"> ", " <img src="icon/usmiech.gif"> ", " <img src="icon/smutek.gif"> ", " <img src="icon/krzywy.gif"> ");//itd...
$gbfile=str_replace($a1, $a2, $gbfile);
//zapis
?>[/php:1:6ce0e3a998]
kociou1
Cytat(dob @ 2004-02-18 22:04:39)
Co ty piszesz? Zastanów sie co jest lepsze - uzyc raz tych kilku funkcji i zapisac sobie gotowiec do pliku czy co wyswietlenie strony przetwazac te same dane w kółko

No a co jak będziesz musiał kiedyś zmienić katalog w którym trzymasz emoty, albo dokonasz jakiejkolwiek innej modyfikacji która spowoduje że ścieżki do emotek staną się nieaktualne??
Bezpieczniej jednaj jest chyba za każdym razem przetwarzać wpis... smile.gif
kubatron
Proponuje to zrobić tak:
  1. <?php
  2. $emoty = array(&#092;":angry:\" => \"<img src=\"../emoticons/angry.gif\\" />\",
  3.  &#092;":biggrin:\" => \"<img src=\"../emoticons/biggrin.gif\\" />\",
  4.  &#092;":blink:\" => \"<img src=\"../emoticons/blink.gif\\" />\",
  5.  &#092;":blush:\" => \"<img src=\"../emoticons/blush.gif\\" />\",
  6.  &#092;":closedeyes:\" => \"<img src=\"../emoticons/closedeyes.gif\\" />\",
  7.  &#092;":cool:\" => \"<img src=\"../emoticons/cool.gif\\">\",
  8.  &#092;":dry:\" => \"<img src=\"../emoticons/dry.gif\\" />\",
  9.  &#092;":excl:\" => \"<img src=\"../emoticons/excl.gif\\" />\",
  10.  &#092;":glare:\" => \"<img src=\"../emoticons/glare.gif\\" />\",
  11.  &#092;":happy:\" => \"<img src=\"../emoticons/happy.gif\\" />\",
  12.  &#092;":huh:\" => \"<img src=\"../emoticons/huh.gif\\" />\",
  13.  &#092;":laugh:\" => \"<img src=\"../emoticons/laugh.gif\\" />\",
  14.  &#092;":mad:\" => \"<img src=\"../emoticons/mad.gif\\" />\",
  15.  &#092;":mellow:\" => \"<img src=\"../emoticons/mellow.gif\\" />\",
  16.  &#092;":ninja:\" => \"<img src=\"../emoticons/ninja.gif\\" />\",
  17.  &#092;":ohmy:\" => \"<img src=\"../emoticons/ohmy.gif\\" />\",
  18.  &#092;":ph34r:\" => \"<img src=\"../emoticons/ph34r.gif\\" />\",
  19.  &#092;":rolleyes:\" => \"<img src=\"../emoticons/rolleyes.gif\\" />\",
  20.  &#092;":sad:\" => \"<img src=\"../emoticons/sad.gif\\" />\",
  21.  &#092;":sleep:\" => \"<img src=\"../emoticons/sleep.gif\\" />\",
  22.  &#092;":smile:\" => \"<img src=\"../emoticons/smile.gif\\" />\",
  23.  &#092;":tongue:\" => \"<img src=\"../emoticons/tongue.gif\\" />\",
  24.  &#092;":unsure:\" => \"<img src=\"../emoticons/unsure.gif\\" />\",
  25.  &#092;":wacko:\" => \"<img src=\"../emoticons/wacko.gif\\" />\",
  26.  &#092;":wink:\" => \"<img src=\"../emoticons/wink.gif\\" />\",
  27.  &#092;":wub:\" => \"<img src=\"../emoticons/wub.gif\\" />\",
  28.  &#092;":?:\" => \"<img src=\"../emoticons/query.gif\\" />\",
  29.  &#092;":arrow:\" => \"<img src=\"../emoticons/arrow.gif\\" />\"
  30.  );
  31. strtr($text, $emoty);
  32. ?>

Bardziej wydajniej bedzie, co do zmiany scieżki to zastosuj while wyciagajac z bazy emoty smile.gif i bedzie prosto mogł modyfikowac.
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-2024 Invision Power Services, Inc.