Smileys in een echo

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sea Slug

Sea Slug

27/04/2014 13:47:31
Quote Anchor link
Hallo!

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
 
PHP hulp

PHP hulp

20/04/2024 00:58:52
 
Ozzie PHP

Ozzie PHP

27/04/2014 14:01:37
Quote Anchor link
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">
 
Sea Slug

Sea Slug

27/04/2014 14:06:12
Quote Anchor link
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">


Ja, ik krijg inderdaad de url van de img tag.

Php code komt eraan

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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";


    
    
?>

<head>
<script>
function reloadidioot()
{
location.reload();
}
</script>
<meta http-equiv="refresh" content="10;url=">
</head>
<textarea rows="20" cols="60" readonly disabled>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if ($result = $con->query($query)) {
    while ($row = $result->fetch_assoc()) {
    ///////////////////////////////////////////////

    ///////////////////////////////////////////////

        
        echo "[" . $row['tijd'] . "] -> " . $row['naam'] . ": " . $row['bericht'] . " \n";
    }
    }

    ?>



</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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
}
else
//Als de naam niet is ingevuld, doen we dit:
{
header("Location: login.php");
}
}
}



?>

</div>
</body>
</html>
Gewijzigd op 27/04/2014 14:06:47 door Sea Slug
 
Frank Nietbelangrijk

Frank Nietbelangrijk

27/04/2014 18:25:20
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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 :-)');
?>
Gewijzigd op 27/04/2014 18:26:41 door Frank Nietbelangrijk
 
Sea Slug

Sea Slug

27/04/2014 18:50:31
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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 :-)');
?>


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
 
Frank Nietbelangrijk

Frank Nietbelangrijk

27/04/2014 19:25:48
Quote Anchor link
De fout die je maakt is dat je een tweede keer het bestand C:\xampp\htdocs\chat\index.php probeert in te voegen. dat mag maar één keer. Kijk eens goed naar de regels die beginnen met één van de volgende:

- include
- require

Deze regels staan meestal bovenin je broncode en niet in een lus.
 
Sea Slug

Sea Slug

27/04/2014 19:38:20
Quote Anchor link
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
 
Ozzie PHP

Ozzie PHP

27/04/2014 19:40:48
Quote Anchor link
Zet overal waar je een header uitvoert, bijvoorbeeld hier:

header("Location: login.php");

... de volgende regel eronder:

exit;
 
Sea Slug

Sea Slug

27/04/2014 20:06:20
Quote Anchor link
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;


Heb ik gedaan, maakt geen verschil.. :s
 
Frank Nietbelangrijk

Frank Nietbelangrijk

27/04/2014 20:52:42
Quote Anchor link
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
 
Obelix Idefix

Obelix Idefix

27/04/2014 21:34:40
Quote Anchor link
Dat je graag een antwoord wilt op je vraag is begrijpelijk.
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/
 
Sea Slug

Sea Slug

30/04/2014 19:51:12
Quote Anchor link
Er is nog niks aan de code veranderdt. De code hierboven is dus de code die ik nu gebruik.

@Obelix en Idefix -> Zal ik voortaan doen ;D
 
Ferdi R

Ferdi R

30/04/2014 22:50:06
Quote Anchor link
Of verander

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
header("Location: login.php");


Naar

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo '<meta http-equiv="refresh" content="0;URL=login.php">';
 
- Ariën  -
Beheerder

- Ariën -

30/04/2014 22:52:09
Quote Anchor link
Beetje onzinnig Ferdi, als je je code goed opbouwt, dan kan je prima een header() gebruiken.
 
Sea Slug

Sea Slug

01/05/2014 20:28:38
Quote Anchor link
Opgelost. Ik probeerde de chatberichten weer te geven in een textarea. Ik ben er achter gekomen dat je daar alleen dingen zonder opmaak kunt plaatsen.

Bedankt voor de hulp allemaal!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.