mysqldumper
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 25.01.2005, 01:58   #1
TP-Senior
 
Benutzerbild von Magerquark
 
Registriert seit: May 2004
Magerquark macht alles soweit korrekt

Upload - Ist File vorhanden?


Okay, Sorry, dass hier die n-te Frage zum Thema Upload steht. Mein Upload funktioniert eigentlich! Ich habe jetzt aber eine Edit-Funktion im Sinn. Dort werden mir alle Daten meiner Auswahl angezeigt und auch das dazu gehörige Bild. Zudem ist noch ein
PHP-Code:
<input name="userFile\" type=\"file\"> 
vorhanden. Und ein
PHP-Code:
<input type="hidden\" name=\"altesfoto\" value=\"$altfoto\"> 
Letzteres ist dazu da, falls kein neues Bild hochgeladen wird, dann soll das alte Foto mit update (zusammen mit den anderen neuen/oder auch alten) (Text-)Daten in die DB eingetragen werden. Dazu muss ich bei der Übergabe der Daten schauen, ob das input-Feld leer ist. Bevor ich mich ins Eingemachte stürze, habe ich mir erst einmal einen kleinen Test geschrieben:
PHP-Code:
if (isset($_POST['mode']) && $_POST['mode'] == "store_edit"){
    
$tempName $_FILES['userFile']['tmp_name'];
    echo 
$tempName;
    if(isset(
$_FILES['userFile']['tmp_name'])){
        echo 
"ein neues bild";
        }else{
        echo 
"kein neues bild";    
            }
    
echo 
"\n<br>\n";
echo 
$neutext;
echo 
"\n<br>\n";
echo 
"$altesfoto";

*hmm* Also, der Modus wird übergeben, er rutscht in die erste Schleife rein. Dann gibt er mir unten auch den $neutext aus und das $altesfoto. Außerdem rutscht er oben in die else-Anweisung rein und gibt mir ein "kein neues bild" aus. Dabei ist es egal, ob ich ein neues Bild mitgeschickt habe oder nicht. Ein Ändern in $_FILES['userFile']['name'] hat auch nichts gebracht. Wie kann ich eine Abfrage gestalten, die mir anzeigt, ob in dem Upload-Feld eine Datei ausgewählt (und somit mitgeschickt) wurde? Ach so, $tempName zeigt er mir auch nicht an...

Und überhaupt: Wenn ich einen Upload mache, dann landet meine Datei doch mit einem temporären Namen (tmp_name) in dem Temp-Verzeichnis des Servers, oder? Es ist noch nicht in einem Ordner. Zumal ich an dieser Stelle noch keinen Speicherordner angegeben habe. Das kommt erst später. Doch erst einmal (viel wichtiger ) die obere Frage nach dem "Wie stelle ich fest, ob in dem input etwas war?".

Grüße in die Nacht (oder den Morgen... )
M.
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Magerquark ist offline   Mit Zitat antworten


Alt 25.01.2005, 13:48   #2
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Zitat:
Wie kann ich eine Abfrage gestalten, die mir anzeigt, ob in dem Upload-Feld eine Datei ausgewählt (und somit mitgeschickt) wurde? Ach so, $tempName zeigt er mir auch nicht an...
PHP-Code:
echo isset( $_FILES['userFile'] ) ? "Neue Datei wurde hochgeladen" "Keine Neue Datei Wurde Hochgeladen"
Zitat:
Und überhaupt: Wenn ich einen Upload mache, dann landet meine Datei doch mit einem temporären Namen (tmp_name) in dem Temp-Verzeichnis des Servers, oder?
In der Theorie schon. Nur - manchmal hat man das unwohle Gefühl, dass der nur im Speicher verbleibt, bis die Seite gekillt wird.

Btw.: Dein Ausslashen der Double Quotes scheint nicht ganz richtig zu sein:
Code:
//Original
<input name="userFile\" type=\"file\">
Muss entweder:
PHP-Code:
echo "<input name=\"userFile\" type=\"file\">";
//oder
echo '<input name="userFile" type="file">';
//oder
?>
<input name="userFile" type="file"> 
<?php
heißen!
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 25.01.2005, 14:25   #3
TP-Senior
 
Benutzerbild von Magerquark
 
Registriert seit: May 2004
Magerquark macht alles soweit korrekt
Hi Dennis. Danke für die Antwort. Aber leider ist es das noch nicht! Das mit dem Ausslashen war nur ein Tipp-Fehler im Forum, nicht im Script.
Zitat:
echo isset( $_FILES['userFile'] ) ? "Neue Datei wurde hochgeladen" : "Keine Neue Datei Wurde Hochgeladen";
Da rutscht er mir immer in die "Ist keine neue Datei"-Schleife rein - egal, ob ein Bild dabei ist oder nicht. An dieser Stelle würde ich gerne einen heulenden Smiley einbauen... Ein $_FILES['userFile']['tmp_name'] (man kann ja nie wissen...) hat ebenfalls nichts gebracht.
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Magerquark ist offline   Mit Zitat antworten
Alt 26.01.2005, 00:18   #4
TP-Senior
 
Benutzerbild von Magerquark
 
Registriert seit: May 2004
Magerquark macht alles soweit korrekt
So. Habe mal in dem Teil, das die Daten aufnehem soll folgendes geschrieben:
PHP-Code:
echo "<pre>";
print_r($_FILES);
echo 
"</pre>"
Die Ausgabe (egal ob mit upgeloadetem Bild oder ohne) lautet immer:
Zitat:
Array
(
)
Was soll mir das sagen? Es kann mir bestimmt was sagen, doch was?
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Magerquark ist offline   Mit Zitat antworten
Alt 26.01.2005, 00:32   #5
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Das er keine Datei hochgeladen hat?
Du müsstest mal das komplette Problemskript (alles unwichtige kürzen) posten; sonst raten wir hier noch eine ganze Woche rum^^
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 26.01.2005, 01:49   #6
TP-Senior
 
Benutzerbild von Magerquark
 
Registriert seit: May 2004
Magerquark macht alles soweit korrekt
Na, das wäre doch 'ne schöne Beschäftigungsmaßnahme.. Okay, hier die beiden Files. Das erste wird aufgerufen, wenn ich aus allen vorhandenen Datensätzen eine Auswahl getroffen habe. Dann werden mir die ausgewählten Daten angezeigt und ich kann Änderungen vornehmen. Das klappt alles. Nur dieses &$@%#*§ Bild-Upload, das mag mich nicht... Es soll geschaut werden, ob ein neues Bild hochgeladen wurde. Wenn ja, dann soll das Bild in die DB eingetragen werden (Bild in Ordner, Pfad in DB...). Wenn kein neues Bild "mitgeliefert" wurde, dann soll der alte Pfad (und das alte Bild) beibehalten bleiben. Daher das hidden input-Feld mit dem Foto (direkt über dem Absende-Button). Das mode=edit2 kommt vom ersten, dem "Auswahl-treffen"-Skript. Also hier Skript 1:
PHP-Code:
<table border="0" cellspacing="1" cellpadding="4" align="left">
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>?mode=store_edit" method="post" name="signForm">
    <input type="hidden" name="mode" value="store_edit">
        <tr>
            <td>
                <div align="left">
                <?php
                
// verbindungsdaten holen                            
                
include ('mySQL.inc.php');
                             
                
//verbindung herstellen
                
$conn mysql_connect($db_server,$db_user,$db_passwort) or die (mysql_error());
                
$link mysql_select_db($db_name$conn) or die (mysql_error());
                            
                
// mysql-anweisungen
                
$sqlab "select * from tabellenname where";
                
$sqlab .= " ID = '$auswahl'";

                
$res mysql_db_query($db_name$sqlab);
                            
                            
                
// "zwischenspeichern" der ausgelesenen werte
                
$altname mysql_result($res0"nname") or die (mysql_error());
                
$altvname mysql_result($res0"vname");
                
$altgeburtsjahr mysql_result($res0"gebjahr");
                
$alttext mysql_result($res0"text") or die (mysql_error());
                
$altfoto mysql_result($res0"bild");
                
$fotoname substr($altfoto,14);

                if (isset(
$_POST['mode']) && $_POST['mode'] == "edit2"){
                            
                
//feldbezeichnungen
                            
$feld1 "Nachname";
                            
$feld2 "Vorname";
                            
$feld3 "Geburtsjahr";
                            
$feld4 "Beschreibung";
                            
$feld5 "Foto";
                            
                            echo(
"\n\t\t\t\t<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\">" .
                                    
"\n\t\t\t\t\t<tr>" .
                                    
"\n\t\t\t\t\t\t<td>" .
                                    
"\n\t\t\t\t\t\tNachname" 
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t\t<td>" .
                                    
"\n\t\t\t\t\t\t<input name=\"neuname\" value=\"$altname\">" .
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t</tr>" .
                                    
"\n\t\t\t\t\t<tr>" .
                                    
"\n\t\t\t\t\t\t<td>" .
                                    
"\n\t\t\t\t\t\tVorname" .
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t\t<td>" .
                                    
"\n\t\t\t\t\t\t<input name=\"neuvname\" value=\"$altvname\">" .
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t</tr>" .
                                    
"\n\t\t\t\t\t<tr>" .
                                    
"\n\t\t\t\t\t\t<td>" .
                                    
"\n\t\t\t\t\t\tGeburtsjahr" 
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t\t<td>" .
                                    
"\n\t\t\t\t\t\t<input name=\"neugeburtsjahr\" value=\"$altgeburtsjahr\">" .
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t</tr>" .
                                    
"\n\t\t\t\t\t<tr>" .
                                    
"\n\t\t\t\t\t\t<td>" .
                                    
"\n\t\t\t\t\t\tBeschreibung" .
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t\t<td>" .
                                    
"\n\t\t\t\t\t\t<textarea name=\"neutext\" cols=\"60\" rows=\"9\" wrap=\"virtual\">" $alttext "</textarea>" .
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t</tr>" .
                                    
"\n\t\t\t\t\t<tr>" .
                                    
"\n\t\t\t\t\t\t<td>" .
                                    
"\n\t\t\t\t\t\tFoto" .
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t\t<td>" .
                                    
"\n\t\t\t\t\t\t<img src=\"" $altfoto "\" height=\"75\" width=\"60\">&nbsp; Original Bild-Name: <b>"$fotoname."</b>" .
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t</tr>" .
                                    
"\n\t\t\t\t\t<tr>" .
                                    
"\n\t\t\t\t\t\t<td>" .
                                    
"\n\t\t\t\t\t\t<input name=\"userFile\" type=\"file\">" .
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t</tr>" .
                                    
"\n\t\t\t\t\t<tr>" .
                                    
"\n\t\t\t\t\t\t<td colspan=\"2\" align=\"right\">" .
                                    
"\n\t\t\t\t\t\t<input type=\"hidden\" name=\"zuaendern\" value=\"$auswahl\">" .
                                    
"\n\t\t\t\t\t\t<input type=\"hidden\" name=\"altesfoto\" value=\"$altfoto\">" .
                                    
"\n\t\t\t\t\t\t <input type=\"submit\" value=\"Absenden\">&nbsp;<input type=\"reset\" value=\"Reset\">" .
                                    
"\n\t\t\t\t\t\t</td>" .
                                    
"\n\t\t\t\t\t</tr>" .
                                    
"\n\t\t\t\t</table>\n");
                                    
                                    
mysql_close($conn);
                            }
                            
?>
                            </div>
                        </td>
                    </tr>
            </form>
        </table>
Ich habe also meine Veränderungen getätigt. Nun sollen die Daten in die DB, vorher möchte ich aber den besagten Check machen, ob ein neues oder noch das alte Foto genommen werden soll. Dazu habe ich jetzt einfach einmal einen kleinen Test getippert. Von dort wollte ich mich weiterhangeln. Aber bis jetzt klappt es eben nicht. Ich bekomme kein "Entweder-Oder" hin. *heul* In Skript 2 sind drei Testausgaben. Zwei davon auskommentiert. Alle haben den selben Effekt: Sie machen nichts. Unten sind dann weitere Testausgaben zu sehen. Diese werden von dem Skript davor angenommen und ausgegeben. Es kommt also "etwas rüber".
PHP-Code:
<?php
if (isset($_POST['mode']) && $_POST['mode'] == "store_edit"){
    
// test 1
    //echo $_FILES['userFile']['error']?"Datei wurde übergeben":"Keine Datei übergeben.";
    
    // test 2
    //if($_FILES['userFile']['error'] != UPLOAD_ERR_OK)
      //echo('Du sollst eine Datei waehlen!');

      // test 3
      
echo "<pre>";
    
print_r($_FILES);
    echo 
"</pre>";
    
    
// mitbringesel (werden ausgegeben)
    
echo "\n<br>\n";
    echo 
$neutext;
    echo 
"\n<br>\n";
    echo 
$altesfoto;
}
?>
Mein erster Gehversuch war noch mit $_FILES['userFile']['tmp_name']. Ich wollte eben schauen, ob überhaupt irgendwas rübergekommen ist. Nichts.

Ich hatte zunächst eine Abfrage wie:
PHP-Code:
if(isset($_FILES['userFile']['tmp_name'])){
        echo 
"neues bild";
        }else{
        echo 
"altes bild";
            } 
Dabei ist er mir immer in die "altes bild" gerutscht. Doch wir schauen uns jetzt nicht die "alten Sünden" an, sondern den Code von Skript 2.

Hoffe, wir werden nicht eine ganze Woche für den Fehlerteufel brauchen...

M.
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Magerquark ist offline   Mit Zitat antworten
Alt 26.01.2005, 22:53   #7
TP-Senior
 
Benutzerbild von Magerquark
 
Registriert seit: May 2004
Magerquark macht alles soweit korrekt
*räusper* Ich gebe Entwarnung. Ich war so blind und habe in meinem <form>-Tag eine Kleinigkeit vergessen gehabt. Nun klappt es. *puhh* Was ich vergessen hatte? Och, nur so was Lächerliches wie enctype="multipart/form-data"
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Magerquark ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Upload - Ist File vorhanden? Upload - Ist File vorhanden?
« Meine PHP Gallerie will nicht.. | Newsletterscript schafft Verzweiflung »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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
Ich bin auf der Suche nach einem fertigen Menü Upload Script Sonic. Webdesign & Co. 3 30.01.2005 15:59
Upload auto. ins falsch dir heatseeker Traum-Dynamik 2 20.09.2004 18:09
phpwebed keine file permissions. Mike230 Traum-Dynamik 0 25.09.2002 18:43
Pure ASP File Upload Hacki Dreamweaver 5 20.09.2002 09:25
Upload Script mit userdaten GeorgWBush Traum-Dynamik 1 15.12.2001 00:53


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:46 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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