php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.09.2004, 13:47  
Gast
 
Beiträge: n/a
Standard Problem beim übertragen von Bild URL in DB

EDIT: Die Lösung dieses Problems steht im letzten Beitrag, was heisst SCROLLEN!

Hallo, ich habe hier folgendes Script:
Code:
<?PHP

$akt_text             = $_POST[akt_text];
$id                      = $_POST[id];
$bild                    = $_POST[bild];
/*
 die button
 */
$aendern                 = $_POST[aendern];
$doaendern               = $_POST[doaendern];
$anlegen                 = $_POST[anlegen];
$doloeschen              = $_POST[doloeschen];

print_r($_FILES);

// Verbindung zum Server herstellen
mysql_connect($dbhost,$dblogin,$dbpwd) or die("Verbindung ist gescheitert.");

// Datenbank auswählen
mysql_select_db($dbname);



function Tabelle3Spalt( $breite1 , $breite2 , $breite3 , $vertikal , $horizontal ) {
        global $host;
        $breite =  $breite1 + $breite2 + $breite3;
        print "<table border='0' width='".$breite."' cellpadding='0' cellspacing='0' vspace='0' hspace='0' align='".$vertikal."' valign='".$horizontal."'>\n";
        print "   <tr>\n";
        print "      <td>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "      <td>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "      <td>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "   </tr>\n";
}

function TabelleLeereZeile( $spalten , $hoehe ) {
        global $host;
        print "   <tr>\n";
        print "      <td colspan='" . $spalten . "'>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "   </tr>\n";
}

if($doloeschen && !empty($id)){
       $loeschen="DELETE FROM haupttabelle WHERE ID='$id'";
       mysql_query($loeschen);
       echo mysql_error();

if(mysql_affected_rows()>0){
       echo"b> Der Datensatz wurde Gelöscht /b>";
       }
else{
        echo"b> Der Datensatz wurde nicht Gelöscht /b>";
        }
}

else if($aendern && !empty($id)){

        $sqlbefehl  = "SELECT * FROM haupttabelle ";
        $sqlbefehl .= "WHERE Art_ID = $id";
        $abfrage    = mysql_query($sqlbefehl);
        $anzahl     = mysql_num_rows($abfrage);

        $akt_text = mysql_result( $abfrage , 0, "Aktion_Text");



?>

<table cellspacing=2 cellpadding=10 border=2 align=center>
  <form name='Datensatzaendern' action='eingabe.php' method='post'enctype='multipart/form-data'>
  <input type="hidden" name="id" value="<? echo $id ?>">
    <tr>
      <td>[img] <? echo $zeile[Aktion_Bild] ?> [/img]</td>
      <td width=220 ><textarea name='akt_text' cols='40' rows='9'><? echo $akt_text ?></textarea></td>
     </tr>
    <tr >
      <td colspan=2 align=right><input type='file' name='bild' size='50' enctype='multipart/form-data' ></td>
    </tr>
    <tr >
      <td colspan=2 align=right><input type='submit' name='doaendern' value='Ändern' ></td>
    </tr>
  </form>
</table>

<?



} else if($doaendern){




$lokalerpfad="Projekt/Bildertest/images/";
if(move_uploaded_file($_FILES['bild']['name'],$lokalerpfad . $_FILES['$bild']['$name']))
      {print "Ihre Datei wurde übertragen";
       $bild=$_FILES['$bild']['$name'];
       echo $_FILES['bild']['error'] ;}

        $sql_up = "update haupttabelle set Aktion_Text ='$akt_text',";
        $sql_up .="Aktion_Bild='$bild' where tauchschule.ID='$id'";
        mysql_query($sql_up)or die("Error:". mysql_error());

}else if($anlegen) {
      $lokalerpfad="project/Bildertest/images/";
  if(move_uploaded_file($_FILES['bild']['name'],$lokalerpfad . $_FILES['$bild']['$name']))
      {print "Ihre Datei wurde übertragen";
       $bild=$_FILES['$bild']['$name'];
       echo $_FILES['bild']['error'] ;}
        $sql_in = "insert into haupttabelle(Aktion_Text,Aktion_Bild)";
        $sql_in .="values ('$akt_text','$bild')";
        mysql_query($sql_in)or die("Error:". mysql_error());
}


Tabelle3Spalt( 50 , 20 , 200 , "center" , "top" );
TabelleLeereZeile( 3 , 10 );

print "<form action='eingabe.php' name='anzeigen' method='post'>\n";
print         "   <tr>\n";
print         "      <td colspan='3'>Datensatz auswählen und <input type='Submit' name='aendern' value='ändern' class='eingabe_button'></td>\n";
print         "   </tr>\n";
print         "   <tr>\n";
print         "      <td colspan='3'>Datensatz auswählen und <input type='Submit' name='doloeschen' value='löschen' class='eingabe_button'></td>\n";
print         "   </tr>\n";
TabelleLeereZeile( 3 , 10 );
print "   <tr align='left' valign='top'>\n";
print "      <td colspan='3'>";
print "         <select name='id'>";
$sqlbefehl  = "SELECT * FROM haupttabelle ";
$sqlbefehl .= "ORDER BY ID ASC";
$abfrage    = mysql_query($sqlbefehl);
$anzahl     = mysql_num_rows($abfrage);
for ( $n = 0; $n < $anzahl ; $n++){
   $bezeichnung = mysql_result( $abfrage , $n, "ID");
   $id                   = mysql_result( $abfrage , $n, "ID");
   print "            <option value='$id'>" . $bezeichnung . "</option>";}
print "         </select>";
print "      </td>\n";
print "   </tr>\n";
print         "   <tr>\n";
print         "      <td colspan='3'>Datensatz auswählen und <input type='Submit' name='aendern' value='ändern' class='eingabe_button'></td>\n";
print         "   </tr>\n";
print         "   <tr>\n";
print         "   <tr>\n";
print         "      <td colspan='3'>Datensatz auswählen und <input type='Submit' name='doloeschen' value='löschen' class='eingabe_button'></td>\n";
print         "   </tr>\n";
print         "   </tr>\n";
print "</form>\n";
print "</table>\n";


?>

<table cellspacing=2 cellpadding=10 border=2 align=center>
  <form name='Datensatzaendern' action='eingabe.php' method='post'enctype='multipart/form-data'>
  <input type="hidden" name="id" value="<? echo $id ?>">
    <tr>
      <td>[img] <? echo $zeile[Aktion_Bild] ?> [/img]</td>
      <td width=220 ><textarea name='akt_text' cols='40' rows='9'><? echo $akt_text ?></textarea></td>
     </tr>
    <tr >
      <td colspan=2 align=right><input type='file' name='bild' size='50' enctype='multipart/form-data' ></td>
    </tr>
    <tr >
      <td colspan=2 align=right><input type='submit' name='anlegen' value='Neuanlegen' ></td>
    </tr>
  </form>
</table>

<?
print "</body>\n";
print "</html>\n";

?>
Welches Daten(Artikel) in eine DB übertragensollte.

Den Text überträgt es einwandfrei, jedoch nicht die Bild Url und das bild in den dafür vorgesehenen Ordner.

Zitat:
Array ( [bild] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) )
ist die Ausgabe ich ich dazu bekomme.

Auch funktioniert das ändern eines Datensatze nicht es werden mir hierfür folgende Warnungen ausgegeben mit denen ich leider nichts anfangen kann.
Zitat:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\Projekt\scripte\eingabe.php on line 76

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\Projekt\scripte\eingabe.php on line 78
Wäre schön wenn mir jemand helfen könnte.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.09.2004, 16:27  
Gast
 
Beiträge: n/a
Standard

also was mich wundert, dass bei $_FILES error 4 ist.
Zitat:
UPLOAD_ERR_NO_FILE
Wert: 4; Es wurde keine Datei hochgeladen.
vielleicht probierst du mal ohne das ganze drum rum, ob ein dateiupload
funktioniert.

zu den problemen mit mysql_* Funktionen: nutze mysql_error() bei jeder
Datenbank Aktion und sowas wird dir nicht passieren.
 
Alt 07.09.2004, 10:28  
Gast
 
Beiträge: n/a
Standard

So, ich habe das Script jetzt zerlegt und habe nur bei dem Neuanlegen eines Datensatzes Probleme.
Löschen und ändern funktionieren seltsamer weise.
Hier das Script:

Code:
<?PHP

...


$akt_text                  = $_POST[akt_text];
$id                      = $_POST[id];
$bild                    = $_POST[bild];
/*
 die button
 */

$anlegen                 = $_POST[anlegen];
print_r($_FILES);

// Verbindung zum Server herstellen
mysql_connect($dbhost,$dblogin,$dbpwd) or die("Verbindung ist gescheitert.");

// Datenbank auswählen
mysql_select_db($dbname);



function Tabelle3Spalt( $breite1 , $breite2 , $breite3 , $vertikal , $horizontal ) {
        global $host;
        $breite =  $breite1 + $breite2 + $breite3;
        print "<table border='0' width='".$breite."' cellpadding='0' cellspacing='0' vspace='0' hspace='0' align='".$vertikal."' valign='".$horizontal."'>\n";
        print "   <tr>\n";
        print "      <td>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "      <td>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "      <td>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "   </tr>\n";
}

function TabelleLeereZeile( $spalten , $hoehe ) {
        global $host;
        print "   <tr>\n";
        print "      <td colspan='" . $spalten . "'>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "   </tr>\n";
}



if($anlegen) {
      $lokalerpfad="images/";
  if(move_uploaded_file($_FILES['bild']['name'],$lokalerpfad . $_FILES['$bild']['$name']))
      {print "Ihre Datei wurde übertragen";
       $bild=$_FILES['$bild']['$name'];
       echo $_FILES['bild']['error'] ;}
        $sql_in = "insert into Aktion(Aktion_Text,Aktion_Bild)";
        $sql_in .="values ('$akt_text','$bild')";
        mysql_query($sql_in)or die("Error:". mysql_error());
}

?>

<table cellspacing=2 cellpadding=10 border=2 align=center>
  <form name='Datensatzaendern' action='neuanlegen.php' method='post'enctype='multipart/form-data'>
  <input type="hidden" name="id" value="<? echo $id ?>">
    <tr>
      <td>[img] <? echo $zeile[Aktion_Bild] ?> [/img]</td>
      <td width=220 ><textarea name='akt_text' cols='40' rows='9'><? echo $akt_text ?></textarea></td>
     </tr>
    <tr >
      <td colspan=2 align=right><input type='file' name='bild' size='50' enctype='multipart/form-data' ></td>
    </tr>
    <tr >
      <td colspan=2 align=right><input type='submit' name='anlegen' value='Neuanlegen' ></td>
    </tr>
  </form>
</table>

<?
print "</body>\n";
print "</html>\n";

?>
Und hier die Ausgabe beim anlegen:
Zitat:
Array ( [bild] => Array ( [name] => Snape1.jpg [type] => image/pjpeg [tmp_name] => C:\WINDOWS\TEMP\php4244.TMP [error] => 0 [size] => 19692 ) )
mit der ich nicht anfangen kam.
 
Alt 07.09.2004, 10:37  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von lilnatch
Und hier die Ausgabe beim anlegen:
Zitat:
Array ( [bild] => Array ( [name] => Snape1.jpg [type] => image/pjpeg [tmp_name] => C:\WINDOWS\TEMP\php4244.TMP [error] => 0 [size] => 19692 ) )
mit der ich nicht anfangen kam.
nicht = nichts? ich mein, die ausgabe erzeugst du selber. per print_r() die gibt
dir infos über das $_FILES array .. wo liegt das problem?
 
Alt 07.09.2004, 11:05  
Gast
 
Beiträge: n/a
Standard

Nun mein Problemm liegt darin das beim neuanlegen die Bilddatei nicht übertragen wird und es kein Eintrag in der DB gibt.

Was mich langsam narrisch macht.


Mit der Ausgabe kann ich deshalb nichts anfangen, weil der Fehler (error) 0 ist???
 
Alt 07.09.2004, 14:28  
Gast
 
Beiträge: n/a
Standard

Soooo, letztenendes lage es nur an einer falschen Variable.

Code:
if(move_uploaded_file( $_FILES['bild']['tmp_name'], $neuerName )){
                print "Ihre Datei wurde übertragen";
                $bildname=$_FILES['bild']['name'];
An dieser Stelle hatte ich die Variable $bildname festgelegt...

Code:
        } else {
                print "Ihre Datei wurde nicht übertragen";

        }
        $sql_in = "insert into aktion(Aktion_Text,Aktion_Bild)";
        $sql_in .="values ('$akt_text','$bildname')";
        mysql_query($sql_in)or die("Error:". mysql_error());
        }
Bei dem Insert Befehl hatte ich statt der erstellte Variable $bildname die Variable $bild verwendet... Tippen und seine Tücken


hier nun der richtig Code zum hochladen eines Bildes mit dem ablegen des Blidpfades in einer MYSQL Datenbank.
Code:
<?PHP

/*
 je nachdem, wie der server konfiguriert ist, werden die variablen hier abholen
 */

$akt_text                  = $_POST[akt_text];
$id                      = $_POST[id];
$bild                    = $_POST[bild];
/*
 der Button
 */

$anlegen                 = $_POST[anlegen];
//print_r($_FILES);

// Verbindung zum Server herstellen
mysql_connect($dbhost,$dblogin,$dbpwd) or die("Verbindung ist gescheitert.");

// Datenbank auswählen
mysql_select_db($dbname);



function Tabelle3Spalt( $breite1 , $breite2 , $breite3 , $vertikal , $horizontal ) {
        global $host;
        $breite =  $breite1 + $breite2 + $breite3;
        print "<table border='0' width='".$breite."' cellpadding='0' cellspacing='0' vspace='0' hspace='0' align='".$vertikal."' valign='".$horizontal."'>\n";
        print "   <tr>\n";
        print "      <td>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "      <td>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "      <td>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "   </tr>\n";
}

function TabelleLeereZeile( $spalten , $hoehe ) {
        global $host;
        print "   <tr>\n";
        print "      <td colspan='" . $spalten . "'>[img]" . $host . "images/blind.gif[/img]</td>\n";
        print "   </tr>\n";
}

if ($anlegen){
        $lokalerpfad="images/";
        $neuerName = $lokalerpfad . $_FILES['bild']['name'];
        echo "
" . $neuerName . "
";

        if(move_uploaded_file( $_FILES['bild']['tmp_name'], $neuerName )){
                print "Ihre Datei wurde übertragen";
                $bildname=$_FILES['bild']['name'];
        } else {
                print "Ihre Datei wurde nicht übertragen";

        }
        $sql_in = "insert into aktion(Aktion_Text,Aktion_Bild)";
        $sql_in .="values ('$akt_text','$bildname')";
        mysql_query($sql_in)or die("Error:". mysql_error());
        }
?>




<table cellspacing=2 cellpadding=10 border=2 align=center>
  <form name='Neuanlegen' action='neuanlegen.php' method='post'enctype='multipart/form-data'>
  <input type="hidden" name="id" value="<? echo $id ?>">
    <tr>
      <td align=center width=220 ><textarea name='akt_text' cols='40' rows='9'><? echo $akt_text ?></textarea></td>
     </tr>
    <tr >
      <td align=right><input type='file' name='bild' size='50' enctype='multipart/form-data' ></td>
    </tr>
    <tr >
      <td align=right><input type='submit' name='anlegen' value='Neuanlegen' ></td>
    </tr>
  </form>
</table>

<?
print "</body>\n";
print "</html>\n";

?>
Ich hoffe es gefällt. :wink:
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bild onMouseOver einblenden rocco HTML, Usability und Barrierefreiheit 8 22.02.2008 12:52
Transparentes Bild über Bild legen *update gelöst* Broadcast PHP-Fortgeschrittene 11 04.02.2008 15:27
Problem mit DIV -Bild soll am unteren Ende der Seite bleiben scheibo HTML, Usability und Barrierefreiheit 16 12.01.2006 16:54
CSS - Design (clear - Problem) HTML, Usability und Barrierefreiheit 7 21.12.2005 14:55
problem mit bilddarstellung. bild einfach zusammenschneiden? Promaetheus PHP Tipps 2007 14 07.12.2005 00:23
Designproblem: Text und Bild Sirke HTML, Usability und Barrierefreiheit 2 08.09.2005 14:59
[Erledigt] Bild aus Datei in Bild einfügen PHP Tipps 2005-2 1 07.08.2005 23:36
[PHP«Image] Bild in ein anderes Bild einsetzen PHP Tipps 2005-2 4 07.08.2005 19:39
[Gelöst] [CSS] Problem mit Hover-Box Chr!s HTML, Usability und Barrierefreiheit 8 27.06.2005 12:47
bild na variable holen... md5hash PHP Tipps 2005-2 5 16.06.2005 01:07
Problem bei Bildupload PHP Tipps 2004-2 4 26.12.2004 00:04
warum ist zelle höher als bild? HTML, Usability und Barrierefreiheit 1 06.08.2004 00:31
Problem beim Upload mehrerer Dateien per Script PHP Tipps 2004 1 04.08.2004 16:26
Bild größe hat prob mit umbenennung. JEGO PHP Tipps 2004 1 08.07.2004 16:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
colspan bei print ändern, value mit bild übertragen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:49 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.