Comment systeem
SUBMIT
--------
<CODE>
<form id="addCommentForm" method="post" action="">
<div>
<label for="name">Your Name</label>
<input type="text" name="name" id="name" />
<label for="email">Your Email</label>
<input type="text" name="email" id="email" />
<label for="body">Comment Body</label>
<textarea name="body" id="body" cols="20" rows="5"></textarea>
<input type="submit" id="submit" value="Submit" />
</div>
</form>
</CODE
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
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
<?php
$arr = array();
$validates = Comment::validate($arr);
if($validates)
{
/* Everything is OK, insert to database: */
mysql_query(" INSERT INTO comments(name,url,email,body)
VALUES (
'".$arr['name']."',
'".$arr['url']."',
'".$arr['email']."',
'".$arr['body']."',
'".$arr['gegevens_id']."'
)");
$arr['dt'] = date('r',time());
$arr['id'] = mysql_insert_id();
/*
/ The data in $arr is escaped for the mysql query,
/ but we need the unescaped variables, so we apply,
/ stripslashes to all the elements in the array:
/*/
$arr = array_map('stripslashes',$arr);
$insertedComment = new Comment($arr);
/* Outputting the markup of the just-inserted comment: */
echo json_encode(array('status'=>1,'html'=>$insertedComment->markup()));
}
else
{
/* Outputtng the error messages */
echo '{"status":0,"errors":'.json_encode($arr).'}';
}
?>
$arr = array();
$validates = Comment::validate($arr);
if($validates)
{
/* Everything is OK, insert to database: */
mysql_query(" INSERT INTO comments(name,url,email,body)
VALUES (
'".$arr['name']."',
'".$arr['url']."',
'".$arr['email']."',
'".$arr['body']."',
'".$arr['gegevens_id']."'
)");
$arr['dt'] = date('r',time());
$arr['id'] = mysql_insert_id();
/*
/ The data in $arr is escaped for the mysql query,
/ but we need the unescaped variables, so we apply,
/ stripslashes to all the elements in the array:
/*/
$arr = array_map('stripslashes',$arr);
$insertedComment = new Comment($arr);
/* Outputting the markup of the just-inserted comment: */
echo json_encode(array('status'=>1,'html'=>$insertedComment->markup()));
}
else
{
/* Outputtng the error messages */
echo '{"status":0,"errors":'.json_encode($arr).'}';
}
?>
SELECT
-------
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$comments = array();
$result = mysql_query("SELECT * FROM comments ORDER BY id ASC");
while($row = mysql_fetch_assoc($result))
{
$comments[] = new Comment($row);
}
?>
$comments = array();
$result = mysql_query("SELECT * FROM comments ORDER BY id ASC");
while($row = mysql_fetch_assoc($result))
{
$comments[] = new Comment($row);
}
?>
Als je bij de gegevens pagina de gegevens ophaalt kun je het id in een hidden input veld zetten.
Een mogelijkheid is om een hidden input toe te voegen aan je form waarin je als waarde de pagina id zet. Als het binnen het form staat dan komt de waarde automatisch in je $_POST array terecht en kan je het uitlezen net als de andere input.
thx voor de reacties... heb dat idd geprobeerd maar blijk steeds een fout te maken in de code. Kunnen jullie even de lijn voor de hidden input geven en de SELECT * aanpassing maken?
Wat wil je aan je select * doen?
Toevoeging op 23/11/2011 11:41:08:
Darn, heb je waarschijnlijk ook nog een name="gegevens_id" in nodig....
Als je een INSERT hebt gedaan, dan kan je met mysql_insert_id() de gebruiktte ID opvragen.
- Aar - op 23/11/2011 11:46:04:
Als je een INSERT hebt gedaan, dan kan je met mysql_insert_id() de gebruiktte ID opvragen.
Moet ik bij de SELECT dan geen optie where gegevens_id = $id ofzo iets hebben?
Dat hij enkel de commenteer geeft die bij die gegevens_id horen?
Als je na die INSERT een SELECT wilt doen, kan je mysql_insert_id() gebruiken.
- Aar - op 23/11/2011 13:18:33:
Als je na die INSERT een SELECT wilt doen, kan je mysql_insert_id() gebruiken.
Waarom zou je direct na een INSERT een SELECT willen doen. Je hebt alle gegevens nog lijkt mij.