Ik heb de titel van mijn site opgeslagen op een database. En ik kan hem ook weergeven op de site, maar nu wil ik hem kunnen bewerken via een forumlier ...
Ik heb tot nu toe dit; maar het werkt niet :(
<?php
include('config.php');
if(isset($_POST['submit']))
{
$getit = mysql_query("SELECT name FROM content");
$title = stripslashes($_POST['title']);
$query = mysql_query("UPDATE content SET name='$title' WHERE name='$getit'");
echo "Your title has been updated!";
}
else
{
?>
<form name="update" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<input type="text" name="title" />
<input type="submit" name="submit" />
</form>
<?php
}
?>
Weet iemand hoe dit te doen ?
De tabel bestaat uit 2 dinge: naam en content; ik wil de content veranderen waar de naam='title' (dus bij cntent wordt de eigenlijke titel opgeslagen ...
KAn iemand helen ?
Bij voorbaat dank :)
if (isset($_GET['id']) && is_numeric($_GET['id'])){
$id = $_GET['id'];
}
if(!$_SERVER['REQUEST_METHOD']) {
$select_all = mysql_query("SELECT id,name FROM content");
while ($all_data = mysql_fetch_array($select_all)){
echo '<a href="'.$_SERVER['PHP_SELF'].'?id='.$data['id'].'">'.$data['naam'].'</a><br>';
}
}
if($_SERVER['REQUEST_METHOD']=="POST")
{
$id=$_POST['id'];
$title = stripslashes($_POST['title']);
$query = mysql_query("UPDATE content SET name='$title' WHERE id='$id'");
echo "Your title has been updated!";
}
elseif($_SERVER['REQUEST_METHOD']=="GET")
{
$getit = mysql_fetch_array(mysql_query("SELECT name FROM content WHERE id =".$id));
}
?>
Dat zou ik afraden, ik zou toch wel een soort van id(identifier gebruiken, een getal) Hetgene wat je nu probeerd te veranderen is in feite je Id, je sleutel, zoals je het wilt.
NIET DOEN, maak een kolom id, zet hem op int, auto_increment, maak daar je key van, en dan het script gebruiken.
Dr klopt niet echt veel van dat script vindt ik, $id wordt aangemaakt in een if, en wordt gebruikt in een elseif, als request method POST is wordt id aangemaakt en is de elseif niet van toepassing dus $id wordt niet gebruikt.
Als Request_method GET is wordt $id gebruikt maar niet gemaakt omdat REQUEST METHOD geen post is, dus die if en elseif kloppen niet. Die krijg je zo niet werkend.
Dr klopt niet echt veel van dat script vindt ik, $id wordt aangemaakt in een if, en wordt gebruikt in een elseif, als request method POST is wordt id aangemaakt en is de elseif niet van toepassing dus $id wordt niet gebruikt.
Als Request_method GET is wordt $id gebruikt maar niet gemaakt omdat REQUEST METHOD geen post is, dus die if en elseif kloppen niet. Die krijg je zo niet werkend.
Dan mag je het nog een keer opnieuw lezen
Wanneer er geen post of get is, krijg je een lijstje met titels, die ook een link is naar de ?id= pagina, als het if(get) is krijg je het formulier te zien voor de betreffende id, (een hidden field waar dat id in staat!)
en als je die dan verzend, kom je in de if(post) ruimte, waar die de database update.
Misschien dat het wat ingewikkeld lijkt, maar het zou prima moeten werken (mits je dus een Id in je database gebruikt)
[edit]
alleen de inhoud van die laatste elseif( ) in het bedoelde script, moet in de allereerste if (de uitvoer van de query) maar verder zie ik niet waarom het volgens jou zo niet kan werken!