problemen met iframe
ik heb een opdracht om via een iframe een afbeelding te uploaden ik weet dat het antiek is maar het moet zo van school,
dit is wat ik heb:
html:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
<div id="gebruikersAanmakenMiddle">
<form target="uploadframe" id="uploadform" action="admin/gebruikers/upload_profile_img.php" method="POST" enctype="multipart/form-data" onSubmit="uploadimg(this); return false">
<div id="gebruikersAanmakenProfielFoto">
<p><b>Profielfoto : </b></p>
<table>
<tr>
<td>Profielfoto :</td><td><input type="file" id="gebruikersAanmakenProfielPic" name="gebruikersAanmakenProfielPic"></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Submit"></td>
</tr>
</table>
</div>
</form>
<iframe id="uploadframe" name="uploadframe" src="admin/gebruikers/upload_profile_img.php" width="8" height="8" scrolling="no" frameborder="0" class="displayNone"></iframe>
</div>
?>
<div id="gebruikersAanmakenMiddle">
<form target="uploadframe" id="uploadform" action="admin/gebruikers/upload_profile_img.php" method="POST" enctype="multipart/form-data" onSubmit="uploadimg(this); return false">
<div id="gebruikersAanmakenProfielFoto">
<p><b>Profielfoto : </b></p>
<table>
<tr>
<td>Profielfoto :</td><td><input type="file" id="gebruikersAanmakenProfielPic" name="gebruikersAanmakenProfielPic"></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Submit"></td>
</tr>
</table>
</div>
</form>
<iframe id="uploadframe" name="uploadframe" src="admin/gebruikers/upload_profile_img.php" width="8" height="8" scrolling="no" frameborder="0" class="displayNone"></iframe>
</div>
?>
javascript:"
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
function uploadimg(theform){
theform.submit();
setStatus("Loading...", "gebruikersAanmakenProfielFoto");
return false;
}
function doneloading(result) {
result = decodeURIComponent(result.replace(/\+/g, " "));
document.getElementById('gebruikersAanmakenProfielFoto').innerHTML = result;
}
function setStatus(theStatus, theloc) {
var tag = document.getElementById(theloc);
if (tag) {
tag.innerHTML = '<b>'+ theStatus + "</b>";
}
}
?>
function uploadimg(theform){
theform.submit();
setStatus("Loading...", "gebruikersAanmakenProfielFoto");
return false;
}
function doneloading(result) {
result = decodeURIComponent(result.replace(/\+/g, " "));
document.getElementById('gebruikersAanmakenProfielFoto').innerHTML = result;
}
function setStatus(theStatus, theloc) {
var tag = document.getElementById(theloc);
if (tag) {
tag.innerHTML = '<b>'+ theStatus + "</b>";
}
}
?>
php => upload_profile_img.php
Code (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
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
<?php
function __autoload($class_name)
{
include_once('../includes/class_'. strtolower($class_name) . '.php');
}
$savefolder = Settings::$url.'/uploaded/avatar_realsize/test'; // folder for upload
$max_size = 1024 * 5; // maxim size for image file, in KiloBytes
// Allowed image types
$allowtype = array('bmp', 'gif', 'jpg', 'jpeg', 'gif', 'png');
/** Uploading the image **/
$result = '';
// if is received a valid file
if (isset ($_FILES['gebruikersAanmakenProfielPic'])) {
// checks to have the allowed extension
$type = end(explode(".", strtolower($_FILES['gebruikersAanmakenProfielPic']['name'])));
if (in_array($type, $allowtype)) {
// check its size
if ($_FILES['gebruikersAanmakenProfielPic']['size']<=$max_size*1000) {
// if no errors
if ($_FILES['gebruikersAanmakenProfielPic']['error'] == 0) {
$thefile = $savefolder . "/" . $_FILES['gebruikersAanmakenProfielPic']['name'];
// if the file can`t be uploaded, return a message
if (move_uploaded_file ($_FILES['gebruikersAanmakenProfielPic']['tmp_name'], $thefile)) {
// Return the img tag with uploaded image.
$result = '<img src="'.$thefile.'" />';
echo 'The image was successfully loaded';
}
else
{
$result = 'The file can`t be uploaded, try again';
}
}
}
else {$result = 'The file <b>'. $_FILES['gebruikersAanmakenProfielPic']['name']. '</b> exceeds the maximum permitted size <i>'. $max_size. 'KB</i>'; }
}
else {$result = 'The file <b>'. $_FILES['gebruikersAanmakenProfielPic']['name']. '</b> has not an allowed extension'; }
}
// encode with 'urlencode()' the$result and return it in 'onload', inside a BODY tag
$result = urlencode($result);
echo 'testXXXX <script type="text/javascript" >
console.log(parent);
</script>';
?>
function __autoload($class_name)
{
include_once('../includes/class_'. strtolower($class_name) . '.php');
}
$savefolder = Settings::$url.'/uploaded/avatar_realsize/test'; // folder for upload
$max_size = 1024 * 5; // maxim size for image file, in KiloBytes
// Allowed image types
$allowtype = array('bmp', 'gif', 'jpg', 'jpeg', 'gif', 'png');
/** Uploading the image **/
$result = '';
// if is received a valid file
if (isset ($_FILES['gebruikersAanmakenProfielPic'])) {
// checks to have the allowed extension
$type = end(explode(".", strtolower($_FILES['gebruikersAanmakenProfielPic']['name'])));
if (in_array($type, $allowtype)) {
// check its size
if ($_FILES['gebruikersAanmakenProfielPic']['size']<=$max_size*1000) {
// if no errors
if ($_FILES['gebruikersAanmakenProfielPic']['error'] == 0) {
$thefile = $savefolder . "/" . $_FILES['gebruikersAanmakenProfielPic']['name'];
// if the file can`t be uploaded, return a message
if (move_uploaded_file ($_FILES['gebruikersAanmakenProfielPic']['tmp_name'], $thefile)) {
// Return the img tag with uploaded image.
$result = '<img src="'.$thefile.'" />';
echo 'The image was successfully loaded';
}
else
{
$result = 'The file can`t be uploaded, try again';
}
}
}
else {$result = 'The file <b>'. $_FILES['gebruikersAanmakenProfielPic']['name']. '</b> exceeds the maximum permitted size <i>'. $max_size. 'KB</i>'; }
}
else {$result = 'The file <b>'. $_FILES['gebruikersAanmakenProfielPic']['name']. '</b> has not an allowed extension'; }
}
// encode with 'urlencode()' the$result and return it in 'onload', inside a BODY tag
$result = urlencode($result);
echo 'testXXXX <script type="text/javascript" >
console.log(parent);
</script>';
?>
nu krijg ik als error een 404.
iemand een suggestie hoe nu verder te gaan?
Mvg ralph
Nu is het ook niet echt mijn specialiteit om te kunnen zien wat jij allemaal ziet.
Kun je iets specifieker zijn? Kun je je bestandenstructuur even posten? Naar mijn idee ziet het er zo uit maar dat weet ik dus niet zeker.
Gewijzigd op 08/05/2013 10:01:52 door Albert de Wit
Code (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
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
<?php
// index.php
require_once("includes/FirePHP/FirePHP.class.php");
require_once("includes/FirePHP/fb.php");
require_once('connection.php');
ini_set('display_errors',true);
error_reporting(E_ALL ^ E_NOTICE);//E_ALL ^ E_NOTICE
session_cache_limiter('none');
session_start();
header("Content-Type: text/html; charset=utf-8");
header("Cache-control: no-cache");
header("Cache-control: no-store");
header("Pragma: no-cache");
header("Expires: 0");
function __autoload($class_name)
{
include_once('includes/class_'. strtolower($class_name) . '.php');
}
spl_autoload_register('__autoload');
ini_set('include_path', Settings::$include_path);
require_once('frontcontroller.php');
$fc = new FrontController();
?>
// index.php
require_once("includes/FirePHP/FirePHP.class.php");
require_once("includes/FirePHP/fb.php");
require_once('connection.php');
ini_set('display_errors',true);
error_reporting(E_ALL ^ E_NOTICE);//E_ALL ^ E_NOTICE
session_cache_limiter('none');
session_start();
header("Content-Type: text/html; charset=utf-8");
header("Cache-control: no-cache");
header("Cache-control: no-store");
header("Pragma: no-cache");
header("Expires: 0");
function __autoload($class_name)
{
include_once('includes/class_'. strtolower($class_name) . '.php');
}
spl_autoload_register('__autoload');
ini_set('include_path', Settings::$include_path);
require_once('frontcontroller.php');
$fc = new FrontController();
?>
het het formulier staat in :admin\gebruikers\aanmaken (het probleem is dat dit code is van iemand anders en ik het niet echt begrijp )
Toevoeging op 08/05/2013 10:04:34:
Code (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
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
<?php
// index.php
require_once("includes/FirePHP/FirePHP.class.php");
require_once("includes/FirePHP/fb.php");
require_once('connection.php');
ini_set('display_errors',true);
error_reporting(E_ALL ^ E_NOTICE);//E_ALL ^ E_NOTICE
session_cache_limiter('none');
session_start();
header("Content-Type: text/html; charset=utf-8");
header("Cache-control: no-cache");
header("Cache-control: no-store");
header("Pragma: no-cache");
header("Expires: 0");
function __autoload($class_name)
{
include_once('includes/class_'. strtolower($class_name) . '.php');
}
spl_autoload_register('__autoload');
ini_set('include_path', Settings::$include_path);
require_once('frontcontroller.php');
$fc = new FrontController();
?>
// index.php
require_once("includes/FirePHP/FirePHP.class.php");
require_once("includes/FirePHP/fb.php");
require_once('connection.php');
ini_set('display_errors',true);
error_reporting(E_ALL ^ E_NOTICE);//E_ALL ^ E_NOTICE
session_cache_limiter('none');
session_start();
header("Content-Type: text/html; charset=utf-8");
header("Cache-control: no-cache");
header("Cache-control: no-store");
header("Pragma: no-cache");
header("Expires: 0");
function __autoload($class_name)
{
include_once('includes/class_'. strtolower($class_name) . '.php');
}
spl_autoload_register('__autoload');
ini_set('include_path', Settings::$include_path);
require_once('frontcontroller.php');
$fc = new FrontController();
?>
het het formulier staat in :admin\gebruikers\aanmaken (het probleem is dat dit code is van iemand anders en ik het niet echt begrijp )
Toevoeging op 08/05/2013 10:06:12:
perongelijk 2x toegevoegd maar kan bij het aanpassen maar 1x zien
Gewijzigd op 08/05/2013 10:05:47 door ralph van der Tang
Quote:
ik heb een opdracht om via een iframe een afbeelding te uploaden ik weet dat het antiek is maar het moet zo van school
Dit is je code niet en je begrijpt de code ook niet, hoe kun je dan zeggen dat het uploaden van een afbeelding via een iframe antiek is?
Om terug te komen op je vraag. Een 404 error staat voor 'Niet gevonden'. Dat betekent dat het bestand niet bestaat waar je het formulier naartoe stuurt. En dat klopt ook want er bestaat geen 'admin/gebruikers/admin/gebruikers' folder. Je moet het doel altijd vanaf de folder sturen waar hij in staat. Dus gewoon upload_profile_img.php.
Gewijzigd op 08/05/2013 10:11:39 door Albert de Wit
kennelijk doe ik dan wat fout want t werkt niet
Zoals ik al zei, je moet het doel niet admin/gebruikers/upload_profile_img.php noemen maar upload_profile_img.php...
werkt ook niet
Wat werkt er dan niet? Wat gaat er fout? Je moet meer informatie geven als je wilt dat we met antwoorden komen. Wij hebben helaas geen glazen bol...
blijf 404 krijgen
Weet je wat ../ betekend? Weet je hoe je naar bepaalde bestanden toe moet gaan?
Ralph van der Tang op 08/05/2013 13:10:37:
blijf 404 krijgen
En wanneer komt die 404 dan? Bij het openen van de pagina? Bij het verzenden?
Ga eens debuggen door controles in te bouwen.
404 betekent doorgaans dat een pagina niet gevonden is. Je zult dus een fout hebben in pad en/of bestandsnaam.
Wat is overigens het verschil met je topic in http://www.phphulp.nl/php/forum/topic/upload-script-werkt-niet/90557/ ?
zie daar (nagenoeg) dezelfde code in de openingspost staan als hier.
Had je daar niet verder kunnen gaan?
dus of te wel het uploaden werkt niet
Mvg ralph