mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 09:24 Benutzername: Passwort: Auto-Login

Thema: [php] bilderupdate vom 31.12.2003


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] bilderupdate
Autor Nachricht
aUDIOfREAK
Threadersteller

Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht: Männlich
Verfasst Mi 31.12.2003 13:48
Titel

[php] bilderupdate

Antworten mit Zitat Zum Seitenanfang

ich stell mich grad mal wieder a bissle blöd an.
ich habe ein kleines cms gebastelt mit dem man u.a. auch bilder hochladen kann. bei einem neuen eintrag wird logischerweise auch der bildername mit in die datenbank eingetragem. nun habe ich folgendes problem:

wenn ich einen bestehenden eintrag bearbeiten will hab ich bei meinen eingabefeldern die inhalte der datenbak dort ausgegeben. nur beim file-feld funktionierd das nicht. heir habe ich dann die variable der datenbank als hidden-field ausgegeben.

nun will ich das wenn kein neues bild ausgewählt wurde das alte bestehen bleibt (bzw. der alte datenbankeintrag), aber mit dem script das ich gemacht habe wird das feld in der Datenbank jedesmal leer gemacht. es werden nur neue einträge übernommen. was mache ich falsch?

hier mal der code der seite zur bessseren veranschaulichung:

Code:

<?
if ($submit):
include 'include/db.php';
               
if ($userfile != '') {
copy($userfile,$DOCUMENT_ROOT/_include/news/$userfile_name);
$picture = $userfile_name;
} else {
$picture = $pic; }

  $sql = UPDATE tbl_news SET
          ues='$ues',
        besch1='$besch1',
        besch2='$besch2',
        pic='$picture'
        WHERE ID=$xid;
       
  if (@mysql_query($sql)) {
    echo(<p>Eintrag bearbeitet</p>);
  } else {
    echo(<p>Fehler beim Bearbeiten des Eintrags:  .
         mysql_error() . </p>);
  }
else:

include 'include/db.php';
$dbq = (SELECT * FROM tbl_news WHERE ID=$xid);
$result = mysql_query($dbq);
while ($row = mysql_fetch_array($result))
{
$xid = $row[ID];
$ues = $row[ues];
$pic = $row[pic];
$besch1 = $row[besch1];
$besch2 = $row[besch2];
?>
<form action=?x=b.news method=post enctype=multipart/form-data name=form1>
  <div align=left>
    <table width=100%  border=1 cellpadding=3 cellspacing=0 bordercolor=#CCCCCC>
      <tr>
        <td width=26%>Uuml;berschrift</td>
        <td width=74%><input name=ues type=text id=ues value=<? echo $ues ?> size=40></td>
      </tr>
      <tr>
        <td>Kurzer Text (Hauptseite)</td>
        <td><textarea name=besch1 cols=40 rows=10 id=besch1><? echo $besch1 ?></textarea></td>
      </tr>
      <tr>
        <td>Langer Text </td>
        <td><textarea name=besch2 cols=40 rows=15 id=besch2><? echo $besch2 ?></textarea></td>
      </tr>
      <tr>
        <td>Bild</td>
        <td><input name=userfile type=file class=INPUT id=userfile size=25></td>
      </tr>
        <tr>
        <td>nbsp;</td>
        <td><input name=xid type=hidden value=<? echo $xid ?>>
          <input name=pic type=hidden id=pic value=<? echo $pic ?>>
        <input name=submit type=submit id=submit value=Eintragen></td>
      </tr>
    </table>
</form>
<? }
endif; ?>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
aUDIOfREAK
Threadersteller

Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht: Männlich
Verfasst Mi 31.12.2003 16:33
Titel

Antworten mit Zitat Zum Seitenanfang

wo sind denn die ganzen php-junkies???
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
karmacoder

Dabei seit: 15.04.2002
Ort: Fürth
Alter: 42
Geschlecht: Männlich
Verfasst Mi 31.12.2003 16:51
Titel

Antworten mit Zitat Zum Seitenanfang

hier *zwinker*

ich krieg augenkrebs bei deinem script sorry.
du solltest dir dringend aktuellere quellen zum lernen besorgen.

das wird dir ne antwort geben:
http://php.net/manual/en/features.file-upload.php
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
aUDIOfREAK
Threadersteller

Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht: Männlich
Verfasst Mi 31.12.2003 21:24
Titel

Antworten mit Zitat Zum Seitenanfang

danke für den link - trotzdem wäre die beantwortung meiner eigentlichen frage ganz schön gewesen. wie bekomm ich´s hin das der eintrag in der datenbank erhalten bleibt wenn keine datei hochgeladen wird?

und weshalb genau bekommst du augenkrebs bei meinem script? das ist doch genauso wie wenn ich behaupten würde alle deine webseiten die du baust schauen scheiße aus. sorry - aber ne begründung für deine meinung wäre ganz schön gewesen. ich bin halt in sachen php noch ein relativer anfänger. deshalb bin ich natürlich für kritik offen etwas besser zu machen, aber dazu müsste ich erst mal wissen was jetzt genau so schlecht an meinem script ist. danke.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
karmacoder

Dabei seit: 15.04.2002
Ort: Fürth
Alter: 42
Geschlecht: Männlich
Verfasst Do 01.01.2004 16:07
Titel

Antworten mit Zitat Zum Seitenanfang

der fehler müste hier
Code:

if ($userfile != '') {

liegen

um erhlich zu sein bin ich enttäuscht das es überhaupt nocht klappt auf aktuellen servern....
deswegen der link, wenn gelesen und verstanden würdest du sehen das man das so nicht (mehr) machen kann und nie sollte. da es u.a. ein sicherheitsrisiko ist. erklräung: http://www.php.net/manual/en/security.registerglobals.php

Code:

if($_FILES['userfile']['tmp_name'] != ) {
   move_uploaded_file($_FILES['userfile']['tmp_name'], $DOCUMENT_ROOT . /_include/news/ . $_FILES['userfile']['name']);
   $picture = $_FILES['userfile']['name'];
} else {
   $picture = $pic;
}


tipps:
zur besseren übersicht/einheitlichkeitn würde ich auch "else: " gegen "else {" und "endif" gegen "}" tasuchen...

da
include 'include/db.php';
sowohl im if als auch im else fall steht kannst du es vor den block schreiben.

PS:
Falls ich den fehler richtig erkannt habe, würdest du nach dem lesen des links selber erlernen können was du benötigst das halte ich immer für besser. jetzt beantworte ich deine frage weniger sonder mache die arbeit für dich.

augenkrebs bekomme ich immer wenn jemand in so eiem spagetti programmiert mal : endif mal {} mal mit mal ohne tab. 0!!!! kommentare NIEMAND kann 100% erahnen was du mit dem code wirklich erzeugen willst.
es könnte ja immer sein das noch andere fehler drinn stecken und dann sind 3te sofort aufgeschmissen.
am anfang macht das sicher jeder so aber man tut sich selber und vor allem anderen einen gefallen wenn man sich mehr oder weniger an: http://pear.php.net/manual/en/standards.php hält.
sicher hat jeder kleine vorlieben und abwandelungen davon.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
aUDIOfREAK
Threadersteller

Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht: Männlich
Verfasst Do 01.01.2004 16:26
Titel

Antworten mit Zitat Zum Seitenanfang

vielen dank für die ausführliche antwort. ich werd mir deinen rat mal zu herzen nehmen und mir auch mal die php.net-seite reinziehen.

grüße und ein gutes neues *zwinker*

aUDIOfREAK
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.