Live database chatbox

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Niels Peeren

Niels Peeren

13/03/2013 15:01:10
Quote Anchor link
Hallo,

ik ben bezig met een eigen chatbox te maken die alle berichten in een database zet en ze daar zegmaar ook weer uit haalt om te laten zien wat iedereen dus zoal zegt.

nu is het de bedoeling dat dit live gebeurd.

op google zag ik veel mensen zeggen dat dit met ajax moet dus ik heb me daar even in verdiept en kwam hierop uit :

Dit is de javascript die ik gebruik

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">

function updateMessage() {
    var url="getmessage.php";
    jQuery("#MessageElement")<strong class="highlight">.load</strong>(url);
}

<strong class="highlight">setInterval</strong>("updateMessage()", 1000);

</script>


vervolgens de php file die hij steets opent

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
<?php
if(isset($_SESSION['Username'])) {
        session_start();
        include ('mysql.php');
        $getmessage = mysql_query("SELECT * FROM Chatbox ORDER BY Id DESC");
        $resultmessage = mysql_fetch_assoc($getmessage);
        
        $Username = $resultmessage['Username'];
        $Message= $resultmessage['Message'];

        echo $Username;
                echo $Message;

        
}
else {
header("location: ../index.php");
}

?>


en dan de html

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<div id="MessageElement"></div>


hij laat alleen niks zien.

misschien relevante informatie is dat ik dynamic pages gebruik dus de file.inc.php files worden in een div ge echo'd op de index.php
 
PHP hulp

PHP hulp

25/11/2024 07:01:18
 
- SanThe -

- SanThe -

13/03/2013 15:13:14
Quote Anchor link
Waar dient session_start() voor?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if(isset($_SESSION['Username'])) {
        session_start();
?>


Wat is het nut van dit? Je haalt alléén de eerste/laatste er uit.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
        $getmessage
= mysql_query("SELECT * FROM Chatbox ORDER BY Id DESC");
        $resultmessage = mysql_fetch_assoc($getmessage);
?>
 
Niels Peeren

Niels Peeren

13/03/2013 15:17:43
Quote Anchor link
ik werk met een login met sessies dus vandaar de session start en heb inderdaad perongeluk de oude neergezet van de query dit is de goeie

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
<?php
if(isset($_SESSION['Username'])) {
        session_start();
        include ('mysql.php');
        
$getmessage = mysql_query("SELECT * FROM Chatbox ORDER BY Id DESC LIMIT 10");

while($resultmessage = mysql_fetch_array($getmessage)) {

        $Username = $resultmessage['Username'];
        $Message = $resultmessage['Message'];
        
        echo $Username;
        echo $Message;

}

}
else {
header("location: ../index.php");
}

?>
 
- SanThe -

- SanThe -

13/03/2013 15:23:25
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if(isset($_SESSION['Username'])) {
        session_start();
?>

$_SESSION['Username'] zal dus niet bestaan want de session is nog niet gestart. Dat wil je pas op de volgende regel doen. Zet session_start() dus helemaal bovenaan in je script.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
        $Username
= $resultmessage['Username'];
        $Message = $resultmessage['Message'];
        
        echo $Username;
        echo $Message;
?>


Waarom nutteloos extra variabelen aanmaken, dat kost alleen maar extra geheugen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
        echo $resultmessage['Username'];
        echo $resultmessage['Message'];
?>
 
Niels Peeren

Niels Peeren

13/03/2013 15:25:51
Quote Anchor link
bedankt voor de aanmerkingen op het script ik heb het veranderd.

ik hou meestal van een beetje duidelijke declaratie vandaar dat ik he zo neer heb gezet maar wist niet dat zoiets kleins echt zou uitmaken voor het geheugen. ik zal er voortaan om denken.

alleen zit ik nu nog steeds met het probleem dat hij dus niks laat zien.
 
- SanThe -

- SanThe -

13/03/2013 15:31:18
Quote Anchor link
Bouw nette foutafhandeling in voor de query's, die kunnen namelijk mislukken.

En zet dit bovenin je script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

// rest van je script
?>
 
Niels Peeren

Niels Peeren

13/03/2013 15:34:05
Quote Anchor link
bovenaan de index pagina of het php script wat ik net heb gelinked? want boven het zojuist gelinkte script krijg ik geen foutmeldingen.

Toevoeging op 13/03/2013 15:36:32:

bovenaan de index.php krijg ik deze 4X

Notice: Constant MYSQL_HOSTNAME already defined in mysql.php
 
- SanThe -

- SanThe -

13/03/2013 15:38:02
Quote Anchor link
Zorg dat je tijdens het scripten op elke pagina de errors kunt zien.
 
Niels Peeren

Niels Peeren

13/03/2013 15:38:03
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
define('MYSQL_HOSTNAME',     '***');
define('MYSQL_USERNAME',     '***');
define('MYSQL_PASSWORD',     '***');
define('MYSQL_DATABASE',     '***');

//Verbind met de server en kies de juiste database, zo niet weergeef dan een error.
mysql_connect(MYSQL_HOSTNAME, MYSQL_USERNAME, MYSQL_PASSWORD) or die ('MySQL Error: Cannot connect to server');
mysql_select_db(MYSQL_DATABASE) or die ('MySQL Error: Cannot select database');

Toevoeging op 13/03/2013 15:38:31:

heb ik nu. en op elke pagina is de enige error die over de mysql.php en dat is deze hier
Gewijzigd op 13/03/2013 15:38:51 door Niels Peeren
 
- SanThe -

- SanThe -

13/03/2013 15:39:55
Quote Anchor link
Niels Peeren op 13/03/2013 15:34:05:
bovenaan de index.php krijg ik deze 4X

Notice: Constant MYSQL_HOSTNAME already defined in mysql.php


Dan maak je die dus meerdere keren aan en dat kan niet.
 
Niels Peeren

Niels Peeren

13/03/2013 15:44:34
Quote Anchor link
oh wacht ik zei het verkeerd hij zegt :

Constant MYSQL_HOSTNAME already defined in mysql.php
Constant MYSQL_USERNAME already defined in mysql.php
Constant MYSQL_PASSWORD already defined in mysql.php
Constant MYSQL_DATABASE already defined in mysql.php

Toevoeging op 13/03/2013 15:44:52:

hij had 4 errors maar niet 4X diezelfde
 
- SanThe -

- SanThe -

13/03/2013 15:47:26
Quote Anchor link
- SanThe - op 13/03/2013 15:39:55:
Dan maak je die dus meerdere keren aan en dat kan niet.


Antwoord blijft hetzelfde.
 
Niels Peeren

Niels Peeren

13/03/2013 15:51:10
Quote Anchor link
maar dat is wel raar want hij wordt in totaal 1X geopend op de hele site en dat is in de index met include_once('mysql.php'); en daarna niet meer. en dat wat ik net linkte is het enige wat er in de mysql.php file staat dus ze worden maar 1X gedefined.
 
- SanThe -

- SanThe -

13/03/2013 15:53:50
Quote Anchor link
Zit het niet in een loop? En niks in de index?
 
Niels Peeren

Niels Peeren

13/03/2013 15:55:44
Quote Anchor link
de index is waar het instaat zegmaar en elke pagina komt dan in de index te staan dus eenmaal daar geopent hoeft het op de rest van de pagina's niet meer. en in een loop staat hij zeker weten niet
 
- SanThe -

- SanThe -

13/03/2013 15:57:35
Quote Anchor link
Geeft de complete error niet aan waar en op welke regel de fout zit?
 
Niels Peeren

Niels Peeren

13/03/2013 16:00:02
Quote Anchor link
ja hij geeft aan dat de fout hem zin in de mysql.php file zelf.


dit is de gehele file en hij geeft aan op regel 4/5/6/7.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

//MySQL Gegevens
define('MYSQL_HOSTNAME',     '***');
define('MYSQL_USERNAME',     '***');
define('MYSQL_PASSWORD',     '***');
define('MYSQL_DATABASE',     '***');

//Verbind met de server en kies de juiste database, zo niet weergeef dan een error.
mysql_connect(MYSQL_HOSTNAME, MYSQL_USERNAME, MYSQL_PASSWORD) or die ('MySQL Error: Cannot connect to server');
mysql_select_db(MYSQL_DATABASE) or die ('MySQL Error: Cannot select database');

?>
 
- SanThe -

- SanThe -

13/03/2013 16:03:09
Quote Anchor link
Geef de complete error eens.
 
Niels Peeren

Niels Peeren

13/03/2013 16:04:58
Quote Anchor link
Notice: Constant MYSQL_HOSTNAME already defined in /home/****/domains/serialhacks.com/public_html/phpfiles/mysql.php on line 4

Notice: Constant MYSQL_USERNAME already defined in /home/****/domains/serialhacks.com/public_html/phpfiles/mysql.php on line 5

Notice: Constant MYSQL_PASSWORD already defined in /home/****/domains/serialhacks.com/public_html/phpfiles/mysql.php on line 6

Notice: Constant MYSQL_DATABASE already defined in /home/****/domains/serialhacks.com/public_html/phpfiles/mysql.php on line 7
 
- SanThe -

- SanThe -

13/03/2013 16:07:11
Quote Anchor link
En in welk bestand krijg je deze error, in de index?
 
Niels Peeren

Niels Peeren

13/03/2013 16:07:38
Quote Anchor link
op elke pagina gewoon

Toevoeging op 13/03/2013 16:08:11:

maar ehm ... mijn site ging net ff 20 secondes offline en toen weer online. en nu zijn mijn errors weg ?????

Toevoeging op 13/03/2013 16:08:47:

ohnee daar zijn ze weer
 

Pagina: 1 2 volgende »



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.