Hoihoi,

Ik heb een vraagje. Ik heb een html FORM binnen mijn artikelplaatsen.php. Daar kan ik een artikel schrijven (id, titel, bericht, datum) en vervolgens met de knop verzenden naar mijn Database sturen. Nu wil ik met een artikel een pdf bestand mee kunnen sturen. Als ik dan op de gebruikerssite kijk wil ik kunnen zien dat er een bestand bijgesloten is.

De vraag is dus:

Hoe kan ik binnen 1 form en informatie naar de database sturen en een pdf uploaden + op een of andere manier koppelen aan het bericht (ik heb al een bestand-upload-script). Iemand die me verder kan helpen?

Groetjes,
Hier een nettere versie:
Maar maak van die VARCHAR(20) even een ENUM('nee','ja') met een standaardwaarde van 'nee'.

<?php
if ($_GET['show'] == 'add' || $_POST['show'] == 'add')
{
    if ($_POST['titel'] && $_POST['msg'] && $_POST['mydate'] && $_POST['titel'])
    {
        if ($_POST['pdf'])
        {
            $pdf = 'ja';
        }
        else
        {
            $pdf = 'nee';
        }
        $sql = 'INSERT INTO almelo_nieuws (id, titel, msg, datum, intro, informail, pdf) VALUES (\'\', \'' . mysql_real_escape_string($_POST['titel']) . '\', \'' . mysql_real_escape_string($_POST['msg']) . '\', \'' . mysql_real_escape_string($_POST['mydate']) . '\', \'' . mysql_real_escape_string($_POST['intro']) . '\', \'' . mysql_real_escape_string($_POST['informail']) . '\', \'' . $pdf. '\')';
        $res = mysql_query($sql);
        if ($res)
        {
            if ($pdf=='ja')
            {
                $newname = 'pdf/' . mysql_isert_id() . '.pdf';
                $res = move_uploaded_file($_FILES['myfile']['tmp_name'], $newname);
                if ($res)
                {
                    echo 'Het bericht is toegevoegd aan de site.';
                }
                else
                {
                    echo 'Het bericht is toegevoegd aan de site maar de PDF niet.';
                }
            }
        }
        else
        {
            echo 'Het bericht is niet toegevoegd aan de site.';
        }
    }
    else
    {
        if ($_POST['submit']){
            $err = 'Enkele velden vergeten.';
        }
        if ($_POST['mydate']){
            $cdate = $_POST['mydate'];
        }
        else
        {
            $cdate = date('Y-m-d');
        }
        $row['msg'] = nl2br($row['msg']);
        echo '<br><b>Plaats hier uw nieuwsbericht:</b><br><br>';
        echo '<form method="post" action="' . $PHP_SELF . '" name="formulier" onSubmit="return checkdate(this.mydate)" enctype="multipart/form-data">';
        echo '<input type="hidden" name="show" value="add">';
        echo 'Datum: <input type="text" size="15" maxlength="15" value="'. $cdate . '" name="mydate" id="nieuws_veld_datum"><br><br>';
        echo '<img src="../img/icon_informail.jpg"> Nieuwsbericht opslaan als informail?<br>';
        echo '<select name="informail" id="informail">';
        echo '<option value="nee">nee</option>';
        echo '<option value="ja">ja</option>';
        echo '</select><br><br>';
        echo 'Titel:<br>';
        echo '<textarea name="titel" rows="2" cols="40" id="nieuws_veld_titel">' . $row['titel'] . '</textarea><br><br>';
        echo 'Intro:<br>';
        echo '<textarea name="intro" rows="4" cols="40" id="nieuws_veld_intro">' . $row['intro'] . '</textarea><br><br>';
        echo 'Bericht:<br>';
        echo '<textarea name="msg" rows="15" cols="40" id="nieuws_veld_tekst">' . $row['msg'] . '</textarea><br>';
        echo 'PDF (zet een vinkje om up te loaden en te laten zien an de bezoeker):<br>';
        echo '<input type="checkbox" name="pdf"> <input type="file" name="myfile">';
        echo '<input type="submit" name="submit" value="toevoegen" id="nieuws_submit">';
        echo '</form>';
    }
}
?> 

en dit zet je op de pagina waar het niews word opgehaald:

<?php
if ($pdf=='ja'){
    echo 'Bekijk de PDF, klik <a href="pdf/' . $id . '.pdf">hier...</a>.';
}
?>

[edit]typo[/edit]
ok heb ik gedaan.

ik krijg deze melding :
Fatal error: Call to undefined function: mysql_isert_id() in /home/users/kennmftp/kennistip.nl/almelo/beheer/pages/00nieuws.php on line 80


regel 80 bij mij is: $newname = 'pdf/' . mysql_isert_id() . '.pdf';

ik heb wel een map aangemaakt met pdf dus daar kan het volgens mij niet aan liggen?
zo moettie. en die map moest DACHT K 777 als chmod hebben, kwee nie

<?php
if ($_GET['show'] == 'add' || $_POST['show'] == 'add')
{
    if ($_POST['titel'] && $_POST['msg'] && $_POST['mydate'] && $_POST['titel'])
    {
        if ($_POST['pdf'])
        {
            $pdf = 'ja';
        }
        else
        {
            $pdf = 'nee';
        }
        $sql = 'INSERT INTO almelo_nieuws (id, titel, msg, datum, intro, informail, pdf) VALUES (\'\', \'' . mysql_real_escape_string($_POST['titel']) . '\', \'' . mysql_real_escape_string($_POST['msg']) . '\', \'' . mysql_real_escape_string($_POST['mydate']) . '\', \'' . mysql_real_escape_string($_POST['intro']) . '\', \'' . mysql_real_escape_string($_POST['informail']) . '\', \'' . $pdf. '\')';
        $res = mysql_query($sql);
        if ($res)
        {
            if ($pdf=='ja')
            {
                $newname = 'pdf/' . mysql_insert_id() . '.pdf';
                $res = move_uploaded_file($_FILES['myfile']['tmp_name'], $newname);
                if ($res)
                {
                    echo 'Het bericht is toegevoegd aan de site.';
                }
                else
                {
                    echo 'Het bericht is toegevoegd aan de site maar de PDF niet.';
                }
            }
        }
        else
        {
            echo 'Het bericht is niet toegevoegd aan de site.';
        }
    }
    else
    {
        if ($_POST['submit']){
            $err = 'Enkele velden vergeten.';
        }
        if ($_POST['mydate']){
            $cdate = $_POST['mydate'];
        }
        else
        {
            $cdate = date('Y-m-d');
        }
        $row['msg'] = nl2br($row['msg']);
        echo '<br><b>Plaats hier uw nieuwsbericht:</b><br><br>';
        echo '<form method="post" action="' . $PHP_SELF . '" name="formulier" onSubmit="return checkdate(this.mydate)" enctype="multipart/form-data">';
        echo '<input type="hidden" name="show" value="add">';
        echo 'Datum: <input type="text" size="15" maxlength="15" value="'. $cdate . '" name="mydate" id="nieuws_veld_datum"><br><br>';
        echo '<img src="../img/icon_informail.jpg"> Nieuwsbericht opslaan als informail?<br>';
        echo '<select name="informail" id="informail">';
        echo '<option value="nee">nee</option>';
        echo '<option value="ja">ja</option>';
        echo '</select><br><br>';
        echo 'Titel:<br>';
        echo '<textarea name="titel" rows="2" cols="40" id="nieuws_veld_titel">' . $row['titel'] . '</textarea><br><br>';
        echo 'Intro:<br>';
        echo '<textarea name="intro" rows="4" cols="40" id="nieuws_veld_intro">' . $row['intro'] . '</textarea><br><br>';
        echo 'Bericht:<br>';
        echo '<textarea name="msg" rows="15" cols="40" id="nieuws_veld_tekst">' . $row['msg'] . '</textarea><br>';
        echo 'PDF (zet een vinkje om up te loaden en te laten zien an de bezoeker):<br>';
        echo '<input type="checkbox" name="pdf"> <input type="file" name="myfile">';
        echo '<input type="submit" name="submit" value="toevoegen" id="nieuws_submit">';
        echo '</form>';
    }
}
?> 

en dit zet je op de pagina waar het niews word opgehaald:

<?php
if ($pdf=='ja'){
    echo 'Bekijk de PDF, klik <a href="pdf/' . $id . '.pdf">hier...</a>.';
}
?>
jah het moet een 777 chmod map zijn anders heeft hij geen schrijf rechten!
Mijn ftp-kennis is beperkt, maar volgens mij is chmod 777 zelden of nooit nodig en ALTIJD onverstandig. Daarmee geef je namelijk alles en iedereen onbeperkte toegang tot deze directory. Dat is vragen om problemen.
ik ben er mee aan het rotzooien, het werkt volgens mij!
heb alleen een vraag waarom het vinkje er tussen zit? is dat een soort beveiliging?
ja in de code heeft jonathan een vinkje ingebouwd (waarschijnlijk met een doordachte reden die ik niet zie :P)

Reageren