Smileys in een echo
Ik ben bezig met een chatsysteem. De basis is er al. Je kunt berichten sturen, lezen en een gebruikersnaam kiezen. Het systeem is er dus. Ik wil nu smileys invoegen. Dit heb ik al met een aantal manieren geprobeerd. Ik heb het geprobeerd met een functie die ik gemaakt had, maar dan krijg ik een error. Als ik hem probeer te replacen met str_replace krijg ik de url van mijn smiley in mijn chatbox. Weet iemand hoe ik dit kan oplossen? Alle berichten worden weergegeven met een echo. De variable die de smileys weergeeft heet $row['bericht']
Alvast bedankt!
Groet, Seaslug
Je hebt het over een url. Heb je die url in een img tag gezet?
<img src="http://www.example.com/smiley.jpg">
Ozzie PHP op 27/04/2014 14:01:37:
We hebben geen glazen bol hier, dus zonder code kunnen we niet zo veel.
Je hebt het over een url. Heb je die url in een img tag gezet?
<img src="http://www.example.com/smiley.jpg">
Je hebt het over een url. Heb je die url in een img tag gezet?
<img src="http://www.example.com/smiley.jpg">
Ja, ik krijg inderdaad de url van de img tag.
Php code komt eraan
Quote:
<head>
<script>
function reloadidioot()
{
location.reload();
}
</script>
<meta http-equiv="refresh" content="10;url=">
</head>
<textarea rows="20" cols="60" readonly disabled>
</textarea>
<br />
<form name="bericht" action="insert.php" method="post">
Bericht: <input type="text" name="bericht" autofocus> <input type="submit" value="Stuur deze shit"><br />
</form>
<form>
<input type="button" value="Reload deze idioot" onclick="reloadidioot()"/>
</form>
<br /><br />
<a href="loguit.php">Loguit!</a>
</div>
</body>
</html>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
session_start();
include('db.php');
$ip = $_SERVER['REMOTE_ADDR'];
$statusql = ("SELECT * FROM onderhoud WHERE id = 1");
$statusbijna = mysqli_query($con, $statusql);
$status = mysqli_fetch_assoc($statusbijna);
$bansql = ("SELECT * FROM ban WHERE ip = '$ip'");
$banbijna = mysqli_query($con, $bansql);
$banned = mysqli_fetch_assoc($banbijna);
if(isset($_POST['naam'])){
$_SESSION['naam'] = $_POST['naam'];
}
if($status['status'] == "aan"){
echo "De chat is momenteel offline, probeer het later opnieuw!";
}
else
{
if(empty($_SESSION['naam']))
{
unset($_SESSION['naam']);
header("Loction: login.php");
}
if($banned['ip'] == $ip)
{
echo "Jou IP is verbannen van deze chat. Deze ban zal niet meer worden opgeheven. De reden van jou ban is: <h3><b>" . $banned['reden'] . "</b></h3>";
}
else
{
if(isset($_SESSION['naam'])){
$query = "SELECT * FROM chat ORDER BY id DESC";
?>
session_start();
include('db.php');
$ip = $_SERVER['REMOTE_ADDR'];
$statusql = ("SELECT * FROM onderhoud WHERE id = 1");
$statusbijna = mysqli_query($con, $statusql);
$status = mysqli_fetch_assoc($statusbijna);
$bansql = ("SELECT * FROM ban WHERE ip = '$ip'");
$banbijna = mysqli_query($con, $bansql);
$banned = mysqli_fetch_assoc($banbijna);
if(isset($_POST['naam'])){
$_SESSION['naam'] = $_POST['naam'];
}
if($status['status'] == "aan"){
echo "De chat is momenteel offline, probeer het later opnieuw!";
}
else
{
if(empty($_SESSION['naam']))
{
unset($_SESSION['naam']);
header("Loction: login.php");
}
if($banned['ip'] == $ip)
{
echo "Jou IP is verbannen van deze chat. Deze ban zal niet meer worden opgeheven. De reden van jou ban is: <h3><b>" . $banned['reden'] . "</b></h3>";
}
else
{
if(isset($_SESSION['naam'])){
$query = "SELECT * FROM chat ORDER BY id DESC";
?>
<head>
<script>
function reloadidioot()
{
location.reload();
}
</script>
<meta http-equiv="refresh" content="10;url=">
</head>
<textarea rows="20" cols="60" readonly disabled>
Code (php)
</textarea>
<br />
<form name="bericht" action="insert.php" method="post">
Bericht: <input type="text" name="bericht" autofocus> <input type="submit" value="Stuur deze shit"><br />
</form>
<form>
<input type="button" value="Reload deze idioot" onclick="reloadidioot()"/>
</form>
<br /><br />
<a href="loguit.php">Loguit!</a>
Code (php)
</div>
</body>
</html>
Gewijzigd op 27/04/2014 14:06:47 door Sea Slug
Sorry ik heb niet echt de moeite genomen om naar jouw code te kijken. Dit is mijn code die ik zelf gebruikt heb voor een guestbook. De array heb ik flink ingekort maar ik heb hiervan een versie die redelijk wat smilies heeft met de bijbehorende afbeeldingen. Mocht je daar interesse in hebben geef me dan even een emailadres per privébericht.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$emoticons = array(
":p" => "tongueout.gif",
":-)" => "smile.gif",
// en nog veel meer smilies
);
function showmessage($text)
{
global $emoticons;
$html = nl2br($text); // verander carriage returns in <br>
foreach($emoticons as $key => $value) { // loop door alle emoticons uit de array
$html = str_replace($key, '<img src="path/to/emoticons/' . $value . '" alt="' . $key . '" />' , $html);
}
return $html;
}
// testje
echo showmessage('phphulp.nl is geweldig! :p :-)');
?>
$emoticons = array(
":p" => "tongueout.gif",
":-)" => "smile.gif",
// en nog veel meer smilies
);
function showmessage($text)
{
global $emoticons;
$html = nl2br($text); // verander carriage returns in <br>
foreach($emoticons as $key => $value) { // loop door alle emoticons uit de array
$html = str_replace($key, '<img src="path/to/emoticons/' . $value . '" alt="' . $key . '" />' , $html);
}
return $html;
}
// testje
echo showmessage('phphulp.nl is geweldig! :p :-)');
?>
Gewijzigd op 27/04/2014 18:26:41 door Frank Nietbelangrijk
Frank Nietbelangrijk op 27/04/2014 18:25:20:
Hoi Sea,
Sorry ik heb niet echt de moeite genomen om naar jouw code te kijken. Dit is mijn code die ik zelf gebruikt heb voor een guestbook. De array heb ik flink ingekort maar ik heb hiervan een versie die redelijk wat smilies heeft met de bijbehorende afbeeldingen. Mocht je daar interesse in hebben geef me dan even een emailadres per privébericht.
Sorry ik heb niet echt de moeite genomen om naar jouw code te kijken. Dit is mijn code die ik zelf gebruikt heb voor een guestbook. De array heb ik flink ingekort maar ik heb hiervan een versie die redelijk wat smilies heeft met de bijbehorende afbeeldingen. Mocht je daar interesse in hebben geef me dan even een emailadres per privébericht.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$emoticons = array(
":p" => "tongueout.gif",
":-)" => "smile.gif",
// en nog veel meer smilies
);
function showmessage($text)
{
global $emoticons;
$html = nl2br($text); // verander carriage returns in <br>
foreach($emoticons as $key => $value) { // loop door alle emoticons uit de array
$html = str_replace($key, '<img src="path/to/emoticons/' . $value . '" alt="' . $key . '" />' , $html);
}
return $html;
}
// testje
echo showmessage('phphulp.nl is geweldig! :p :-)');
?>
$emoticons = array(
":p" => "tongueout.gif",
":-)" => "smile.gif",
// en nog veel meer smilies
);
function showmessage($text)
{
global $emoticons;
$html = nl2br($text); // verander carriage returns in <br>
foreach($emoticons as $key => $value) { // loop door alle emoticons uit de array
$html = str_replace($key, '<img src="path/to/emoticons/' . $value . '" alt="' . $key . '" />' , $html);
}
return $html;
}
// testje
echo showmessage('phphulp.nl is geweldig! :p :-)');
?>
Dankjewel, ik heb hem even toegepast, maar ik krijg zoals bij alle andere functions deze error:
Quote:
<b>Fatal error</b>: Cannot redeclare showmessage() (previously declared in C:\xampp\htdocs\chat\index.php:69) in <b>C:\xampp\htdocs\chat\index.php</b> on line <b>69</b><br />
Hoe komt dit?
Grt Seaslug
- include
- require
Deze regels staan meestal bovenin je broncode en niet in een lus.
Ik include de index.php nergens, aangezien dit de pagina is die ik gebruik en waar ook de smileys op moeten komen. Mijn php script staat boven vermeldt, daar zie je in dat ik index.php nergens include. :s
header("Location: login.php");
... de volgende regel eronder:
exit;
Ozzie PHP op 27/04/2014 19:40:48:
Zet overal waar je een header uitvoert, bijvoorbeeld hier:
header("Location: login.php");
... de volgende regel eronder:
exit;
header("Location: login.php");
... de volgende regel eronder:
exit;
Heb ik gedaan, maakt geen verschil.. :s
Het is een beetje gissen nu. kun je jouw complete code anders posten of is dat te veel voor op het forum? Je mag ook een zipje sturen. ik stuur je even een pm
Dat je daarom je vraag op meerder fora post is prima.
Maar maak daar dan wel even melding van, zodat degenen die willen helpen a) weten dat er in een ander topic mogelijk al hetzelfde antwoord is gegeven en b) er in dat andere topic mogelijk meer /andere informatie staat waarop een antwoord kan worden gebaseerd.
Zie http://www.pfz.nl/forum/topic/10611-smileys-in-een-echo/
@Obelix en Idefix -> Zal ik voortaan doen ;D
Naar
Beetje onzinnig Ferdi, als je je code goed opbouwt, dan kan je prima een header() gebruiken.
Bedankt voor de hulp allemaal!