Hej.
Jeg har et ?
Jeg ahr lavet et nyhedssystem. Jeg har indtil nu lavet en oprettelses funktion og en slette funktion som fungere.
Jeg vil dog gerne lave en funktion som den samme formular, som bruges til upload, kan ændre i det enkelte id.
Nedenfor er koden til oprettelses formularen.
----------------------------------------------------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>HBK Opret nyhed</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
$db="simflight_dk";
$link=mysql_connect("");
if(!$link)
die ("kan ikke connecte");
mysql_select_db($db,$link)
or die ("kan ikke aabne database");
$query=("insert into hbknews(navn,beskrivelse,img_name) values ('$navn','$beskrivelse','$img_name')");
mysql_query($query,$link);
?>
<form name="form1" method="post" action="nyhedsformular2.php" enctype=multipart/form-data>
<p> </p>
<table width="100%" border="0">
<tr>
<td bgcolor="BCB8A9"><font size="3" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">Oprettelse
af Nyheder på www.hbkbadminton.dk</font></td>
</tr>
</table>
<table width="100%" border="0">
<tr>
<td><p><font size="2" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular"><a href="cms.php">Retur
Uden Oprettelse af nyheder</a></font></p>
<table width="100%" border="0" bgcolor="EDE8D3">
<tr>
<td width="26%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Overskrift
(overskrift på nyheden)</font></td>
<td><font size="1" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">
<input name="navn" type="text" id="navn2">
</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nyhed</font></td>
<td><textarea name="beskrivelse" wrap="virtual" cols="50" rows="10"></textarea></td>
</tr>
</table></td>
</tr>
</table>
<p>
<?
//user defined variables
$abpath = ""; $sizelim = "no";
$size = "92500000";
$number_of_uploads = 1;
if ($_REQUEST['submitted']){
//all image types to upload
$cert1 = "image/pjpeg"; //Jpeg type 1
$cert2 = "image/jpeg"; //Jpeg type 2
$cert3 = "image/gif"; //Gif type
$cert4 = "image/ief"; //Ief type
$cert5 = "image/png"; //Png type
$cert6 = "image/tiff"; //Tiff type
$cert7 = "image/bmp"; //Bmp Type
$cert8 = "image/vnd.wap.wbmp"; //Wbmp type
$cert9 = "image/x-cmu-raster"; //Ras type
$cert10 = "image/x-x-portable-anymap"; //Pnm type
$cert11 = "image/x-portable-bitmap"; //Pbm type
$cert12 = "image/x-portable-graymap"; //Pgm type
$cert13 = "image/x-portable-pixmap"; //Ppm type
$cert14 = "image/x-rgb"; //Rgb type
$cert15 = "image/x-xbitmap"; //Xbm type
$cert16 = "image/x-xpixmap"; //Xpm type
$cert17 = "image/x-xwindowdump"; //Xwd type
$log = "";
//checks if file exists
if ($img_name == "") {
$log .= "No file selected for upload $i";
}
if ($img_name != "") {
//checks if file exists
if (file_exists("$abpath/$img_name")) {
$log .= "Filen $i ligger allerede på serveren";
} else {
//checks if files to big
if (($sizelim == "yes") && ($img_size > $size)) {
$log .= "File $i was too big";
} else {
//Checks if file is an image
if (($img_type == $cert1) or ($img_type == $cert2) or ($img_type == $cert3) or ($img_type == $cert4) or ($img_type == $cert5) or ($img_type == $cert6) or ($img_type == $cert7) or ($img_type == $cert8) or ($img_type == $cert9) or ($img_type == $cert10) or ($img_type == $cert11) or ($img_type == $cert12) or ($img_type == $cert13) or ($img_type == $cert14) or ($img_type == $cert15) or ($img_type == $cert16) or ($img_type == $cert17)) {
@copy($img, "$abpath/$img_name") or $log .= "Kunne ikke uploade billedet til serveren";
if (file_exists("$abpath/$img_name")) {
$log .= "Filen $i er uploadet til serveren";
}
} else {
$log .= "Det $i er ikke en billedefil, upload kun billedefiler som jpg, gif filer";
}
}
}
}
?>
</p>
<p><font size="1" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">Resultats meddelse:</font>:
<?
echo "$log";
?>
</p>
<?
exit;
} // End processing portion of script
?>
<?
for ($j=0; $j<$number_of_uploads; $j++) {
?>
<input type=file name=img value=news.jpg size=30 id="img">
<?
}
?>
<input type="hidden" name="submitted" value="true">
<input type="submit" name="submit" value="Upload">
</p>
<p><font size="1" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular">Vælg et billede til nyheden</font></p>
</form>
</body>
</html>
-------------------------------------------------------------------------------------------------------
Det jeg altså ønsker er at kunne oprette en formular, som skal kunne ændre en given nyheds forskellige felter. De nuværende indhold skal derfor indlæses i formularen
Håber nogen kan hjælpe
På forhånd tak
Klaus
Det du kunne gøre var at sætte valuen i input felterne til den værdi, som stod der før.
eks.
Du har klikket på linket "redigere nyhed". Dette link indeholder følgende:
<?php
// når du hiver data ud, skal du bare huske at tage nyhedsid'et med ud.
// OG sætte det på følgende måde:
echo "<a href='redigere_nyhed.php?id=1'>redigere nyhed</a>";
?>
ved at klikke på dette link, bliver du sendt hen til redigere_nyhed.php siden, og derinde skal der så være noget der kan tage imod id taggen.
Derudover skal du så hente data ud fra databasen hvor det id findes, og så sætter du oplysningerne ind i den formular.
F.eks.
<?php
$id = $_GET['id']; // bruges til det i taggen
$navn = $_POST['navn'];
$beskrivelse = $_POST['beskrivelse'];
$img_name = $_POST['img_name'];
$nyhedid = $_POST['nyhedid'];
// når du har trykket på opdatere sker dette:
if($navn != "" && $beskrivelse != "" && $nyhedid != "") {
mysql_query=("update hbknews set navn='$navn', beskrivelse='$beskrivelse', img_name='$img_name' where id=$nyhedid");
echo "<font color=\\"red\\">Nyhed opdateret</font>";
}
else {
echo "<font color=\\"red\\">fejl</font>";
}
// når du har klikket på linket sker dette:
if($id != "") {
$sql = mysql_query("select * from hbknews where id=$id");
$row = mysql_fetch_array($sql);
echo "<form method=\\"post\\" action=\\"redigere_nyhed.php\\">";
echo "<table><tr><td>";
echo "navn";
echo "<input type=\\"text\\" name=\\"navn\\" value=\\"".$row['navn']."\\" />";
echo "navn";
echo "<input type=\\"text\\" name=\\"img_name\\" value=\\"".$row['img_name']."\\" />";
echo "beskrivelse:";
echo "<input type=\\"hidden\\" name=\\"nyhedid\\" value=\\"$id\\" />";
echo "<textarea row=\\"10\\" cols=\\"10\\" name=\\"beskrivelse\\">".$row['beskrivelse']."</textarea>";
echo "<input type=\\"submit\\" value=\\"opdatere\\" />";
echo "</td></tr></table>";
echo "</form>";
}
?>
Når alt dette så er færdig, burde det hele være opdateret... Var det sådan noget du søgte efter?
---------------------------
Hilsen Jimmi Westeberg