Ik wil op mijn site een soort album maken met flash filmpjes.

Gewoon dat je ergens op kan klikken, en dat je dan het volgende filmpje ziet. En dan ook nog een link naar eerste en laatste ofzo.

Dat wil ik doen met zoiets: index.php?page=1 En dat je ook een pagina aan kan maken door een formulier.


Hoe begin je met zoiets?
Waarom werkt mijn edit pagina niet?

<?php
    if ($_SERVER["PHP_AUTH_USER"] != "boris" || $_SERVER["PHP_AUTH_PW"] != "test") 
    { 
        header("WWW-Authenticate: Basic realm=\"Enter username and password to proceed\"");  
        header("HTTP/1.0 401 Unauthorized"); 
        echo "<h1>Authentication failed</h1>Je hebt geen rechten tot deze pagina."; 
    }     
    else 
    { 
include("../connect.php");


if (!isset($_POST['submit'])) {
echo '
<fieldset><legend><b>Bestand editten</b></legend>
<form action="edit.php" method="post">
<input type="text" readonly="readonly" name="id" value="' . $_GET['id'] . '">ID<br>
<input type="text" name="file" value="' . $_GET['file'] . '" />Bestandsnaam<br>
<input type="text" name="naam" value="' . $_GET['naam'] . '" />Titel<br>
#<input type="text" name="bgcolor" value="' . $_GET['bgcolor'] . '" />Achtergrondkleur<br>
<input type="text" maxlength="3" value="400" name="' . $_GET['hoogte'] . '" />Hoogte<br>
<input type="text" maxlength="3" value="550" name="' . $_GET['breedte'] . '" />Breedte<br>
<input type="submit" name="submit" value="submit" id="submit">
</form>
</fieldset>
';
} else {



$query = "UPDATE `flashmovies`  SET `file` = '".$_POST['file']."' WHERE `id` = '".$_GET['id']."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE `flashmovies`  SET `naam` = '".$_POST['naam']."' WHERE `id` = '".$_GET['id']."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE `flashmovies`  SET `bgcolor` = '".$_POST['bgcolor']."' WHERE `id` = '".$_GET['id']."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE `flashmovies`  SET `hoogte` = '".$_POST['breedte']."' WHERE `id` = '".$_GET['id']."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE `flashmovies`  SET `breedte` = '".$_POST['hoogte']."' WHERE `id` = '".$_GET['id']."'";
$sql = mysql_query($query) or die(mysql_error());

echo 'velden ge-update!<br>';
echo '<a href="index.php">klik hier om terug te gaan</a>';

}




}
?>





link: www.xxx.nl/flash/admin/index.php

user: boris
pass: test


[edit]link en user en pass[/edit]
Geen idee, wat werkt er niet?

Wat ik wel zie:
Waarom gebruik je backticks in je query?
Waarom zet je enkele quotes om een getal in je query?

Edit:
en Waarom 4 je vier updates uit terwijl het ook in 1 kan?

Edit2:
moet het niet POST['id'] zijn ipv GET['id'] ?
Wat zijn backticks?

Quotes om getallen weggehaald


En, het editten werkt niet.

Je kan het gerust proberen, het is nog maar een test versie.

Als je op edit drukt staat er : ge-edit, maar dan is het dat niet
Een backtick: `
Die dingen werken alleen in MySQL en ze zorgen er voor dat je reserved words als kolom naam ed. kan gebruiken en dat wil je niet...
@edit1:
hoe meot dat dan?

ik begin pas net met mysql...



@edit2:
nee get['id']
Want:
Je linkt naar edit.php zo: edit.php?id=23 ofzo. En je moet updaten waar het id dus is wat in de link staat, dus GET.
O, dus al die backticks (`) moeten vervangen worden door quotes (') ?

[edit]als ik van
$query = "UPDATE `flashmovies` SET `file` = '".$_POST[`file`]."' WHERE `id` = '".$_GET[`id`]."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE `flashmovies` SET 'naam' = '".$_POST['naam']."' WHERE `id` = '".$_GET[`id`]."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE `flashmovies` SET 'bgcolor' = ".$_POST['bgcolor']." WHERE `id` = '".$_GET[`id`]."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE `flashmovies` SET 'hoogte' = ".$_POST['breedte']." WHERE `id` = '".$_GET[`id`]."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE `flashmovies` SET 'breedte' = ".$_POST['hoogte']." WHERE `id` = '".$_GET[`id`]."'";
$sql = mysql_query($query) or die(mysql_error());


dit maak:

$query = "UPDATE 'flashmovies' SET 'file' = '".$_POST['file']."' WHERE 'id' = '".$_GET['id']."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE 'flashmovies' SET 'naam' = '".$_POST['naam']."' WHERE 'id' = '".$_GET['id']."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE 'flashmovies' SET 'bgcolor' = ".$_POST['bgcolor']." WHERE 'id' = '".$_GET['id']."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE 'flashmovies' SET 'hoogte' = ".$_POST['breedte']." WHERE 'id' = '".$_GET['id']."'";
$sql = mysql_query($query) or die(mysql_error());
$query = "UPDATE 'flashmovies' SET 'breedte' = ".$_POST['hoogte']." WHERE 'id' = '".$_GET['id']."'";
$sql = mysql_query($query) or die(mysql_error());



dan krijg ik deze error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''flashmovies' SET 'file' = 'sheicedfssdf.swf' WHERE 'id' = ''' at line 1
[/edit]
Je formulier geeft een POST['id'] mee, probeer anders eens met print_r($_GET); of je wel een GET['id'] mee krijgt?

backticks hoef je helemaal niet te vervangen, een kolom of tabel naam mag gewoon zo in je query.

Edit:
Even een voorbeeldje een update query zou er zo uit kunnen zien:

UPDATE tabel SET nummer=1, tekst='tekst' WHERE id=1
Oke heb nu dit:
<?php


$query = "UPDATE flashmovies SET file=".$_POST['file'].", naam='".$_POST['naam']."', bgcolor=".$_POST['bgcolor'].", hoogte=".$_POST['hoogte'].", breedte=".$_POST['breedte']." WHERE id=".$_POST['id']."";
$sql = mysql_query($query) or die(mysql_error());


?>


en dan krijg ik:

Unknown table 'geedittebestandsnaam' in field list




EXCUSEER MIJ, QUOTES (') VERGETEN


het werkt nu:-)
mooi dat het werkt :)

Reageren