couldn't fetch mysqli error in shoutbox
Pagina: « vorige 1 2 3 4 5 volgende »
maar ik durf de gok te wagen dat je de tabelnaam gewoon naar shout moet hernoemen, zoals ik net al zei.
Gewijzigd op 04/01/2014 23:21:23 door - Ariën -
oke tabel is hernoemt naar shouts
Zo niet ben ik benieuwd naar het SHOW TABLES-commando
waar moet je dat show table commando invullen?
Gewijzigd op 04/01/2014 23:28:32 door - Ariën -
Maar volgens mij doet hij het nu al, al is de verbinding ontiegelijk traag bij mij.
Dat zal wel bij je hosting liggen.
Toevoeging op 04/01/2014 23:31:17:
shoutbox doet het, maar als ik iets intyp komt dat wel 2x in het scherm te staan.
Toevoeging op 04/01/2014 23:33:32:
als ik een naam en bericht intyp verschijnt eerst snel 1 keer dat bericht op het scherm en na een seconde verschijnt dat bericht voor de 2e keer op het scherm.
Gewijzigd op 04/01/2014 23:35:53 door - Ariën -
Echter, wanneer ik op F5 druk komt het bericht voor de 2e keer in beeld helaas.
Dan zou je een anti-spam check moeten inbouwen. Bij voorkeur met een sessie die je na 1 minuut weer verwijdert.
Echt geweldig wat je allemaal voor mij doet.
Ik ga je niet meer vragen om een anti-spam check, dat zou teveel van het goede zijn. Hij werkt nu iig.
Slaap lekker.
Alles valt zelf ook uit te proberen natuurlijk ;-)
Gewijzigd op 04/01/2014 23:52:55 door - Ariën -
Het laatste bericht op dit forum is alweer een tijdje geleden. Nu ik met een site begonnen ben, zou ik graag de shoutbox willen perfectioneren.
Het grootste probleem is nog steeds dat een bericht bij het indrukken van f5 zich herhaalt.
- Aar - op 04/01/2014 23:43:14:
Logisch want je doet een refresh, waarmee je opnieuw een POST-request doet.
Dan zou je een anti-spam check moeten inbouwen. Bij voorkeur met een sessie die je na 1 minuut weer verwijdert.
Dan zou je een anti-spam check moeten inbouwen. Bij voorkeur met een sessie die je na 1 minuut weer verwijdert.
Verder moet een shoutbox natuurlijk niet gemakkelijk te hacken zijn. Zijn er nog veel mogelijkheden op dit punt?
Zelf heb ik in de tussentijd wat php ervaring opgedaan, maar een expert ben ik allerminst. Zou iemand me nog eens willen helpen?
Fabian
Toevoeging op 20/07/2014 23:23:24:
De files nog een keer:
shoutbox.php:
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
48
49
50
51
52
53
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
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link type="text/css" rel="stylesheet" href="shoutbox.css" />
<script type="text/javascript" src="shoutbox.js"></script>
<script type="text/javascript" >
$(document).ready(function(){
$("#shout_button").click(function(){
var msg = $("#shout_message").val();
var nam = $("#shout_name").val();
var value = $(this).val();
$(this).val('sending...');
var datastring = 'name='+nam+'&msg='+msg;
$.ajax({
type:'POST',
url:'shout.php',
data:datastring,
cache:false,
success:function(){
$("#shouts ul").prepend("<li><span class='shout_post_name'>"+nam+"</span>:"+msg+"</li>").fadeIn();
$("#shout_button").val(value);
$("#shout_message").val('');
}
});
});
$("#shouts ul").load("shout.php?show");
});
</script>
<title>Chat Box</title>
</head>
<body>
<div id="container">
<h3>Shoutbox</h3>
<p>Een berichtje in de <Strong>'Shoutbox'</strong> is altijd leuk. Stel een vraag, maak een opmerking over een chart of start een discussie. De keuze is aan jou!</p>
<div id="write">
<input type="text" id="shout_message" placeholder="Message" name="message"><br/>
<input type="text" id="shout_name" name="name" placeholder="Name" ><input id="shout_button" type="button" value="Shout">
</div>
<div id="shouts">
<ul></ul>
</div>
</div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link type="text/css" rel="stylesheet" href="shoutbox.css" />
<script type="text/javascript" src="shoutbox.js"></script>
<script type="text/javascript" >
$(document).ready(function(){
$("#shout_button").click(function(){
var msg = $("#shout_message").val();
var nam = $("#shout_name").val();
var value = $(this).val();
$(this).val('sending...');
var datastring = 'name='+nam+'&msg='+msg;
$.ajax({
type:'POST',
url:'shout.php',
data:datastring,
cache:false,
success:function(){
$("#shouts ul").prepend("<li><span class='shout_post_name'>"+nam+"</span>:"+msg+"</li>").fadeIn();
$("#shout_button").val(value);
$("#shout_message").val('');
}
});
});
$("#shouts ul").load("shout.php?show");
});
</script>
<title>Chat Box</title>
</head>
<body>
<div id="container">
<h3>Shoutbox</h3>
<p>Een berichtje in de <Strong>'Shoutbox'</strong> is altijd leuk. Stel een vraag, maak een opmerking over een chart of start een discussie. De keuze is aan jou!</p>
<div id="write">
<input type="text" id="shout_message" placeholder="Message" name="message"><br/>
<input type="text" id="shout_name" name="name" placeholder="Name" ><input id="shout_button" type="button" value="Shout">
</div>
<div id="shouts">
<ul></ul>
</div>
</div>
</body>
</html>
shout.php:
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
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
<?php
$mysqli = new mysqli("mysql.hostinger.nl", "u493******_00***", "*********", "u493******_00***");
if(isset($_POST['name'],$_POST['msg'])){
$name = trim($_POST['name']);
$msg = trim($_POST['msg']);
if(!empty($name)&&!empty($msg)){
$sql = "INSERT INTO `shouts` (`id`,`name`,`message`,`post_date`) VALUES(NULL,'".mysqli_real_escape_string($mysqli,$name)."','".mysqli_real_escape_string($mysqli,$msg)."',NOW())";
$mysqli->query($sql);
}
}
if(isset($_GET['show'])){
$sql = "SELECT `name`,`message`,`post_date` FROM shouts ORDER BY `id` DESC";
if($result = $mysqli->query($sql)){
while($row = $result->fetch_assoc()){
echo "<li><span class='shout_post_name'>".$row['name']."</span>:".$row['message']."</li>";
}
}
}
?>
<?php // kleurtjes
if(!$mysqli->query($sql)) {
echo "Error: ".$mysqli->error;
}
?>
$mysqli = new mysqli("mysql.hostinger.nl", "u493******_00***", "*********", "u493******_00***");
if(isset($_POST['name'],$_POST['msg'])){
$name = trim($_POST['name']);
$msg = trim($_POST['msg']);
if(!empty($name)&&!empty($msg)){
$sql = "INSERT INTO `shouts` (`id`,`name`,`message`,`post_date`) VALUES(NULL,'".mysqli_real_escape_string($mysqli,$name)."','".mysqli_real_escape_string($mysqli,$msg)."',NOW())";
$mysqli->query($sql);
}
}
if(isset($_GET['show'])){
$sql = "SELECT `name`,`message`,`post_date` FROM shouts ORDER BY `id` DESC";
if($result = $mysqli->query($sql)){
while($row = $result->fetch_assoc()){
echo "<li><span class='shout_post_name'>".$row['name']."</span>:".$row['message']."</li>";
}
}
}
?>
<?php // kleurtjes
if(!$mysqli->query($sql)) {
echo "Error: ".$mysqli->error;
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// valideer je formulier zodat je weet dat de verplichte velden ook ingevuld zijn etc.
if(validate() == true)
{
// doe de noodzakelijke acties zoals database updaten of een email versturen
// redirect de gebruiker om te voorkomen dat het nog een keer gepost wordt
header('Location: waarjewil.php');
exit();
}
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// valideer je formulier zodat je weet dat de verplichte velden ook ingevuld zijn etc.
if(validate() == true)
{
// doe de noodzakelijke acties zoals database updaten of een email versturen
// redirect de gebruiker om te voorkomen dat het nog een keer gepost wordt
header('Location: waarjewil.php');
exit();
}
}
?>
Gewijzigd op 20/07/2014 23:31:56 door Frank Nietbelangrijk
en de redirect, gaat die naar shout.php, shoutbox.php of index.php?
(index.php roept shoutbox.php op via include)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$mysqli = new mysqli("mysql.hostinger.nl", "u493******_00***", "*********", "u493******_00***");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$name = trim($_POST['name']);
$msg = trim($_POST['msg']);
// if(!empty($name)&&!empty($msg)) { // pas op met empty! Als $msg een 0 als inhoud heeft dan weigert ie.
if(strlen($name) && strlen($msg))
{
$sql = "INSERT INTO `shouts` (`id`,`name`,`message`,`post_date`) VALUES(NULL,'".mysqli_real_escape_string($mysqli,$name)."','".mysqli_real_escape_string($mysqli,$msg)."',NOW())";
$mysqli->query($sql);
// klaar met de INSERT dus redirect!
header('Location: shout.php');
exit;
}
}
?>
$mysqli = new mysqli("mysql.hostinger.nl", "u493******_00***", "*********", "u493******_00***");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$name = trim($_POST['name']);
$msg = trim($_POST['msg']);
// if(!empty($name)&&!empty($msg)) { // pas op met empty! Als $msg een 0 als inhoud heeft dan weigert ie.
if(strlen($name) && strlen($msg))
{
$sql = "INSERT INTO `shouts` (`id`,`name`,`message`,`post_date`) VALUES(NULL,'".mysqli_real_escape_string($mysqli,$name)."','".mysqli_real_escape_string($mysqli,$msg)."',NOW())";
$mysqli->query($sql);
// klaar met de INSERT dus redirect!
header('Location: shout.php');
exit;
}
}
?>
Toevoeging op 20/07/2014 23:42:34:
Fabian W op 20/07/2014 23:33:41:
En de redirect, gaat die naar shout.php, shoutbox.php of index.php?
(index.php roept shoutbox.php op via include)
(index.php roept shoutbox.php op via include)
dan naar in index.php, desnoods zo als voorbeeld:
Heb je nog tips m.b.t. de veiligheid?
Voor een shoutbox zou je nog een blacklist kunnen maken van verboden woorden.
Tevens zou je er voor kunnen kiezen dat berichten naar jou gemaild worden, met een linkje om ze direct weer te verwijderen.
Ook zou je er voor kunnen kiezen dat men zich moet registreren alvorens iets te kunnen plaatsen
Een inlogsysteem is wel aardig, alleen weet ik van mijzelf dat ik niet genoeg kennis heb om de veiligheid van w8woorden te garanderen en w8woord vergeten emails op te stellen.