Statistik  Mitglieder gesamt: 68138  Mitglieder online: 11  Gäste online: 6 mehr...
Anzeige
| Thread: PHP Dateiupload nicht nach "submit" Klick starten ??! - sondern auf neuer Seite
 16.03.2008 21:51 Uhr
|
|
|
|
|
Hallo,
habe da einen normalen PHP Dateiupload über ein Formular nach Klick eines submit Buttons: PHP: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
| <table cellspacing='5' align='center' border='0'>
<form name='form' enctype='multipart/form-data' action='upload.php' method='POST'>
<tr>
<td><span onMouseover="showhint(ServerHint, this, event, '300px')" class=hintanchor><img src='img/server.png'></span></td>
<td><select size='1' name='server'>
<option>Ahloa</option>
<option>Server-Drome</option>
</select></td>
</tr>
<tr>
<td><span onMouseover="showhint(DateiHint, this, event, '300px')" class=hintanchor><img src='img/datei.png'></span></td>
<td><input type='file' name='file' accept='text/plain' onChange='MyFile.value=file.value'>
<input name='MyFile' type='hidden' id='MyFile' tabindex='99' size='1' /></td>
</tr>
<tr>
<td><span onMouseover="showhint(BeschreibungHint, this, event, '300px')" class=hintanchor><img src='img/beschreibung.png'></span></td>
<td><input type=Text name=besch size=25><font face='arial' color='gray' size='2'> <i>(Optional)</i></font></td>
</tr>
<input type=hidden name=fancy value=<? echo "$fancy" ?> size=5>
<tr>
<td><span onMouseover="showhint(AgbHint, this, event, '300px')" class=hintanchor>
<img src='img/agb.png'></span></td><td>
<input name='agb' type='checkbox' onclick='if (this.checked) {agreeTerms()} else {denyTerms()}'> <font face='arial' color='gray' size='2'>
Ich akzeptiere hiermit die AGBs</font></td>
</tr>
<tr>
<td colspan='2' align='center'><input type='submit' name='submit' value='Upload!' id='upload' style='vertical-align:middle'/></td>
</tr>
</table>
</form> |
Nun möchte ich aber mit dem Formular nur die Information zur Ausgewählten Datei über POST an die empfänger Datei weitergeben und dann in der empfänger PHP Datei den Upload durchführen.
- Also nicht nach Klicken des submit Buttons sondern nach Klick die Inhalte übergeben und die empfänger Datei soll die Datei so hochladen wie deises Formular
Problem dass schon auftreten muss: Wenn man es mit einem hidden Formular macht, muss wieder midnestens ein klick gemacht werden .. was nicht sein soll .....
VIELEN DANK für Hilfe!!!!
 1 mal bearbeitet
|
|
 16.03.2008 22:37 Uhr
|
|
|
|
|
Das geht nicht... Nach dem Klick auf submit fängt er _immer_ mit uploaden an, da das nichts mit php zu tun hat
edit: Muha  war schneller ^^
 1 mal bearbeitet pFT: 16.03.2008, 22:39 Uhr ___________________________ Fatal error: Call to undefined function Denken() in /srv/www/httpd/forum/thread.php on line 358
Dann kommt der böse Herr W3C in der Nacht und hackt dir den Kopf ab. //Der kommt von afaik pFT ^^
|
|
 16.03.2008 22:38 Uhr
|
|
|
|
|
Mein PHP/HTML sollte mich täuschen, aber das geht nicht. Wurde als Sicherheitsfunktion eingebaut, sonst kann dir jeder alles von deiner Festplatte lesen, wenn er den Pfad bei einem Submitfeld hinterlegt.
Edit: s. oben ;(
 1 mal bearbeitet
|
|
 16.03.2008 22:44 Uhr
|
|
|
|
|
Oh - Ja  ....
und dann habe ich schon versucht mit PHP das obige formular nach submit auszubleden und so während des eigentlichen Uploads eine html tabelle anzuzeigen .. ohne erfolg
|
|
 17.03.2008 08:23 Uhr
|
|
|
|
|
Zitat: und dann habe ich schon versucht mit PHP
Hä?
Ich fürchte, du hast da eine falsche Vorstellung vom Ablauf:
* User drückt im Browser auf "Submit"
* PHP-Prozess wird am Server gestartet, der die Datei entgegennimmt
* Sobald die Datei vollständig angekommen ist, geht die Ausführung des Scriptes los.
Du kannst also mit PHP nichts ausblenden, weil dein PHP-Script erst loslegt, wenn die Datei schon zu 100% am Server ist.
LG, bmk.
|
|
 17.03.2008 09:51 Uhr
|
|
|
|
|
... man  - und wo wie was dann?
Hier ein Beispiel, bei dem nach Klicken das Formular ausgebelendet wird - aber kann nicht finden wodurch
v PHP: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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
|
<?php
include("./lang/$language.php"); ?>
<html>
<head>
<SCRIPT language="JavaScript">
function OnSubmitForm()
{
if(document.myform.operation[0].checked == true)
{
document.myform.action ="upload.php";
}
else
if(document.myform.operation[1].checked == true)
{
document.myform.action ="transload.php?xfer=true";
}
return true;
}
function toggleuploadmode(file) {
if (file) {
document.getElementById('upfile').style.display='block';
document.getElementById('upurl').style.display='none';
document.getElementById('upform').action='index.php';
} else {
document.getElementById('upfile').style.display='none';
document.getElementById('upurl').style.display='block';
document.getElementById('upform').action='transload.php';
}
}
function focusfield(fl) {
if (fl.value==" Hier Adresse zur Datei einfügen") {
fl.value='';
fl.style.color='black';
}
}
-->
</SCRIPT>
<script type="text/javascript">
function CancelUpload() {
alert("Cancel Upload now");
if (confirm("Are you sure to cancel Upload now?")) {
window.location = "index.php";
}
else
alert("Upload Resumed."); {
}
}
</script>
<SCRIPT language="JavaScript">
var checkobj
function agreesubmit(el){
checkobj=el
if (document.all||document.getElementById){
for (i=0;i<checkobj.form.length;i++){ //hunt down submit button
var tempobj=checkobj.form.elements[i]
if(tempobj.type.toLowerCase()=="submit")
tempobj.disabled=!checkobj.checked
}
}
}
function defaultagree(el){
if (!document.all&&!document.getElementById){
if (window.checkobj&&checkobj.checked)
return true
else{
alert("Please read and accept terms to submit form")
return false
}
}
}
</script>
<script type="text/javascript"><!--
function agreeTerms()
{
document.getElementById("upload").disabled=false
document.getElementById("checkBox").checked=true
}
function denyTerms()
{
document.getElementById("upload").disabled=true
document.getElementById("checkBox").checked=false
}
var W3CDOM = (document.createElement && document.getElementsByTagName);
function initFileUploads() {
if (!W3CDOM) return;
var fakeFileUpload = document.createElement('div');
fakeFileUpload.className = 'fakefile';
fakeFileUpload.appendChild(document.createElement('input'));
var image = document.createElement('img');
image.src='button_select.gif';
fakeFileUpload.appendChild(image);
var x = document.getElementsByTagName('input');
for (var i=0;i<x.length;i++) {
if (x[i].type != 'file') continue;
if (x[i].parentNode.className != 'fileinputs') continue;
x[i].className = 'file hidden';
var clone = fakeFileUpload.cloneNode(true);
x[i].parentNode.appendChild(clone);
x[i].relatedElement = clone.getElementsByTagName('input')[0];
x[i].onchange = x[i].onmouseout = function () {
this.relatedElement.value = this.value;
}
}
}
//--></script>
<!-- flooble Expandable Content header start -->
<script language="javascript">
// Expandable content script from flooble.com.
// For more information please visit:
// http://www.flooble.com/scripts/expand.php
// Copyright 2002 Animus Pactum Consulting Inc.
//----------------------------------------------
var ie4 = false; if(document.all) { ie4 = true; }
function getObject(id) { if (ie4) { return document.all[id]; } else { return document.getElementById(id); } }
function toggle(link, divId) { var lText = link.innerHTML; var d = getObject(divId);
if (lText == '+') { link.innerHTML = '-'; d.style.display = 'block'; }
else { link.innerHTML = '+'; d.style.display = 'none'; } }
</script>
<!-- flooble Expandable Content header end -->
</head>
<body onload="denyTerms()">
<tr>
<td colspan=2 style="border:1px #AAAAAA solid;height:100%;background-color:#FFFFFF;padding:20px;text-align:left;" valign=top>
<center>
<table>
<tr><td colspan=2 valign=top>
<center>
<form enctype="multipart/form-data" name="myform" id="form" method="post" onSubmit="a=document.getElementById('form').style;a.display='none';b=document.getElementById('part2').style;b.display='inline'; count_up1(); count_up2(); return OnSubmitForm();" style="display: inline;">
<strong><? echo $lang[maxsize];?></strong> <?php echo $maxfilesize; ?> MB<br />
<table border=0 cellspacing=0 cellpadding=2><tr><td align=center colspan=2>
<?php echo $filetypes; ?>
<img src="img/bild.gif"> <input style="border:none" type="radio" name="operation" onclick="toggleuploadmode(true);" value="1" checked><span onMouseover="showhint(FormUploadHint, this, event, '300px')" class=hintanchor>File</span>
<input style="border:none" type="radio" name="operation" onclick="toggleuploadmode(false);" value="2"><span onMouseover="showhint(UrlUploadHint, this, event, '300px')" class=hintanchor>Url Upload</span>
<div id="upfile"><input type="file" name="upfile" size="50" onchange="showoptions(this)" id="fileupload"></div>
<div id="upurl" style="display: none"><input type="text" id="from" name="from" value=" Hier Adresse zur Datei einfügen" style="color: #888;"
onfocus="focusfield(this)" size="50"></div></td></tr>
<tr><td align=left>
<?php if($emailoption) { ?><? echo $lang[emailopt];?>:</td><td align=right><input type="text" name="myemail" size="40" /> <i>(<? echo $lang[opt];?>)</i></td></tr><?php } ?>
<tr><td align=left><?php if($descriptionoption) { ?><? echo $lang[desopt];?>:</td><td align=right><input type="text" name="descr" size="40" /> <i>(<? echo $lang[opt];?>)</i></td></tr><?php } ?>
<tr><td align=left><?php if($passwordoption) { ?><? echo $lang[passopt];?>:</td><td align=right><input type="text" name="pprotect" size="40" /> <i>(<? echo $lang[opt];?>)</i></td></tr>
<?php } ?>
<tr><td align=center colspan=2><?php if(isset($categorylist)) { echo $categorylist; } ?></td></tr></table>
<input style="border:none" type="checkBox" onclick="if (this.checked) {agreeTerms()} else {denyTerms()}"> <? echo $lang[sinfo];?> <a href="?page=tos"><? echo $lang[tos];?></a>. <p><center><input type="submit" value="Upload!" id="upload" /> <BR><BR>
</center>
</form>
// #################### Beginn Upload
<div id="part2" style="display: none;">
<script language="javascript" src="xp_progress.js"></script>
<? echo $lang[progress];?>
<BR><BR>
<script type="text/javascript">
var bar1= createBar(300,15,'white',1,'black','blue',85,7,3,"");
</script>
<br>
<script>
i = 0;
j = 0;
function count_up1()
{
i++;
document.getElementById("anzeige10").innerHTML = i;
window.setTimeout('count_up1()', 1000);
}
function count_up2()
{
j++;
document.getElementById("anzeige20").innerHTML = j;
if ( j <= 99)
window.setTimeout('count_up2()',4000);
else
document.getElementById("anzeige20").innerHTML = "~";
}
</script>
<span id="anzeige10">0</span> Sekunden - <span id="anzeige20">0</span> %
<BR>
<br>
<div align="center">
<form>
<input type="button" value="Cancel Upload" onclick="CancelUpload()">
</form>
</div>
</table>
</span></td>
<table align="center" border="0">
<TR>
<TD>
<img src="images/haken2.png"> Downloads von Jackson-Host.de laufen immer mit vollem Speed!
<BR>
<img src="images/haken2.png"> Der Download ist für jeden Benutzer einfach zu bedienen.
</td></tr></table>
<BR>
<center>
<?php
include("ads/banner2.php");
?>
</center>
</td></tr></table> |
 1 mal bearbeitet
|
|
 17.03.2008 10:01 Uhr
|
|
|
|
|
Ja genau, Jackson, schick uns schnell mal ein paar hundert Zeilen Quellcode, wir haben eh sonst nichts zu tun, sind ja gerade Ferien!
Würdest du bitte mal alles unnötige HTML-Zeug aus dem Code entfernen?
Außerdem brauchst du nur ins onSubmit des Formulars schauen, dort steht doch eh alles drinnen!
|
|
 17.03.2008 10:12 Uhr
|
|
|
|
|
sry .. so schon besser?
der submit: PHP:1
| <input type="submit" value="Upload!" id="upload" /> |
|
|
 17.03.2008 10:26 Uhr
|
|
|
|
|
Zitat: Hier ein Beispiel, bei dem nach Klicken das Formular ausgebelendet wird - aber kann nicht finden wodurch PHP:1
| <form enctype="multipart/form-data" name="myform" id="form" method="post" onSubmit="a=document.getElementById('form').style;a.display='none';b=document.getElementById('part2').style;b.display='inline'; count_up1(); count_up2(); return OnSubmitForm();" style="display: inline;"> |
das war das. was bmk meinte (geh ich jedenfalls mal davon aus und macht ja auch Sinn)
|
|
 17.03.2008 10:26 Uhr
|
|
|
|
|
bmk meint diese Zeile, in welcher ein onSubmit-Attribut definiert wurde, das ausgeführt wird, sobald der Benutzer auf den submit-Button klickt. PHP:1
| <form enctype="multipart/form-data" name="myform" id="form" method="post" onSubmit="a=document.getElementById('form').style;a.display='none';b=document.getElementById('part2').style;b.display='inline'; count_up1(); count_up2(); return OnSubmitForm();" style="display: inline;"> |
Jetzt musst du im JS-Teil des Scripts nur noch die aufgerufenen Funktionen finden, damit du komplett verstehst, was gemacht wird.
So genau blick ich da jetzt auch nicht durch, aber der wichtigste Teil steht ja schon direkt da: PHP:1
| a=document.getElementById('form').style;a.display='none'; |
Damit wird das Formular ausgeblendet.
EditNa, da hab ich wohl zu lange getippt
 2 mal bearbeitet
|
|
|