Hallo, ik zou graag een reactie systeem willen hebben bij mijn foto's. Het script bestaat uit verschillende pagina's en op elke foto moet er appart gereageerd worden. Ik heb er wel een paar gevonden, maar ik vind ze allemaal niet zo lekker werken, Dus daarom vraag ik welk reactie stysteem kunnen jullie me aanraden?
Self made...
Je geeft elke foto een id, en je slaat de reacties mooi op in een db...

Dus bij foto met id=1
Laat je uit de db selecteren where foto_id='1'
ofzo :)
Mijn foto's zijn ook gelinkt met id, dit script heb ik van internet en een beetje naar mijn eigen wensen aangepast. Dus ik ben niet zo goed in php...
Dus hoe maak ik een goede reactiesysteem met Foto_id=1?
(ps mijn foto's worden niet ui de db gehaald, maar van een map (kweet niet of dat wat uitmaakt?)
Dat je fotos uit een map komen, is vrij logisch... ;)

Je hebt dus bvb:
Pagina waar ze je fotos bekijken:
Foto weergave, id=1
<?
// Opslaan
if ($opslaan) {
if (is_numeric($_GET['id'])) { // Foto id nakijken
$id = $_GET['id'];
} else {
echo "Vals foto id";
exit;
}
// Auto_increment id, als eerste waarde, nodig om te sorteren nadien, moet je niet ingeven, wordt auto geset als je je tabel goed hebt ingesteld :p
mysql_query("INSERT INTO tabel (foto_id,naam,bericht) VALUES ('" . $id . "','" . $_POST['naam'] . "','" . $_POST['comment'] . "')");
echo "Succes";
}
// Formulier hieronder
?>
<form action="<?= $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="text" name="naam">
<textarea name="comment"></textarea>
<input type="submit" value="opslaan" name="opslaan">
</form>
<?
// weergave
$query = "SELECT * FROM tabel WHERE foto_id='" . $id . "' ORDER BY id DESC";
$res = mysql_query($query);
if ($row = mysql_fetch_array($res)) {
do {
echo "Naam: " . $row['naam'];
echo "<br /><br />";
echo "Bericht: " . $row['bericht'];
} while ($row = mysql_fetch_array($res));
}
?>

Fouten voorbehouden, snel hier ingetypt...
Baseer je hierop, en je komt er ;)

Edit: paar foutjes
Hij doet het, alleen je was een ) vergeten in regel 4. Maar dat geeft niet, die kan ik er wel uit halen.
Maar nu nog een vraagie. Wat voor sql tabel maak ik dan aan? ik heb niet zo veel verstand van sql:S
Tabelnaam kies je maar, moet je wel aanpassen in de 2 queries, en dan 4 velden ofzo...

id -> INT -> primary -> auto increment
foto_id -> INT
naam -> TEXT
bericht -> TEXT

Je zal er wel nog werk aan hebben hoor ;)

Edit:
Op je output van je bericht & naam
moet je htmlentities(); en nl2br(); ook nog toepassen... kan handig zijn ;)
Op naam hoeft nl2br normaal niet, omdat je geen textarea geeft ;)
Vind ik niet erg om er veel werk aan de hebben, zo leer je het nog eens:D

Maar ik had nog een vraag, wat doe ik hier fout, ik krijg de errors:
Warning: mysql_query(): Access denied for user: 'root@localhost' (Using password: NO) in /usr/export/www/vhosts/funnetwork/hosting/testenforum/temp/projects/foto/reacties.php on line 25

Warning: mysql_query(): A link to the server could not be established in /usr/export/www/vhosts/funnetwork/hosting/testenforum/temp/projects/foto/reacties.php on line 25

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/testenforum/temp/projects/foto/reacties.php on line 26

en ik heb voor de db deze tabel ingevoegd:
CREATE TABLE fotoreacties (
id int(11) PRIMARY KEY auto_increment,
foto_iid int(2),
naam Text NOT NUL,
bericht text NOT NULL
)

wat doe ik fout?

(ps wat betekend int($getal)?)
INT = integer = getal...

En die errors zijn er omdat je eerst een verbinding naar je db moet leggen, eer je queries kan uitvoeren.. Eens zoeken bij tutorials omtrent verbindingen en je komt er wel uit ;) Succes ;)
Verbinding gemaakt, maar krijg nog 1 error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Kweet niet wat voor error dat is.. en wat ik er aan kan doen?
Is er nergens een site ofzo waar al de errors in staan en wat je dan 'ongeveer' verkeerd doet?
Das dus een fout op het uitlezen..
Geen idee waar die vandaan komt... :/
Wat bedoel je met uitlezen? wil je mijn code hebben?

<?

//-- maak eerst de connectie met de database!
$user = "********";
$pass = "********";
$host = "l********";
$dbdb = "********";

if (!mysql_select_db($dbdb, mysql_connect($host, $user, $pass)))
{
echo "Kan geen verbinding maken met de database.";
exit();
}

// Opslaan
if ($opslaan) {
if (is_numeric($_GET['iid'])) {
$iid = $_GET['iid'];
}
else {
echo "Vals foto id";
exit;
}
// Auto_increment id, als eerste waarde
mysql_query("INSERT INTO tabel (foto_iid,naam,bericht) VALUES ('" . $iid . "','" . $_POST['naam'] . "','" . $_POST['comment'] . "')");
echo "Succes";
}
// Formulier hieronder
?>
<form action="<?= $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="text" name="naam">
<textarea name="comment"></textarea>
<input type="submit" value="opslaan" name="opslaan">
</form>
<?
// weergave
$query = "SELECT FROM tabel WHERE fotosreacties='" . $iid . "' ORDER BY id";
$res = mysql_query($query);
if ($row = mysql_fetch_array($res))
{
do {
echo "Naam: " . $row['naam'];
echo "<br /><br />";
echo "Bericht: " . $row['bericht'];
} while ($row = @mysql_fetch_array($res));
}
?>

Reageren