Ég ætla að kenna ykkur að búa til shoutbox eða svona “spjall” á síðuna ykkar :) Þetta er alveg rosalega vinsælt í dag.

Byrjum á SQL töflunni:

CREATE TABLE `shoutbox` (
`id` int(5) NOT NULL auto_increment,
`nafn` varchar(50) NOT NULL default ‘',
`dagsetning` varchar(10) NOT NULL default ’',
`skilabod` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM;

Og svo hér er kóðinn…

<?
/*
gShoutbox v1.0
Höfundur: Gaui
Netfang: gaui@gaui.is
*/

/*
Stilltu þetta fyrir neðan að þínum eigin þörfum
*/

# Hostinn fyrir SQL þjóninn (oftast localhost)
$db['host'] = ‘localhost’;

# Notandanafnið fyrir SQL þjóninn
$db['user'] = ‘jon’;

# Lykilorðið fyrir SQL þjóninn
$db['pass'] = ‘jon1234’;

# Gagnagrunnurinn sem þú notar
$db['db'] = ‘jon’;

# Bakgrunnslitur á shoutboxinum
$conf['bg'] = ‘#FFFFFF’;

# Breiddin á shoutboxinu
$conf['width'] = ‘150’;

# Hæðin á shoutboxinu
$conf['height'] = ‘200’;

# Breidd á HR línununum
$conf['hr_size'] = ‘1’;

# Litur á HR línunum
$conf['hr_color'] = ‘#000000’;

# Litur á nöfnunum
$conf['name_color'] = ‘#0000FF’;

# Nöfnin feitletruð ? 0 = nei 1 = já
$conf['name_bold'] = 1;

# Litur á texta
$conf['text_color'] = ‘#000000’;

# Texti feitletraður ? 0 = nei 1 = já
$conf['text_bold'] = 0;

# Eyða gömlu spjalli ? 0 = nei x = x dags gamalt spjall
$conf['del_old'] = 31;

/*
Ekki stilla neitt hér fyrir neðan
*/

$del_sec = time() - ( $conf['del_old'] * 60 * 60 * 24 );

define( ‘LF’, “\n” );

# Fall sem sér um SQL fyrirspurnirnar
function db_query( $sql )
{
$query = mysql_query( $sql ) or die( ‘SQL villa: ’ . mysql_error() );
return $query;
}

# Tengjumst SQL þjóni
mysql_connect( $db['host'], $db['user'], $db['pass'] ) or die( ‘Gat ekki tengst SQL þjóni.’ );
mysql_select_db( $db['db'] );

if( isset( $_POST['submit'] ) && $_POST['nafn'] != '' && $_POST['skilabod'] != ‘' )
{
# Set inn færslu í spjallið
$dagsetning = time();
db_query( "INSERT INTO shoutbox ( nafn, dagsetning, skilabod ) VALUES ( ’{$_POST['nafn']}', ‘$dagsetning’, '{$_POST['skilabod']}' )" );

# Eyði gömlu spjall færslunum
if( $conf['del_old'] != 0 )
{
db_query( “DELETE FROM shoutbox WHERE dagsetning <= $del_sec” );
}
}

# Næ í allar nýjar spjall færslur
$query = db_query( “SELECT * FROM shoutbox ORDER BY id DESC” );
?>
<div style="border: 1px solid #000000; width: <?=$conf['width']?>px; height: <?=$conf['height']?>px; overflow:auto; background-color: <?=$conf['bg']?>">
<?
$i = 1;
$count = mysql_num_rows( $query );
while( $myrow = mysql_fetch_assoc( $query ) )
{
echo ( $conf['name_bold'] ? ‘<b>’ : NULL ) . ‘<font color="’ . $conf['name_color'] . ‘">’ . $myrow['nafn'] . ‘</font>: ’ . ( $conf['name_bold'] ? ‘</b>’ : NULL ) . ( $conf['text_bold'] ? ‘<b>’ : NULL ) . ‘<font color="’ . $conf['text_color'] . ‘">’ . nl2br( $myrow['skilabod'] ) . ‘</font>’ . ( $conf['text_bold'] ? ‘</b>’ : NULL ) . LF;

if( $i != $count )
echo ‘<hr size="’ . $conf['hr_size'] . ‘“ style=”color: ’ . $conf['hr_color'] . ‘“>’ . LF . LF;

$i++;
}
?>
</div>
<br>
&lt ;form action=”“ method=”post“ style=”margin-top: 0px“>
<b>Nafn:</b><br>
<inpu t type=”text“ name=”nafn“ style=”width: <?=$conf['width']?>“><br>
<b>S kilaboð:</b><br>
<textarea name=”skilabod“ style=”width: <?=$conf['width']?>“></textarea>
&lt ;br>
<input type=”submit“ name=”x“ value=”Senda“><input type=”hidden“ name=”submit“ value=”1">
</form>
Gaui