Geen Berichten in berichtenbalk

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Alain

alain

21/11/2005 15:14:00
Quote Anchor link
Hallo,

Als ik een bericht invul in mijn berichtenbalk dan komt het bericht niet tevoorschijn hoe kan dat ?
Ik heb thand de juiste chmod gedaan?

Thanks

berichtenbalk.php:

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

$BerichtenBalkGegevensBestand
= "berichtenbalkgegevens.php";
include($BerichtenBalkGegevensBestand);
// Verander deze locatie als dit nodig is.

echo("<marquee>$Scheidingstekens$BerichtenBalkBerichten</marquee>");

?>


berichtenbalkgegevens.php:

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
<?php

//  Verander de gegevens hieronder en verander
// in elk bestand wat bij dit Script hoort als dit nodig is
// de locatie naar dit bestand. Geef dit bestand de permissions
// 777 nadat je hem geüpload hebt.


$EenPerIPadres = true;
// Maar één bericht per IP adres toelaten?
// De waarde kan true; of false; zijn.


$Scheidingstekens = " --- ";
// De scheidingstekens tussen de berichten.

// Hierna hoef je niets te veranderen.
// Vergeet niet dit bestand de permissions 777 te geven!


$Aantal = 20;
// Hoeveel berichten mogen er staan? De oudste worden
// verwijderd. Voor geen limiet zet een 0 (nul) neer.


?>



berichttoevoegen.php

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
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php

$BerichtenBalkGegevensBestand
= "berichtenbalkgegevens.php";
include($BerichtenBalkGegevensBestand);
// Verander deze locatie als dit nodig is.

if($EenPerIPadres) { $eenperipadres = "true"; } else { $eenperipadres = "false"; }

if($actie && $bericht && $naam) {
if(strstr($IPadressen,"$REMOTE_ADDR-") && $EenPerIPadres) { echo("<b>Je hebt al een bericht toegevoegd met dit IP adres!</b><br><br>"); }
else {
$bericht = substr(trim(htmlentities($bericht,ENT_QUOTES)),0,100);
$naam = substr(trim(htmlentities($naam,ENT_QUOTES)),0,20);

if($Aantal) { $BerichtenBalkBerichten = implode($Scheidingstekens,array_slice(explode($Scheidingstekens,$BerichtenBalkBerichten),0,$Aantal)); }

$BerichtenBalkBerichten = "<i>$naam</i>: $bericht".$Scheidingstekens.$BerichtenBalkBerichten;
if($EenPerIPadres) { $IPadressen .= "$REMOTE_ADDR-\n"; }
$OpenBerichtenBalkGegevensBestand = fopen($BerichtenBalkGegevensBestand,"w");
fputs($OpenBerichtenBalkGegevensBestand,"<?php

// Dit is het gegevens-bestand van het Berichten Balk Script
// van Webmensen.nl. Verander de gegevens hieronder en verander
// in elk bestand wat bij dit Script hoort als dit nodig is
// de locatie naar dit bestand. Geef dit bestand de permissions
// 777 nadat je hem geüpload hebt.

\$EenPerIPadres = $eenperipadres;
// Maar één bericht per IP adres toelaten?
// De waarde kan true; of false; zijn.

\$Scheidingstekens = \"$Scheidingstekens\";
// De scheidingstekens tussen de berichten.

// Hierna hoef je niets te veranderen.
// Vergeet niet dit bestand de permissions 777 te geven!

\$Aantal = $Aantal;
// Hoeveel berichten mogen er staan? De oudste worden
// verwijderd. Voor geen limiet zet een 0 (nul) neer.

\$BerichtenBalkBerichten = \"$BerichtenBalkBerichten\";
// De berichten.

\$IPadressen = \"$IPadressen\";
// De IP adressen.

?"
.">");
fclose($OpenBerichtenBalkGegevensBestand);
echo("<b>Het bericht is succesvol toegevoegd!</b><br><br>");
}
}


?>

<form method='post'>
Naam: <input type='text' name='naam' size=20 maxlength=20><br><br>
Bericht: <input type='text' name='bericht' size=40 maxlength=100><br><br>
<input type='submit' name='actie' value='Bericht inzenden'>
</form>
<?php if($CopyrightWebmensen) { ?><br><br><a href='http://www.webmensen.nl/' target='_blank'><b style='font-family: Verdana; font-size: 8pt'>&copy; Webmensen.nl</b></a><?php } ?>
 
PHP hulp

PHP hulp

21/11/2024 14:10:32
 
Robert Deiman

Robert Deiman

21/11/2005 16:34:00
Quote Anchor link
Schrijft die de gegevens wel goed weg? Of schrijft die de gegevens al niet eens weg?
 

21/11/2005 16:48:00
Quote Anchor link
Quote:
$OpenBerichtenBalkGegevensBestand
Je mag ook korte variablen gebruiken.

En zet eens bovenaan je script
error_reporting(E_ALL ^ E_NOTICE);
 
Han eev

Han eev

21/11/2005 17:12:00
Quote Anchor link
echo("<marquee>$Scheidingstekens$BerichtenBalkBerichten</marquee>");
Dit zal ook niet werken
echo("<marquee>".$Scheidingstekens.$BerichtenBalkBerichten."</marquee>");
Wel
 

21/11/2005 17:31:00
Quote Anchor link
Yep. Regel 1: Houd je variablen buiten de quotes (of in {})
 
Robert Deiman

Robert Deiman

21/11/2005 17:53:00
Quote Anchor link
Han:
echo("<marquee>$Scheidingstekens$BerichtenBalkBerichten</marquee>");
Dit zal ook niet werken
echo("<marquee>".$Scheidingstekens.$BerichtenBalkBerichten."</marquee>");
Wel


In dit geval maakt dat niet uit, probeer maar eens als je bijv zo doet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

$var1
= "Hallo ";
$var2 = "wereld.";

echo ("<table><tr><td>$var1</td><td>$var2</td></tr></table>") ;
?>


Zoals je zult zien geeft dit (iig in nieuwere php versies) de variabelen goed weer!
 
Eric Cartman

Eric Cartman

21/11/2005 18:31:00
Quote Anchor link
Je kan trouwens beter de marquee-tag niet gebruiken, verschillende browsers ondersteunen hem niet. Je kan beter een oplossing met javascript gebruiken ;)...
 

21/11/2005 19:08:00
Quote Anchor link
Yep. IE heeft de marquee verzonnen,
zoals Netscape de blink tag heeft verzonnen

Het goede alternatief is beide gevallen is ook inderdaad JavaScript. Voor dat moet je even op de site van Javascripts knippen en plakken kijken. (weet 't adres niet meer)
 
- SanThe -

- SanThe -

21/11/2005 19:09:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

$BerichtenBalkGegevensBestand
= "berichtenbalkgegevens.php";
include($BerichtenBalkGegevensBestand);
// Verander deze locatie als dit nodig is.

echo("<marquee>$Scheidingstekens$BerichtenBalkBerichten</marquee>");

?>


Je ziet in de balk waarschijnlijk alleen --- staan?
Volgens mij is $BerichtenBalkBerichten hier nog niet bekend.
 
Eric Cartman

Eric Cartman

21/11/2005 19:41:00
Quote Anchor link
Ik denk dat het sowieso handiger is om met een database te werken Alain. Op die manier krijg je een veel kortere code, en dus veel overzichtelijker.

-- berichtenbalk.php --
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
<?php
$DB
['host'] = "localhost";
$DB['naam'] = "database-naam";
$DB['user'] = "username";
$DB['pass'] = "password";

$limiet = "20"; // Vul hier het maximaal aantal berichten in
$sheidingsteken = " --- ";

if (mysql_connect($DB['host'], $DB['user'], $DB['pass']) == FALSE) {
  die('Databse connectie mislukt');
}

elseif (mysql_select_db($DB['naam']) == FALSE) {
  die('Opgegeven database bestaat niet');
}


$sql = mysql_query("SELECT * FROM berichtenbalk LIMIT " .$limiet);
echo "<marquee>";

while ($record = mysql_fetch_object($sql)) {
  echo $scheidingsteken.$record->bericht;
}


echo "</marquee";
mysql_colse();
?>


-- voegtoe.php --
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
<?php
[code]<?php
$DB
['host'] = "localhost";
$DB['naam'] = "database-naam";
$DB['user'] = "username";
$DB['pass'] = "password";

if (mysql_connect($DB['host'], $DB['user'], $DB['pass']) == FALSE) {
  die('Databse connectie mislukt');
}

elseif (mysql_select_db($DB['naam']) == FALSE) {
  die('Opgegeven database bestaat niet');
}


if ($_GET['page'] == "voegtoe") {
  if(mysql_query("INSERT INTO berichtenbalk ('bericht') VALUES ('" .$_POST['bericht']. "')") == FALSE) {
    echo "SQL-query kon niet worden uitgevoerd";
  }

  else {
    header("Location: doorstuurfile.php");
  }
}

?>


Hij is niet echt helemaal goed hoor, ik heb het effe snel hier ter plekke gescript, maar het is een beginnetje. Veel plezier ermee...

-- edit --
Ben de SQL-query voor het maken van de tabel vergeten :$, hier is ie:

CREATE TABLE `berichtenbalk` (
  `id` int(11) NOT NULL auto_increment,
  `bericht` varchar(250) NOT NULL default '',
  PRIMARY KEY  (`id`)
);

bij het regeltje: `bericht` varchar(250) NOT NULL default '', moet je 250 maar veranderen in het maximale aantal tekens dat jouw bericht lang mag zijn.

-- Edit 2 --
Soory dta ik hier nu wel gebruik maak van de marquee tag, maar ik had effetjes geen zin om een oplossing in javascript te zoeken ;p...
Gewijzigd op 22/11/2005 19:49:00 door Eric Cartman
 



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.