Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » Fehler -> Schreiben in die Datenbank    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
FRAGE007
Mitglied
Guter User


Dabei seit: 13.03.2009
Herkunft: Berlin
Posts: 383
     Fehler -> Schreiben in die Datenbank Zitat | Bearbeiten

Hallo,

ich habe hier etwas gebaut um in meinem Admin einen blog Eintrag einzügen zu können. Jedoch klappt es nicht. Ich erhalte die Meldung "Die Änderung wurde erfolgreich durchgeführt." Aber in der Datenbank ist nichts- wie gehe ich vor um den Fehler zu finden oder sieht in jemand eventuell sogar?

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:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
<script type="text/javascript" src="../ckeditor/ckeditor.js"></script> 

<?php
session_start
();
$db = new PDO('mysql:host=XX;dbname=XX''XX''XX');

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

//Abfrage der Nutzer ID vom Login
$userid $_SESSION['userid'];
 

    
$userid $_SESSION['UserID'];


    
define("UPLOAD_DIR""/var/www/vhosts/XX.de/images/upload/"); // 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 $db->prepare("SELECT id, status, subimage, meta_titel, meta_beschreibung, meta_keywords, 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=news&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>
                <label for='status_text'>Status:</label><br><input type='status' id='status' name='status' size='90' value='
{$row->status}'><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
        
{

             
$user $_SESSION["UserID"];
            try {
                
$stmt $db->prepare("UPDATE inhalt SET status=:status,  subimage=:subimage, meta_titel=:meta_titel, meta_beschreibung=:meta_beschreibung, meta_keywords=:meta_keywords, 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(':text'$_POST["inhalt"], 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();
            }
        }



}

?>
<?php


$datum 
date("d.m.Y - H:i");
                
                echo 
"<fieldset><legend>neuer Blog Eintrag:</legend>
                <form enctype='multipart/form-data' action='index.php?seite=news&texte=submit&amp;' method='post'>
                <label for='titel'>Titel:</label><br><input type='text' id='titel' name='titel' size='90' value=''><br>
                <label for='meta_titel'>meta_titel:</label><br><input type='text' id='meta_titel' name='meta_titel' size='90' value=''><br>
                <label for='meta_beschreibung'>meta_beschreibung:</label><br><input type='text' id='meta_beschreibung' name='meta_beschreibung' size='90' value=''><br>
                <label for='meta_keywords'>meta_keywords:</label><br><input type='text' id='meta_keywords' name='meta_keywords' size='90' value=''><br>
                <label for='subtitel'>subtitel:</label><br><input type='text' id='subtitel' name='subtitel' size='90' value=''><br>
                <label for='user'></label><br><input type='hidden' id='user' name='user' size='90' value=''><br />
                <label for='date'></label><br><input type='hidden' id='date' name='date' size='90' value='
$datum'><br />

        <input type='Radio' name='typ' value='text' checked='checked' /> nur Text
        <input type='Radio' name='typ' value='bild' /> mit Bild

<br />


                <label for='bild1'></label><br><input type='hidden' id='bild1'  name='bild1' size='90' value=''><br>
                <label for='datei'>Bilddatei (460px x 270px):</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' ); 
            </script>"
;

                echo 
"<br><input type='submit' value='erstellen'></form>";

?>



26.11.2019, 14:22 Profil | PM | E-Mail  
FRAGE007
Mitglied
Guter User


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

Meine Idee ist das es irgendwie an der ID für die Datenbank hängt diese muss er ja neu erstellen nur habe ich keinen Plan was ich nun weiter zu prüfen und zu tun habe oder ob ich hier total auf dem Holzweg bin


26.11.2019, 14:25 Profil | PM | E-Mail  
DingsDaBums
Mitglied
Exzellenter User


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

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
<?php

// [...]
$stmt->execute();

echo 
"<div style='font-color:#008000;font-weight:bold;margin-bottom:20px'>Die &Auml;nderung wurde erfolgreich durchgef&uuml;hrt.</div>"

// [...]


Ich würde hinter dem Execute mal ein var_dump($stmt->error) einfügen, um dir anzeigen zu lassen, ob es da einen Fehler bei der Abfrage gab.




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
26.11.2019, 17:47 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » Fehler -> Schreiben in die Datenbank   

Neues Thema | Antworten   


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