Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » zweites Bild Upload Funktion    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
FRAGE007
Mitglied
Guter User


Dabei seit: 13.03.2009
Herkunft: Berlin
Posts: 381
     zweites Bild Upload Funktion Zitat | Bearbeiten

Hallo, ich habe den unten stehenden Code. Hier muss ich nun eine zweites Bild hochladen habe keinen schimmer wo ich anzusetzen habe. Hat jemand einen Tipp oder kann mir den Code anpassen. In der Datenbank habe ich ein neues Feld "bild_haupt".

Vielen Dank

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
<script type="text/javascript" src="../ckeditor/ckeditor.js"></script> 

<?php
if(!isset($_SESSION['userid'])) {
    die(
'Bitte zuerst <a href="login.php">einloggen</a>');
}
                     include (
"include/navi.php"); 

 


            require 
'../db.php';

    
define("UPLOAD_DIR""/var/www/vhosts/XXXXX/httpdocs/img/"); // Upload Ordner eintragen
                              
    
try {

    }
    catch(
PDOException $ex) {
        echo 
$ex->getMessage();
        
// Hier eventuell Logging des Fehlers einbauen
    
}

    
// Adminbereich 
    
if(isset($_GET['texte']))
    {
        if(
$_GET['texte'] == 'edit'// Einen Artikel bearbeiten
        
{
            
$id $_GET['id'];
            try {
                
$stmt $pdo->prepare("SELECT id, status, subimage, meta_titel, meta_beschreibung, meta_keywords,haupt_titel, haupt_100, site,  kategorie,  text  FROM inhalt WHERE id=:id ");
                
$stmt->bindValue(':id'$idPDO::PARAM_INT);
                
$stmt->execute();
                
$row $stmt->fetchObject();
                echo 
"<fieldset><legend>Bearbeiten eines Artikels</legend>
                <form enctype='multipart/form-data' action='index.php?seite=massagen&texte=submit&amp;id=
{$row->id}' method='post'>
                <input type='hidden' name='id' value='
{$row->id}'>
                <label for='meta_titel'>Meta Titel:</label><br><input type='text' id='meta_titel' name='meta_titel' size='90' maxlength='65' value='
{$row->meta_titel}'><br>
                <label for='meta_beschreibung'>Meta Beschreibung:</label><br><input type='text' id='meta_beschreibung' name='meta_beschreibung' maxlength='145'  size='90' value='
{$row->meta_beschreibung}'><br>
                <label for='meta_keywords'>Meta Keywords:</label><br><input type='text' id='meta_keywords' name='meta_keywords' size='90' value='
{$row->meta_keywords}'><br>
<hr>
                <label for='haupt_titel'>Titel Übersicht</label><br><input type='text' id='haupt_titel' name='haupt_titel' size='90' maxlength='65' value='
{$row->haupt_titel}'><br>
                <label for='haupt_100'>Text Übersicht:</label><br><input type='text' id='haupt_100' name='haupt_100' size='90' maxlength='105' value='
{$row->haupt_100}'><br>


<hr>
                <label for='kategorie'>Kategorie:</label><br><input type='kategorie' id='kategorie' name='kategorie' size='90' value='
{$row->kategorie}'><br>
                <label for='site'>site:</label><br><input type='site' id='site' name='site' size='90' value='
{$row->site}'><br>


<hr>



                <label for='status_text'>Status:</label><br><input type='status' id='status' name='status' size='90' value='
{$row->status}'><br>
<hr>
                <label for='subimage'>Dateiname:</label><br><input type='text' id='subimage' name='subimage' size='90' value='
{$row->subimage}'><br>
                <label for='datei'>Bilddatei:</label><br><input type='file' id='datei' name='datei'><hr>


                </fieldset>"
;

              echo 
"            <textarea id='inhalt' name='inhalt'>$row->text</textarea>
            <script type='text/javascript'>



CKEDITOR.replace( 'inhalt', {
});
            CKEDITOR.config.contentsCss = '/../css/style.css' ;            

            </script>"


                echo 
"<br><input type='submit' value='&auml;ndern'></form>";
            }
            catch(
PDOException $ex)
            {
                echo 
$ex->getMessage();
            }

        }
        elseif(
$_GET['texte'] == 'submit'// Einen Artikel Updaten/Speichern
        
{

            try {
                
$stmt $pdo->prepare("UPDATE inhalt SET status=:status,  subimage=:subimage, meta_titel=:meta_titel, meta_beschreibung=:meta_beschreibung, meta_keywords=:meta_keywords, haupt_titel=:haupt_titel, haupt_100=:haupt_100, kategorie=:kategorie, site=:site, text=:text WHERE id=:id");


                
/**
                * Image Upload Routine: subimage Parameter binden entweder mit dem alten Wert oder einem neuen Bild
                */
                
$allowedExtensions=array(IMAGETYPE_GIFIMAGETYPE_JPEG);; // Erlaubte Bildformate ... Gif+JPG zurzeit
                
try {

                    if(
$_FILES['datei']['size']>0){ // Neues Bild hochgeladen, ansonsten einfach den Standardwert nehmen (subimage)

                        
if($_FILES['datei']['size'] >= 1024000){
                            throw new 
Exception("Das Bild darf nicht größer als 100KB sein.");
                        }

                        
$dateityp GetImageSize($_FILES['datei']['tmp_name']); 
                        if(!
in_array($dateityp[2],$allowedExtensions)){
                            throw new 
Exception("Das Bild liegt in einem nicht erlaubten Bildformat vor.");
                        }

                        if(
$_FILES['datei']['error']>0){
                            throw new 
Exception("Es ist ein Fehler beim Upload aufgetreten: " $_FILES['datei']['error']);
                        }

                        
$name preg_replace("/[^A-Z0-9._-]/i""_"$_FILES['datei']['name']); // Unerlaubte Zeichen im Dateinamen filtern

                        // Überschreiben unmöglich machen durch neuen Namen
                        
$i 0;
                        
$parts pathinfo($name);
                        while (
file_exists(UPLOAD_DIR $name)) {
                            
$i++;
                            
$name $parts["filename"] . "-" $i "." $parts["extension"];
                        }

                        
// preserve file from temporary directory
                        
$success move_uploaded_file($_FILES['datei']['tmp_name'], UPLOAD_DIR $name);
                        if (!
$success) { 
                            throw new 
Exception("Datei konnte nicht gespeichert werden im Upload Ordner.");
                        }

                    }
                    else 
// Kein neues Bild hochgeladen
                    
{
                        
$name $_POST["subimage"];
                    }
                }
                catch(
Exception $ex)
                {
                    echo 
$ex->getMessage();
                    
$name $_POST["subimage"]; // Fallback auf den alten Wert wenn das neue Bild nicht funktioniert
                
}
                
$stmt->bindValue(':subimage'$namePDO::PARAM_STR);
                
$stmt->bindValue(':status'$_POST["status"], PDO::PARAM_STR);
                
$stmt->bindValue(':meta_titel'$_POST["meta_titel"], PDO::PARAM_STR);
                
$stmt->bindValue(':meta_beschreibung'$_POST["meta_beschreibung"], PDO::PARAM_STR);
                
$stmt->bindValue(':meta_keywords'$_POST["meta_keywords"], PDO::PARAM_STR);
                
$stmt->bindValue(':haupt_titel'$_POST["haupt_titel"], PDO::PARAM_STR);
                
$stmt->bindValue(':haupt_100'$_POST["haupt_100"], PDO::PARAM_STR);
                
$stmt->bindValue(':kategorie'$_POST["kategorie"], PDO::PARAM_STR);
                
$stmt->bindValue(':text'$_POST["inhalt"], PDO::PARAM_STR);
                
$stmt->bindValue(':site'$_POST["site"], PDO::PARAM_STR);
                
$stmt->bindValue(':id'$_POST["id"], PDO::PARAM_INT);
                
$stmt->execute();

                echo 
"<div style='font-color:#008000;font-weight:bold;margin-bottom:20px'>Die &Auml;nderung wurde erfolgreich durchgef&uuml;hrt.</div>"
            }
            catch(
PDOException $ex)
            {
                echo 
$ex->getMessage();
            }
        }



}

?>
<b><hr></b>
<ul style="list-style-type:none;margin:0px;padding:0px">
    <?php
    
foreach($pdo->query("SELECT id, meta_titel FROM inhalt ORDER BY id") as $row)
    {
        echo 
"<li><a  href=\"index.php?seite=massagen&texte=edit&amp;id={$row['id']}\" title=\"Update der Texte\" >{$row['meta_titel']}</a> ";

    }
    
?>
</ul>



01.01.2019, 22:10 Profil | PM | E-Mail  
DingsDaBums
Mitglied
Exzellenter User


Dabei seit: 12.09.2010
Herkunft: keine Angabe
Posts: 2409
      Zitat | Bearbeiten

Das funktioniert eigentlich genau wie mit einer Datei, nur dass man dann z.B. mit $_FILES['datei'] auf die erste Datei zugreifen und diese bearbeiten kann und dann mit z.B. $_FILES['datei_haupt'] auf die zweite Datei, wenn das zweite Input Feld vom Typ "file" entsprechend datei_haupt heißt.

Wenn es anders heißt, muss der name entsprechend gegen datei_haupt ausgetauscht werden. Das Schema lautet also: $_FILES['{NAME DES FILE INPUT Feldes}']


Schau mal bei meinem Projekt vorbei. Vielleicht ist das ja was für dich MyStartPanel - Deine persönliche Startseite mit deinen Favoriten
Auf der Suche nach einem guten Vokabeltrainer? Vokabeltrainer Cramfire - Schnell und effektiv Vokabeln lernen
02.01.2019, 16:02 Profil | PM | E-Mail  
FRAGE007
Mitglied
Guter User


Dabei seit: 13.03.2009
Herkunft: Berlin
Posts: 381
      Zitat | Bearbeiten

kannst du mir das coden?
Bekomme es nicht hin / würde auch was bezahlen ;-)


03.01.2019, 21:03 Profil | PM | E-Mail  
FRAGE007
Mitglied
Guter User


Dabei seit: 13.03.2009
Herkunft: Berlin
Posts: 381
      Zitat | Bearbeiten

?


10.01.2019, 14:33 Profil | PM | E-Mail  
DingsDaBums
Mitglied
Exzellenter User


Dabei seit: 12.09.2010
Herkunft: keine Angabe
Posts: 2409
      Zitat | Bearbeiten

[quote]Orginal von FRAGE007
kannst du mir das coden?
Bekomme es nicht hin / würde auch was bezahlen ;-)
[/quote]

Dafür habe ich aktuell keine Zeit. Bin auf absehbare Zeit komplett ausgelastet.

Ich kann nur hin und wieder mal kurz vorbeischauen und Fragen beantworten, die ich kurz beantworten kann.




Schau mal bei meinem Projekt vorbei. Vielleicht ist das ja was für dich MyStartPanel - Deine persönliche Startseite mit deinen Favoriten
Auf der Suche nach einem guten Vokabeltrainer? Vokabeltrainer Cramfire - Schnell und effektiv Vokabeln lernen
11.01.2019, 14:18 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » zweites Bild Upload Funktion   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz