Ergebnis 1 bis 7 von 7

Thema: [PHP+Mysql]Prob.

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    [PHP+Mysql]Prob.

    Hi Leute,
    ich habe ein Problem, undzwar habe ich ein Script geschrieben (oder versucht zu schreiben) mit dem man ein Admin Bilder hochladen kann. Diese werden hochgeladen und gleich danach werden die Daten der hochgeladenen Bilder in eine Datenbank geschrieben und können danach auf einer Seite ausgegeben werden, also eigentlich nichts besonders abnormales , aber es geht nicht.
    Wenn ich die Datei im Browser öffnet kommt zwar keine Fehlermeldung mehr, aber wenn ich alles in die Formluare eingegeben habe etc. und auf den Button drücke (Upload) passiert nichts. Es scheint zwar das die Bilder hochgeladen werden, aber mehr passiert nicht und die Daten sind auch nicht in die Datenbank eingetragen worden.

    Also hier mal der Code:
    PHP-Code:
    <?php

        
    // Datenbank Variablen

        
    $dbserver    'blub';    // Datenbankserveradresse
        
    $dbname        'bla';                // Name der Datenbank
        
    $dbuser        'bluba';                // Username des Datenbankbenutzers
        
    $dbpass        'bla blow';                // Passwort des Datenbankbenutzers
        
        //    connecten zur db
    $dbconnect = @mysql_connect("$dbserver""$dbuser""$dbpass");
    if (!
    $dbconnect) {
    echo( 
    "<p>Verbindung zur Datenbank kann zur Zeit nicht hergestellt werden!</p>");
    exit();
    }
    if (! @
    mysql_select_db("$dbname") ) {
    echo (
    "<p>Auswahl der Datenbank zurzeit nicht noeglich!</p>");
    exit();
    }
    // User Daten Laden
    $result2 = @mysql_query("select username, pass FROM p4m_admin");
    if (!
    $result2) {
    echo(
    "<p>Die Userdaten koennen zur Zeit nicht geladen werden!</p>");
    exit();
    }
         while ( 
    $row3 mysql_fetch_array($result2) ) {
         
    $username $row3["username"];
         
    $pass $row3["pass"];
    }
    // Pic Daten Laden
    $result = @mysql_query("select id, file, filem, text FROM p4m_pics");
    if (!
    $result) {
    echo(
    "<p>Die Bilderdaten koennen zur Zeit nicht geladen werden!</p>");
    exit();
    }
         while ( 
    $row2 mysql_fetch_array($result) ) {
         
    $id $row2["id"];
         
    $file $row2["file"];
         
    $filem $row2["filem"];
         
    $text $row2["text"];
    }
    $result3 = @mysql_query("select id from p4m_pics order by id desc limit 1");
    if (!
    $result3) {
    echo(
    "<p>Die hoechste ID kann zur Zeit nicht aus der Datenbank ausgelesen werden!</p>");
    exit();
    }
         while ( 
    $row3 mysql_fetch_array($result) ) {
         
    $id $row3["id"];
    }
    if (
    $_COOKIE['p4madmin'] == $username and $_COOKIE['p4mpass'] == $pass) { 
    // Echter Content hier
    if ("hochladen" == "Upload"): {
    // Upload
    if ($uploadbig_type == "image/pjpeg" or $uploadbig_type == "image/gif") {
    // Uploadbig
            
    if ($uploadsmall_type == "image/pjpeg" or $uploadsmall_type == "image/gif"){
            
    // Uploadsmall
                    
    if ( "image/pjpeg" == $uploadbig_type ) {
                    
    // Dateiendung Aussuchen
                            
    $extensionbig =".jpg";
                            } else {
                            
    $extensionbig ".gif";
                            }
                    
    // Dateiendung Aussuchen Ende
                    
    $filebig "pics/" "3d" $uploadid $extensionbig;
                    if (
    is_uploaded_file($uploadbig) &&
                    
    copy($uploadbig$filebig)) {
                    
    // Große Datei Erfolgreich hochgeladen
                            
    if ( "image/pjpeg" == $uploadsmall_type ) {
                            
    // Dateiendung Aussuchen
                                    
    $extensionsmall =".jpg";
                                    } else {
                                    
    $extensionsmall ".gif";
                                    }
                            
    // Dateiendung Aussuchen Ende
                            
    $filesmall "pics/" "3d" $uploadid $extensionsmall;
                            if (
    is_uploaded_file($uploadsmall) &&
                            
    copy($uploadsmall$filesmall)) {
                            
    // kleine Datei Erfolgreich hochgeladen
                                    
    $filenamebig "3d";
                                    
    $filenamebig .= $uploadid;
                                    
    $filenamebig .= $extensionbig;
                                    
    $filenamesmall "3d";
                                    
    $filenamesmall .= $uploadid;
                                    
    $filenamesmall .= $extensionsmall;
                                
    $sql3 "insert into p4m_pics SET 
                                    id='
    $uploadid',
                                    file='
    $filenamebig',
                                    filem='
    $filenamesmall',
                                    text='
    $uploadtext'";
                                    if (@
    mysql_query($sql3)) {
                                            echo (
    "Upload Erfolgreich! Upload Daten in die Datenbank eingetragen!");
                                            
    ?>
                                            <meta http-equiv="refresh" content="2; URL=index.php">
                                            <?php
                                            
    exit(); 
                                    } else {
                                            echo (
    "Fehler beim einfügen der Upload Daten in die Datenbank! Bilder hochgeladen!");
                                    }
                            
    // kleine Datei Erfolgreich hochgeladen ende
                            
    } else {
                            
    // kleine Datei nicht Erfolgreich hochgeladen
                            
    echo ("Die kleine Version des Bildes konnte nicht Erfolgreich hochgeladen werden");
                            } 
                            
                            

                    } else {
                    echo (
    "Die große Version des Bilder konnte nicht erfolgreich hochgeladen werden.");
                    } 
            } else {
            echo (
    "Das kleine Bild entspricht nicht dem richtigen Dateiformat!");
            } 
    } else {
    echo (
    "Das große Bild entspricht nicht dem richtigen Dateiformat!");

    } else: {
    // Upload Formular
    $uploadid2 "$id+1";
    ?>
    <form name="upload" method="post" action="<?php $PHP_SELF ?>" enctype="multipart/form-data">
      <font size="1" face="Verdana"><strong>Neues Bild hinzufuegen: </strong><br>
      <br>
      </font> 
      <table width="80%" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td width="30%"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Neues 
            Bild:</strong><br>
            (in Originalgr&ouml;&szlig;e)</font></td>
          <td width="70%">
    <input name"uploadid" type="hidden" value="<? echo("$uploadid2"); ?>">
    <input name="uploadbig" type="file" size="40">
            &nbsp;</td>
        </tr>
        <tr>
          <td><font size="1" face="Verdana"><strong>Neues 
            Bild:</strong><br>
            (kleine Version)</font></td>
          <td><input name="uploadsmall" type="file" id="uploadsmall" size="40"></td>
        </tr>
        <tr>
          <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Bild 
            Text:</strong><br>
            (der Text, welcher unter dem Bild steht)</font></td>
          <td><input name="uploadtext" type="text" size="40"></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="hochladen" value="Upload"></td>
        </tr>
      </table>
      <font size="1" face="Verdana"> </font> 
    </form>
    <?php
    } endif;
    } else {
    echo (
    "Bitte Loge dich ein bevor du ein neues Bild hinzufuegen moechtest moechtest.");
    ?>
    <meta http-equiv="refresh" content="2; URL=../login.php">
    <?php
    }
    ?>
    was ist aber denn jetzt hier dran falsch? plz help...
    greetz Razer

  2. #2
    Entschuldige bitte, ich hab dein Script nicht nach Fehlern analysiert, hab gerade zu viel zu schaffen.
    Aber könnte es sein das du das Datenbankfeld für die Speicherung der Bilddateien nicht richtig eingestellt hast?
    Soweit ich mich erinnere muss man den Typus dieses Feldes auf "blob" einstellen. Allerdings hab ich das noch nie gemacht da die Abspeicherung von Dateien in der DB diese nur unnötig belasten. Ich würde es, sollten die Pix größer als Avatare sein, lieber als Datei im Dateisystem ablegen.

    Schau mal in die MySQL-Dokumentation ob ich mit dem Typus "blob" richtig liege und ändere das DB-Feld entsprechend solltest du es noch nicht getan haben.

  3. #3
    ne so meinte ich das nicht sry war vielleicht etwas komisch umschrieben .

    Also die Bilder werden ganz normal auf dem Webspace gespeichert. Nur die Daten der Bilder, also der Bildname, Bildtext etc. wird in der Datenbank gespeichert .

    sry wenn ich mich etwas unverständlich ausdrücke, aber ich bin noch nicht lang mit PHP am werkeln .

    Geändert von chicill (29.04.2004 um 20:53 Uhr)

  4. #4
    Versuchs mal mit:

    PHP-Code:
    if ($hochladen == "Upload"): { 
    statt

    PHP-Code:
    if ("hochladen" == "Upload"): { 
    Edit: Ach ja, ich denke, die Backslash in den echo-Ausdrücken wurden hier von der Forensoftware entfernt, ansonsten müsstest du da, wo du im echo "<img etc. blah mit Anführungsstrichen>" Anführungsstriche hast, musst du die Backslashs noch reinmachen.

    Geändert von CiferXIV (30.04.2004 um 04:22 Uhr)

  5. #5
    Zitat Zitat
    Original geschrieben von CiferXIV
    [B]Versuchs mal mit:

    PHP-Code:
    if ($hochladen == "Upload"): { 
    statt

    PHP-Code:
    if ("hochladen" == "Upload"): { 
    oh man ich könnte mir in den hintern tretten -.-
    Aber trotzdem Big THX

    War echt der Fehler, aber nun habe ich einen weiteren Fehler undzwar so das hochgeladene File in einen bestimmten Ordner kopiert werden, aber wie muss die bezeichnung sein?

    Also die Orderstruktur ist wie folgt (dort wo das Bild rein soll: (so siehts über FTP aus)
    /html/pics/

    Wenn ich jetzt hochlade kommt die Fehlermeldung:
    Warning: copy(): open_basedir restriction in effect. File(/tmp/phpZWGfK8) is not within the allowed path(s): (/home/www/web212/) in /home/www/web212/html/admin/addpic.php on line 67

    Also hab ich das Upload Verzeichnis auf
    /home/www/web212/html/pics/

    geändert doch es funzt nicht

    was muss ich denn dann angeben?

    plz help

  6. #6
    hast dus mit einem relativen pfad zur php datei versucht ?
    also wenn die php datein .../html/ liegt und die Bilder nach .../html/pics/ sollen, das du dann als verzeichnis ./pics/ angibst ?

  7. #7
    so jetzt geht alles Big THX an alle

    Geändert von chicill (01.05.2004 um 02:15 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •