2010-12-26 10 views
0

Ich verwende dieses Formular, um den Titel, den Link des Bildes und den Text des Artikels der Datenbank hinzuzufügen. Ich verwende Typ = "Text" für den Bildlink, jetzt wird ein Bild hochgeladen und der Link kopiert.Bild Upload & Speichern des Links in der Datenbank

Ich möchte das Bild mit diesem für und speichern Sie den Link des Bildes in der Datenbank.

Die Form:

<?php if (!$_POST["go"]){ ?> 
<form method="post" action=""> 
    <input name="article_title" type="text"> 
    <input name="article_image_url" type="text"> <!-- i want here type="file" --> 
    <textarea name="article_text"></textarea> 
    <input type="submit" name="go" value="Submit"> 
</form> 


<?php 
} else { 
    $date=date("Y.m.d"); 
    $title = $_POST["article_title"]; 
    $image_url = $_POST["article_image_url"]; 
    $text = $_POST["text"]; 


$sql="INSERT INTO articles (title,image_url,text,date) VALUES ('$title', '$image_url', '$text', '$date')"; 

if (mysql_query($sql)){ 

echo "done";} 

else {echo "error<br>" . mysql_error();}} 

?> 

Bitte helfen Sie mir mit diesem :)

ps: sorry für mein Englisch: $

+0

Willkommen bei SO. Was genau ist deine Frage? Was funktioniert nicht? –

+0

Sieht so aus, als ob er die 'article_image_url' zu' 'ändern möchte. Speichern Sie das Bild im Ordner und speichern Sie den Bildnamen in db. Ja? – haha

+0

Ja, du hast es – Safet

Antwort

1

Das erste, was Sie tun sollten, und es scheint, dass Sie ahnungslos sind etwa SQL escaping, wird hinzugefügt, bevor Sie auf die erste $_POST zugreifen var:

$_POST = array_map("mysql_real_escape_string", $_POST); 

Dann möchten Sie anscheinend einen Datei-Upload für das Bild verwenden. Wenn ja, das Feld URL ändern:

<input type=file name=image> 

Diese hochgeladene Datei in $_FILES angezeigt wird. Verwenden Sie es wie folgt, vorzugsweise, nachdem Sie die anderen Felder aus $ _POST gelesen haben:

if ($img = $_FILES["image"]["tmp_name"]) { 
    $image_url = md5_file($img) . ".jpeg"; 
    move_uploaded_file($img, "./upload/$image_url"); 
    $image_url = "http://www.example.org/where/$image_url"; 
} 

Es gibt viel die

mit den Sicherheitsbedenken. Aber das ist hier nicht möglich, also habe ich es auf .jpeg fest verdrahtet. Es gibt viele Informationen in der Bedienungsanleitung und ihre Kommentare: http://de2.php.net/manual/en/features.file-upload.php

Verwandte Themen