Hallo,

Op mijn website moeten bezoekers de mogelijkheid hebben om te reageren om mijn blogs. Ik ondervind problemen met het plaatsen van een reactie omdat ik werk met: ".intval($_GET['ID'])."

Structuur van de website:
Op de index pagina staan maximaal 4 previews van de blogs.
Als je de blog helemaal wilt lezen, dan moet je op een link klikken.

Omdat elke blog een ID heeft en de pagina waarop je de blog kan lezen universeel is, ben ik erachter gekomen, dankzij phphulp.nl dat ik het volgende moest gebruiken.


<a href="blog.php?ID='.$Row['ID'].'"> >> lees meer</a>


Met de onderstaande code vraag ik de juiste blog op uit de database:


# Query uitvoeren
					$Query = 
						("

						SELECT ID, Titel, Author, Date, Preview, Bericht 

						FROM blog 

						WHERE ID = '".intval($_GET['ID'])."' 

						");


In de database worden de reacties niet geordend, om toch de juiste reacties bij de juiste blog te plaatsen, zou ik een Blogid moeten gebruiken.
Bij het opvragen van de reacties onderaan de blog worden dan alleen de juiste reacties gefilterd met:


WHERE ID = '".intval($_GET['ID'])."'


Nu is mijn vraag hoe ik deze intval moet posten in mijn database... want ik gebruik het onderstaande om mijn reacties te plaatsen.


<?PHP

					/* Kijken of er iets gepost wordt. */
					if($_SERVER['REQUEST_METHOD'] == 'POST')
					{
   						 /* Kijken of er op de knop GO wordt geklikt. */
    						if(isset($_POST['Go']))
    						{
								/* Kijken of er een bericht is ingevuld. */
                                						if(isset($_POST['Naam']) && $_POST['Naam'] != '')
                                						{      
									/* Kijken of er een bericht is ingevuld. */
                                							if(isset($_POST['Datum']) && $_POST['Datum'] != '')
                                							{       
										/* Kijken of er een ID is ingevuld.  hier moet dus iets onder... maar wat?!*/
                                								
                                								{  
											/* Kijken of er een bericht is ingevuld. */
                                									if(isset($_POST['Bericht']) && $_POST['Bericht'] != '')
                                									{                                            
                                                            								/* Query uitvoeren om de gegevens in de database te plaatsen. */
                                                            								$cQuery =
                                                            									"
                                                                								INSERT INTO
                                                                    									reacties
                                                                    								(
                                                                        									Naam,
														Date,
														Blogid,
														Bericht
                                                                    								)

                                                                								VALUES
                                                                    								(
                                                                        									'".mysql_real_escape_string($_POST['Naam'])."',
                                                                        									'".mysql_real_escape_string($_POST['Datum'])."',
                                                                        									'".mysql_real_escape_string($_POST['Bericht'])."'
                                                                    								)
                                                            									";
                                                            
                                                            								/* Resultaat van de query. */
                                                            								$cResultaat = mysql_query($cQuery);
                                                            
                                                           								/* Kijken of de query is gelukt. */
                                                            								if(!$cResultaat)
                                                            								{
                                                                								/* Fout opgetreden met invoeren van gegevens. */
                                                                								echo 'Er is een fout opgetreden met het aanmaken van jouw bericht, <a href="javascript: history.go(-1)"class="link_orange">Terug</a>.';
                                                                								exit();
                                                            								}

                                                            								else
                                                            								{                                                  
                                                                								/* Bericht is succesvol aangemaakt. */
                                                                								echo '<p>Bericht succesvol aangemaakt!</p>';
                                                            								}
											}

											else
                                        								{
                                            									/* bericht is niet geldig. */
                                            									echo 'U heeft geen bericht ingevult, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
                                            									exit();
											} 
										}

								else
        									{
            										/* Geen id ingevuld. */
            										echo 'Er is geen ID ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
            										exit();
        									}
								}

        									else
        									{
            										/* Geen Datum ingevuld. */
            										echo 'U heeft geen datum ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
            										exit();
        									}
								}

        							else
        							{
            								/* Geen naam ingevuld. */
            								echo 'U heeft geen Naam ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
            								exit();
        							}
						}

					}

				?> 


Kan iemand mij helpen?
Eindelijk heb ik de error kunnen vinden:

Notice: Duplicate entry '15' for key 2 in /home/a2158819/public_html/blog.php on line 269

Dus wat ik dacht blijkt juist te zijn, hij wil geen 2 reacties posten met dezelfde Blogid.

Wss zit de fout dan in mijn database?!
Ik ga even kijken wat ik er aan zou kunnen veranderen...

als jullie tips hebben dan hoor ik het graag

Dan heb je blijkbaar een UNIQUE key op de kolom blogid staan. Dat hoort natuurlijk niet in die tabel...
Probleem opgelost!

Blogid stond in mijn database bij de Indexes als Primary...
Zorgde voor dat ik geen duplicaten kon maken van Blog id

Heel erg bedankt allemaal!

Reageren