Avatar billede syngredk Nybegynder
05. marts 2006 - 15:42 Der er 6 kommentarer og
1 løsning

Upload billed med nyhed

Hejsa

Håber at nogle kan hjælpe mig, med at løse et upload problem. Når jeg laver en nyhed via siden news.add og forsøger at tilknytte et billed til nyheden, gemmer den ikke billedet.

Hvis jeg ellers ligger et billede op via et direkte script, fungere det. Men ikke igennem denne nyhed, hvad har jeg overset?

news.add.php -->

<?php

require('../access/access_config.php');

    // Creating option tags with category data
    $Res = mysql_query("SELECT id, category FROM news_category ORDER BY category");
    $CategoryOptions = "";
    while (list($CategoryId,$CategoryTitle) = mysql_fetch_row($Res))
    {
        $CategoryOptions .= "<option value=\"$CategoryId\">".stripslashes($CategoryTitle)."</option>\n";
    }
?>

<html>

<head>
    <title></title>
</head>

<body>

<?php include ('../includes/menu.php'); ?>

<form action="news.config.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="referer" value="news.add">

  <table border="0" width="100%">
    <tr>
      <td width="10%">Overskrift</td>
      <td width="1%">:</td>
      <td width="89%"><input type="text" name="title" size="42"></td>
    </tr>
    <tr>
      <td width="10%">Synops</td>
      <td width="1%">:</td>
      <td width="89%"><textarea rows="3" name="synopsis" cols="32"></textarea></td>
    </tr>
    <tr>
      <td width="10%">&nbsp;</td>
      <td width="1%"></td>
      <td width="89%"></td>
    </tr>
    <tr>
      <td width="10%">Emne/kategori</td>
      <td width="1%">:</td>
      <td width="89%"><select name="category"><?php echo $CategoryOptions; ?></select></td>
    </tr>
    <tr>
      <td width="10%">Vedhæft billede</td>
      <td width="1%">:</td>
      <td width="89%"><input type="file" name="image" size="42"></td>
    </tr>
    <tr>
      <td width="10%">Andet billede</td>
      <td width="1%">:</td>
      <td width="89%"><input type="text" name="standard" size="42"></td>
    </tr>
    <tr>
      <td width="10%"></td>
      <td width="1%"></td>
      <td width="89%">Indtast filnavnet på billedet du vil bruge<br><a href="images.list.php" target="_blank">Se uploadede billeder</a></td>
    </tr>
    <tr>
      <td width="10%">&nbsp;</td>
      <td width="1%"></td>
      <td width="89%"></td>
    </tr>
    <tr>
      <td width="10%">Nyheden</td>
      <td width="1%">:</td>
      <td width="89%"><textarea rows="11" name="text" cols="32"></textarea></td>
    </tr>
    <tr>
      <td width="10%">&nbsp;</td>
      <td width="1%"></td>
      <td width="89%"></td>
    </tr>
    <tr>
      <td width="10%"></td>
      <td width="1%"></td>
      <td width="89%"><input type="submit" value="Opret nyhed" name="B1">&nbsp;
        <input type="reset" value="Slet alt" name="B2">
        <input type="hidden" name="ip" value="<?php print $_SERVER['REMOTE_ADDR']; ?>"></td>
    </tr>
  </table>
</form>

</body>

</html>

news.config.php -->

<?php
include('../access/access_config.php');

if ($_POST['referer'] == 'news.add') {
    if ($_FILES['image']['name'] != '') {
        $image = time().substr($_FILES['image']['name'],strrpos($_FILES['image']['name'],'.'));
        move_uploaded_file($_FILES['image']['tmp_name'], '../../news/images/'.$image);
    } elseif ($_POST['standard'] != '') {
        $image = $_POST['standard'];
    } else {
        $image = '';
    }
mysql_query("INSERT INTO news (ip, category, date, writer, title, synopsis, text, source, image) VALUES ('".$_POST['ip']."','".$_POST['category']."',NOW(),'".$_POST['writer']."','".$_POST['title']."','".$_POST['synopsis']."','".$_POST['text']."','".$_POST['source ']."','".$_POST['image']."')") or die(mysql_error());
header("Location: news.list.php");
}

if ($_POST['referer'] == 'upload') {
    for ($i=0;$i<count($_FILES['file']['name']);$i++) {
        if ($_FILES['file']['name'][$i] != '') {
            move_uploaded_file($_FILES['file']['tmp_name'][$i], '../../news/images/'.$_FILES['file']['name'][$i]);
        }
    }
    header("Location: images.list.php");
}
?>
Avatar billede backside Nybegynder
05. marts 2006 - 15:46 #1
Har du husket CHMOD på de mapper den skal bruge?
Avatar billede syngredk Nybegynder
05. marts 2006 - 15:48 #2
CHMOD ?? Må du lige forklare lidt nærmere.. Sidder og forsøger mig frem her med en PHP bog, er ikke så god til PHP, endnu :-) Men nedenstående virker, for kan godt smide op via en selvstændig fil, uden nyhed:
<form action="news.config.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="referer" value="upload">

<input type="file" name="file[]" style="width: 248px"> <input type="file" name="file[]" style="width: 248px"><br>
<input type="file" name="file[]" style="width: 248px"> <input type="file" name="file[]" style="width: 248px"><br>
<input type="file" name="file[]" style="width: 248px"> <input type="file" name="file[]" style="width: 248px"><br><br>

<input type="submit" value="Upload">
</form>

Virker f.eks.
Avatar billede syngredk Nybegynder
05. marts 2006 - 15:50 #3
Hov, nu der vist noget galt her.. 2 sek.. Sidder lige og tjekker serveren igen, filen jeg prøvede at ligge op er der, men bliver "bare" ikke vist i mappen. Dvs. adressen til billedet er ikke lagt ind i Databasen i feltet IMAGE
Avatar billede backside Nybegynder
05. marts 2006 - 15:59 #4
Tror også jeg var lidt hurtig med den CHMOD. Du kan jo godt ligge filer op.
Avatar billede backside Nybegynder
05. marts 2006 - 16:05 #5
ER den ikke lagt ind, eller bliver den bare ikke vist? (adressen til billedet)
Avatar billede syngredk Nybegynder
05. marts 2006 - 16:06 #6
Adressen bliver ikke lagt ind kan jeg se i databasen, den mgl. adressen til billedet. Så billedet kommer op, men adressen til billedet kommer IKKE ind i databasen.
Avatar billede syngredk Nybegynder
05. marts 2006 - 16:52 #7
Løsningen er fundet:

".$image."' er fejlen i filen news.config.php.. Den skal jo huske referencen og indsætte den, kræver at tegnene er ens jo :-) hjælper at forlade skærmen i nogle minutter, straks tænker man klart hehe.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester