php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 06-07-2009, 15:12
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard Wert bleibt nicht gesetzt

Hallo,

Ich habe ein formular, da hats textfelder, textarea und ein upload für ein bild drin:

PHP-Code:
<input type="file" name="datei" value="<?php echo $_POST['datei']?>" />
Wenn benutzer etwas falsch eingibt, dann wird das script erneut aufgerufen und alle werte der felder bleiben gesetzt...ausser dem vom type=file.

Wie kann man das problem beheben, das feld soll auch belegt bleiben!
Mit Zitat antworten
  #2 (permalink)  
Alt 06-07-2009, 15:14
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

type="file" kann man nicht vorbesetzen !!!
Wäre ja auch die Wurzel des übelsten Alptraums !

Schiebe die Datei in ein eigenes Temp Verzeichnis.
Warum sollte sie auch 2 mal hochgeladen werden sollen?
__________________
Wir werden alle sterben
Mit Zitat antworten
  #3 (permalink)  
Alt 06-07-2009, 15:21
piratos
 Guest
piratos
Beiträge: n/a
Standard

Zitat:
Zitat von combie Beitrag anzeigen
Wäre ja auch die Wurzel des übelsten Alptraums !
Dann würde so manche Spitzbuben Danke sagen.
Mit Zitat antworten
  #4 (permalink)  
Alt 06-07-2009, 15:22
Wyveres
 Registrierter Benutzer
Links : Onlinestatus : Wyveres ist offline
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
Blog-Einträge: 2
Wyveres ist zur Zeit noch ein unbeschriebenes Blatt
Wyveres eine Nachricht über ICQ schicken
Standard

OffTopic:

Währe ein Schöner Alptraum, Auslesen was fürn system kommt Windows Linux und den Rechner einfach anweisen bestimmte Dateien hoch zu laden.
Würde vieles Einfacher mache *HUST* *lach*



Nein wie combie schon sagte das geht nicht und wird Hoffentlich niemals gehen.

speichere einfach die datei zwischen, merk dir in nem hidden field das sie oben ist. wenn ja feld nicht wieder anzeigen sondern text ansonsten feld anzeigen.
__________________
Bitte Beachten.
Foren-Regeln
Danke
Mit Zitat antworten
  #5 (permalink)  
Alt 06-07-2009, 15:36
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Danke für die antworten.

Ich hoffe ihr habt mich richtig verstanden. Es soll kein Wert vorbelegt werden, sondern nach dem Abschicken soll der pfad in dem fenster dort drin erhalten bleiben, so wie in den normalen textfeldern auch.

Ok wenn das nicht machbar ist, dann wolle ich mal fragen wie man das dann macht:

Ich habe im bildupload u.a. diesen code drin, kann man da das "merken"?
PHP-Code:
...
...
if(!
is_dir($origpic))
  {@
umask(000); @mkdir($origpic);} # Verz. für die Originalbilder erstellen, wenn es noch nicht existiert
$upload_pic=strtolower($origpic.$date.".jpg"); # Pfad & Dateiname für Originalbild
if(@move_uploaded_file($_FILES['datei']['tmp_name'],$upload_pic)) # Originalbild speichern
...
... 
Mit Zitat antworten
  #6 (permalink)  
Alt 06-07-2009, 15:41
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von RamonaS Beitrag anzeigen
Es soll kein Wert vorbelegt werden, sondern nach dem Abschicken soll der pfad in dem fenster dort drin erhalten bleiben, so wie in den normalen textfeldern auch.
Ja - das nennt man bei Formularfeldern allgemein sie mit Werten vorbelegen.

Zitat:
Ich habe im bildupload u.a. diesen code drin, kann man da das "merken"?
"Merken" kann man bspw. per Session, oder auch durch Weitergabe von Daten in versteckten Formularfeldern.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 06-07-2009, 15:44
hoangatt
 Registrierter Benutzer
Links : Onlinestatus : hoangatt ist offline
Registriert seit: May 2009
Beiträge: 1
hoangatt ist in Verruf geraten
Standard

move_uploaded_file() = schiebe das File in neue Location

$uploadpic sollte ein Ordner-pfad sein .
Mit Zitat antworten
  #8 (permalink)  
Alt 06-07-2009, 15:46
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Ich kriege Pickel bei den ganzen @ da im Code!
__________________
Wir werden alle sterben
Mit Zitat antworten
  #9 (permalink)  
Alt 06-07-2009, 16:04
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Zitat von RamonaS Beitrag anzeigen
Es soll kein Wert vorbelegt werden, sondern nach dem Abschicken soll der pfad in dem fenster dort drin erhalten bleiben, so wie in den normalen textfeldern auch.
Das geht mit File-Felder nicht, das sie kein Value-Attribut haben. Du kannst höchstens statt des File- ein Textfeld ausgeben und disabled setzen. Allerdings ist dir der Pfad überhaupt nicht bekannt, den ein User voher im Filefeld sah. Und auch nicht jeder Browser zeigt überhaupt einen Pfad an. Safari zum Beispiel nicht. Also beschränke dich am besten auf den Dateinamen.
Noch besser: Zeige eine Vorschau des Bildes an. Das kann Mensch besser erkennen/kontrollieren/akzeptieren als einen möglicherweise kryptischen Dateinamen, wie sie heute von Digitalkameras erzeugt werden.
Mit Zitat antworten
  #10 (permalink)  
Alt 06-07-2009, 16:20
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von onemorenerd Beitrag anzeigen
Noch besser: Zeige eine Vorschau des Bildes an.
Das hielt ich bis vor kurzen als eine super idee, aber mein script dafür läuft im FF garnicht, also kein bild sichtbar, und im ie 7, 8 glaub ich auch nicht :-(

Wenn sich das mal jemand anschauen kann, warum das nicht geht:

PHP-Code:
<script type="text/javascript"><!--// JS-Funktion für die Vorschaubildanzeige (nur im MSIE6)
function FotoAnzeigen(Quelle)
  {if(
document.getElementById("Vorschaufoto"))
     {var 
Quellfoto=document.getElementById("Vorschaufoto");
      if(
Quelle)
        {
Dateiendung=Quelle.substring(Quelle.lastIndexOf(".")+1)
         if(
Dateiendung.toLowerCase()!="jpg" && Dateiendung.toLowerCase()!="jpeg")
           {var 
Fehlermeldung="Fehler: Sie dürfen nur Bilder im JPEG-Format hochladen!\n(Das sind Bilder mit der Dateiendung: .JPG oder .JPEG)"alert(Fehlermeldung);
            
document.getElementById("Vorschaufoto").value=""Quellfoto.src="blank.gif"; return false;
           }
         else {
Quellfoto.src=Quelle; return true;}
        }
      else {return;}
     }
   else {return;}
  }
//--></script> 
Mit Zitat antworten
  #11 (permalink)  
Alt 06-07-2009, 16:23
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von hoangatt Beitrag anzeigen
move_uploaded_file() = schiebe das File in neue Location

$uploadpic sollte ein Ordner-pfad sein .
Ja klar ist das ein ordner + bildname + endung:
$upload_pic=strtolower($origpic.$date.".jpg"); # Pfad & Dateiname für Originalbild

$origpic = der pfad
Mit Zitat antworten
  #12 (permalink)  
Alt 06-07-2009, 16:27
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von wahsaga Beitrag anzeigen
Ja - das nennt man bei Formularfeldern allgemein sie mit Werten vorbelegen.


"Merken" kann man bspw. per Session, oder auch durch Weitergabe von Daten in versteckten Formularfeldern.
Ja klasse, per session finde ich gut...denen vertraue ich noch am meisten :-)
Dann schreibe ich der session den dateinamen rein bevor die sicherheitsprüfungen loslegen. Danke

Naja normalerweise würde ich das auch so lassen, es könnte aber nervig werden wenn, der besucher:
- alles eingibt, dann kommt ne fehlermeldung, das die captcha nicht stimmt,
- dann gibt er die richtige captcha-nr ein, dann kommt ne neue fehlermeldung, das kein bild gewählt wurde!
- schlußendlich muß er eine neue captchnummer + uploadbild wählen....
....das könnte den einen oder anderen ärgern/überfordern.
Mit Zitat antworten
  #13 (permalink)  
Alt 06-07-2009, 16:37
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
....das könnte den einen oder anderen ärgern/überfordern.
Ja!
__________________
Wir werden alle sterben
Mit Zitat antworten
  #14 (permalink)  
Alt 06-07-2009, 17:41
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Zitat von RamonaS Beitrag anzeigen
Das hielt ich bis vor kurzen als eine super idee, aber mein script dafür läuft im FF garnicht, also kein bild sichtbar, und im ie 7, 8 glaub ich auch nicht :-(
Warum machst du das mit Javascript? Erzeuge serverseitig ein fertiges img-Tag.
Die Validierung des Files muss natürlich auch komplett serverseitig stattfinden ... und eine Dateiendung sagt absolut nichts über den Inhalt der Datei aus!
Mit Zitat antworten
  #15 (permalink)  
Alt 06-07-2009, 20:50
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hallo onemorenerd

Ich prüfe schon genau ob das vermeindliche bild auch ein bild ist und nicht etwa eine php-datei mit der endung jpg :-)

zum bleistift so:
PHP-Code:
$format=getimagesize($upload_pic);
if(
$format[2]==2Prüfen ob die Datei wirklich ein echtes JPG-Bild ist! 

Mit JS wollte ich das machen, damit der user nicht 1min warten muß bis das 3,1MB bild hochgeladen ist...daher vor dem upload die bildvorschau per javascript local, ok?
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wert wird über Soap nicht gesetzt! BoFiaZ PHP Developer Forum 8 04-01-2009 23:38
Inhalte der Superglobals nicht gesetzt Stonebreaker62 PHP Developer Forum 1 17-10-2008 16:59
Sessionvariable nicht gesetzt Daniellus PHP Developer Forum 6 22-09-2008 09:26
SQL Select aber Wert bleibt NULL escape PHP Developer Forum 6 10-01-2008 22:47
Problem: REQUEST auf nicht gesetzt stellen Linux5 PHP Developer Forum 14 16-08-2007 00:01

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:29 Uhr.