ret

Tags:    php

Hej.

Jeg har lavet et artikel system, nu ville jeg gerne have at man kan rette det hele. Det virker næsten man vælger hvilken artikel man ville redigere i artikler.php:

<?
include("config.php");

$hent = mysql_query("SELECT id,overskrift FROM artikler_avis ORDER BY id DESC") or die(mysql_error());
echo '<ul>';
while ($vis = mysql_fetch_assoc($hent)) {
?>
<a href="ret_artikel.php?id=<? echo $vis[id]; ?>">Rediger</a>
<? echo $vis

; ?><br>
<?
}
echo '</ul>';
?>

Og i ret_artikel.php laver man det om man vil:

<html>
<head>

<link rel="stylesheet" type="text/css" href="style.css">

</head>

<?
include("config.php");

$hent = mysql_query("SELECT * FROM artikler_avis WHERE id = '$_GET[id]'") or die(mysql_error());
$vis = mysql_fetch_array($hent);
?>

<h1>Rediger artikel</h1>

<form method="post" encType="multipart/form-data" action="tjek.php">
<input type="hidden" name="referer" value="ret_artikel">
<input type="hidden" name="referer" value="upload">
<input type="hidden" name="id" value="<? echo $_GET['id']; ?>">

<div class="frmobj">Overskrift:</div>
<input type="text" name="overskrift" value="<? echo $vis

; ?>" style="border-style:solid; border-width:1px; width: 300px" size="20"><br>
<br>
<div class="frmobj">Forfatter</div>
<input type="text" name="forfatter" value="<? echo $vis[forfatter]; ?>" style="border-style:solid; border-width:1px; width: 300px" size="20"><br>
<br>
<div class="frmobj">Billede</div>
<input type="file" name="image" style="border-style:solid; border-width:1px; width: 300px" size="20"><br>
<br>
<div class="frmobj">Artikel:</div>
<textarea name="artikel" rows="10" cols="20" style="border-style:solid; border-width:1px; width: 300px"><? echo $vis[artikel]; ?></textarea><br><br>

<div class="frmobj"></div>
<input type="submit" value="Ret artikel" style="border-style: solid; border-width: 1px">
</form>

<div class="hr"></div>

</body>
</html>

Så er der tjek.php det er nok den der er noget ivejen med den ser således ud:

<?

include("config.php");

if ($_POST['referer'] == 'ret_artikel') {
mysql_query("UPDATE artikler_avis SET overskrift='".$_POST['overskrift']."', forfatter='".$_POST['forfatter']."', artikel='".$_POST['artikel']."', image='".$img."' WHERE id=".$_POST['id']."") or die(mysql_error());
}
include("config.php");
if ($_POST['referer'] == 'upload') {
$ok=0;
if($_FILES["image"]["name"]) {
$size = $_FILES["image"]["size"] / 1024;
if($size > 0 && $size < 1023) {
$fra = $_FILES["image"]["tmp_name"];
$fra2 = $_FILES["image"]["name"];
$tilp = $_FILES["image"]["type"];
$tiltype = strstr($_FILES["image"]["type"],"/");
$tiltype = substr($tiltype,1);
if ($tiltype == "bmp" || $tiltype == "gif" || $tiltype == "pjpeg" || $tiltype == "x-png") {
$tiltype = str_replace("x-png","png",$tiltype);
$tiltype = str_replace("pjpeg","jpg",$tiltype);
$til = "billeder/".time().rand(0000,9979)."-".$fra2;
if(function_exists("move_uploaded_file")) {
move_uploaded_file($fra, $til);
$img = "$til";
$ok=1;
} else {
copy($fra, $til);
$img = "$til";
$ok=1;
}
}else {$error='<font color=red>Forkert fil-format</font>';}
}else {$error='<font color=red>Fil over 1 MB</font>';}
}else {$error='<font color=red>Ingen fil fundet</font>';}

//
// End: Upload image
//

if ($ok) {
$id = $row["id"];
$overskrift = $row["overskrift"];
$image = $row["image"];
$forfatter = $row["forfatter"];
$dato = date('d/m/Y');
$artikel = $row["artikel"];
mysql_query("UPDATE FROM artikler_avis SET (overskrift, image, forfatter, artikel) VALUES ('$_POST

', '$img', '$_POST[forfatter]' '$_POST[artikel]')");
mysql_close();
echo "Artiklen er rettet";
}
else {
echo "Kunne ikke tilføjes, pga.:<br>".$error;
}
}
?>

Håber nogen kan hjælpe, den retter ikke noget som helst, men den siger artiklen er rettet! og den melder INGEN fejl nogen steder!





5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Der mangler ihvertfald et komme mellem forfatter og artikel i den her linie:

mysql_query("UPDATE FROM artikler_avis SET (overskrift, image, forfatter, artikel) VALUES ('$_POST

', '$img', '$_POST[forfatter]' '$_POST[artikel]')");


MvH

Stefan Svensson
http://www.remote-unlock.dk





Virker stadig ik:(



Virker stadig ik:(

Jeg har nu kigget din kode lidt mere efter, og kan se at du i din form har to skjulte input-felter som begge hedder "referer".

Desuden i din tjek.php, starter du med at updatere indholdet i din tabel, og bagefter validere du det?!

MvH

Stefan Svensson
http://www.remote-unlock.dk



:(



..



t