Welkom, Gast. Je bent niet ingelogd.

php & mysql nieuws syteem

Stijn
<b>Neuker</b>
Geplaatst op: 10 Mar 2007, 19:25
PimpCoins: 0
💸+
Bewerken Quote

hey

ik ben bezig met ghet nieuws systeem op punt aan het stellen.
maar als ik reageer op het bericht gaat het .
maar als iemand een tweede reactie plaatst in het zelfde nieuws bericht geef hij een eror

dit is de error:
Duplicate entry '1' for key 1

dit is het 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
<?php
if(!isset($_POST['B1']))
{
$q2a=mysql_query("SELECT * FROM leden WHERE username='".$_COOKIE['dp_user']."'");
while($fetch2a=mysql_fetch_object($q2a))
{
$statusa=$fetch2a->status;
$valid_passa=$fetch2a->password;
}
if(isset($_COOKIE['dp_user']) && isset($_COOKIE['dp_pass']) && $_COOKIE['dp_pass'] == $valid_passa){
?>
<meta http-equiv="Content-Language" content="nl">
<form method="POST" action="">
  <p>
  <font face="Trebuchet MS"><font size="2">Bericht plaatsen:<br>
  </font>
  <textarea rows="9" name="bericht" cols="47"></textarea><font size="2"><br>
  </font>
  <input type="submit" value="Plaatsen!" name="B1"><font size="2"> </font>
  <input type="reset" value="Opnieuw" name="B2"></font></p>
</form>
<?php
}else{
echo"Je bent niet ingelogd!";
}
}
else
{
$bericht=addslashes($_POST['bericht']);
$naam=$_COOKIE['dp_user'];
$id=$_GET['id'];
mysql_query("INSERT INTO nieuwsreacties (username, bericht, berichtid) VALUES ('$naam','$bericht','$id')") or die (mysql_error());
echo"Bericht geplaatst!";
}
?>

de sql :

Maarten
Geplaatst op: 10 Mar 2007, 19:38
PimpCoins: 0
💸+
Bewerken Quote

Kan ie wel 2 berichten schrijven in de database?

Lennard
?
Geplaatst op: 10 Mar 2007, 19:39
PimpCoins: 0
💸+
Bewerken Quote

Maak eens een auto increment primary key aan, dan moettie werken.

Stijn
<b>Neuker</b>
Geplaatst op: 10 Mar 2007, 19:40
PimpCoins: 0
💸+
Bewerken Quote

Lennard schreef:

Maak eens een auto increment primary key aan, dan moettie werken.

ik ben maar een beginner in mysql en hoe doe je dat

iisys
Hmhm, indeed. whtvr.
moderator
Geplaatst op: 10 Mar 2007, 19:41
PimpCoins: 0
💸+
Bewerken Quote

Mja je bent de auto_increment vergeten.

Radiozone schreef:

[...]
ik ben maar een beginner in mysql en hoe doe je dat

Wat boeit dat nou weer

Zet het attribuut van de berichtid-kolom op auto_increment.

Stijn
<b>Neuker</b>
Geplaatst op: 10 Mar 2007, 19:42
PimpCoins: 0
💸+
Bewerken Quote

heb ik net toegevoegt en het wekt nog niet

Lennard
?
Geplaatst op: 10 Mar 2007, 19:45
PimpCoins: 0
💸+
Bewerken Quote

Radiozone schreef:

heb ik net toegevoegt en het wekt nog niet


Maak een nieuwe kolom aan, en noem die id ofzo (int(11)), en zet die op auto_increment.

Hoe je hem in PHPMyAdmin als primary key zet weet ik niet, maar als je hem in SQL zou typen zo:

1
2
3
4
CREATE TABLE dinges (
id int(11) auto_increment,
-- hier je overige kolommen
PRIMARY KEY(id));

Je hebt nu berichtid als primary key, wat betekent dat íedere waarde in die tabel in de kolom berichtid anders moet zijn, ze moeten allemaal uniek zijn.
Maar omdat jij een vaste waarde als berichtid meegeeft (namelijk $id, welke jij uit $_GET['id'] haalt), zijn die dus nu hetzelfde, maar dat mag niet omdat ze uniek moeten zijn zegmaar.

Beetje vaag, maar hoop dat je het snapt.

Stijn
<b>Neuker</b>
Geplaatst op: 10 Mar 2007, 19:46
PimpCoins: 0
💸+
Bewerken Quote

Stijn
<b>Neuker</b>
Geplaatst op: 10 Mar 2007, 19:48
PimpCoins: 0
💸+
Bewerken Quote

Lennard schreef:

[...]
Maak een nieuwe kolom aan, en noem die id ofzo (int(11)), en zet die op auto_increment.

Hoe je hem in PHPMyAdmin als primary key zet weet ik niet, maar als je hem in SQL zou typen zo:

[...]

Je hebt nu berichtid als primary key, wat betekent dat íedere waarde in die tabel in de kolom berichtid anders moet zijn, ze moeten allemaal uniek zijn.
Maar omdat jij een vaste waarde als berichtid meegeeft (namelijk $id, welke jij uit $_GET['id'] haalt), zijn die dus nu hetzelfde, maar dat mag niet omdat ze uniek moeten zijn zegmaar.

Beetje vaag, maar hoop dat je het snapt.


ik zal het proberen of het lukt maar even eten
ps: waar kan het suysteem dan werken als elk id moet uniek zijn :s

[Laatst bewerkt door Radiozone op zaterdag 10 maart 2007, om 19:49]
Lennard
?
Geplaatst op: 10 Mar 2007, 20:46
PimpCoins: 0
💸+
Bewerken Quote

Radiozone schreef:

[...]
ik zal het proberen of het lukt maar even eten
ps: waar kan het suysteem dan werken als elk id moet uniek zijn :s

Die id moet je alleen extra toevoegen, of helemaal geen primary key erin zetten.
(Met die id hoef je niets te doen, maar is wel zo handig, anders weet je niet welk id je moet bewerken - als je ze wilt bewerken )

📫

Nieuw privébericht

🔥

Registreren


Login