Probleem met mijn ajax upload
de code staat onderaan deze post.
het probleem is deze regel :
Code (php)
1
2
3
2
3
<?php
if(imagepng(imagecreatefromstring($_FILES['profielFoto']['tmp_name']), $path.$id.".png"))
?>
if(imagepng(imagecreatefromstring($_FILES['profielFoto']['tmp_name']), $path.$id.".png"))
?>
de error die deze regel geeft is als volgt:
<br />
<b>Warning</b>: imagecreatefromstring(): Data is not in a recognized format in <b>D:\Program Files\devel\xampp\htdocs\git\Business-leaders\controller\adminajax_controller.php</b> on line <b>1430</b><br />
<br />
<b>Warning</b>: imagepng() expects parameter 1 to be resource, boolean given in <b>D:\Program Files\devel\xampp\htdocs\git\Business-leaders\controller\adminajax_controller.php</b> on line <b>1430</b><br />
iemand suggesties?
Mvg
Ralph
de controller
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
51
52
53
54
55
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
<?php
elseif($this->arguments[0] == 'saveprofilefoto'){
// path waar naar de foto moet worden geupload.
$path=Settings::$include_path."/uploaded/avatar_realsize/test/avatar_realsize/";
// toegestaane extenties
$valid_formats = array("jpg", "png","jpeg");
// maximale grootte (5mb) in bytes, dit komt omdat de ajax het doorgeeft in bytes.
$max_size = 5 * 1024 * 1024;
//nieuwe naam
$id=$_POST[0]['id'];
// grootte
$size= $_FILES['profielFoto']['size'];
// naam
$name= $_FILES['profielFoto']['name'];
if($size < $max_size)
{
list($txt,$ext) = explode(".",$name);
if(in_array($ext,$valid_formats))
{
// tijdelijke servernaam
if(imagepng(imagecreatefromstring($_FILES['profielFoto']['tmp_name']), $path.$id.".png"))
{
// path voor de geresizede img.
$resized_path=Settings::$include_path."/uploaded/avatar_realsize/test/avatar/";
//public static function resizeImage($originalImage,$type,$toWidth,$toHeight)
// imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
// small 50px x 50px
$small=image::resizeImage($path.$user_id.".png","png",50,50);
imagepng($small, $resized_path.$id."_small.png");
// medium 100x100
$medium=image::resizeImage($path.$user_id.".png","png",100,100);
imagepng($medium,$resized_path.$id."_medium.png");
// large 250x250
$large=image::resizeImage($path.$user_id.".png","png",250,250);
imagepng($large, $resized_path.$id."_large.png");
echo json_encode(array("success"=> true));
}
}else{
// extentie niet toegestaan
echo json_encode(array('error'=>' extentie niet toegestaan'));
}
}
}
else
{
// bestand te groot
echo json_encode(array('error'=>' file te groot'));
}
?>
elseif($this->arguments[0] == 'saveprofilefoto'){
// path waar naar de foto moet worden geupload.
$path=Settings::$include_path."/uploaded/avatar_realsize/test/avatar_realsize/";
// toegestaane extenties
$valid_formats = array("jpg", "png","jpeg");
// maximale grootte (5mb) in bytes, dit komt omdat de ajax het doorgeeft in bytes.
$max_size = 5 * 1024 * 1024;
//nieuwe naam
$id=$_POST[0]['id'];
// grootte
$size= $_FILES['profielFoto']['size'];
// naam
$name= $_FILES['profielFoto']['name'];
if($size < $max_size)
{
list($txt,$ext) = explode(".",$name);
if(in_array($ext,$valid_formats))
{
// tijdelijke servernaam
if(imagepng(imagecreatefromstring($_FILES['profielFoto']['tmp_name']), $path.$id.".png"))
{
// path voor de geresizede img.
$resized_path=Settings::$include_path."/uploaded/avatar_realsize/test/avatar/";
//public static function resizeImage($originalImage,$type,$toWidth,$toHeight)
// imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
// small 50px x 50px
$small=image::resizeImage($path.$user_id.".png","png",50,50);
imagepng($small, $resized_path.$id."_small.png");
// medium 100x100
$medium=image::resizeImage($path.$user_id.".png","png",100,100);
imagepng($medium,$resized_path.$id."_medium.png");
// large 250x250
$large=image::resizeImage($path.$user_id.".png","png",250,250);
imagepng($large, $resized_path.$id."_large.png");
echo json_encode(array("success"=> true));
}
}else{
// extentie niet toegestaan
echo json_encode(array('error'=>' extentie niet toegestaan'));
}
}
}
else
{
// bestand te groot
echo json_encode(array('error'=>' file te groot'));
}
?>
Toevoeging op 03/06/2013 10:40:05:
http://jquery.malsup.com/form/#api hier staat de api van de plugin die wordt gebruikt
( en dan, imagepng() krijgt die FALSE, waarmee het niets kan doen; dat geeft de error )
Waar heb je gevonden dat dit met imagecreatefromstring moet gebeuren?
----
Nog iets. Zoek een beter systeem om de extensie te kennen.
Een bestand kan 'mijnfoto.jpg.exe' heten. Jouw systeem herkent dit als jpg, terwijl het een exe is.
Kijk hier eens http://be2.php.net/manual/en/function.pathinfo.php
Daar staan goede voorbeelden van hoe je de juiste extensie kan berekenen.
Mvg ralph
Hoe doe je die upload? Je zegt namelijk via Ajax, maar via ajax kan je geen bestanden uploaden, in elk geval niet via een standaard ajax submit.
Je zal echt moeten tonen hoe je aan die code bent geraakt; zowel formulier, javascript als php.
Kris Peeters op 03/06/2013 12:34:40:
Wel ja ... tegenwoordig kan het met Ajax. Maar het is nog niet evident.
Hoe als ik vragen mag? Ik ken alleen de workaround met een hidden iframe.
het ajax gedeelte werkt dit is puur php wat het probleem is maar de manier waarop het gebeurd staat hier :
Ik denk dat ik iets als dit ooit aan de praat heb gekregen
http://www.sitepoint.com/html5-ajax-file-upload/
Met file_get_contents('php://input') krijg je RAW post data (of zo)
Ralph van der Tang op 03/06/2013 13:02:27:
het ajax gedeelte werkt dit is puur php wat het probleem is maar de manier waarop het gebeurd staat hier :
Toon toch eens de code; of ten minste waar je de inspiratie voor die code vond
Gewijzigd op 03/06/2013 13:07:09 door Kris Peeters
http://jquery.malsup.com/form/#api hier staat de api van de plugin die wordt gebruikt
Toevoeging op 03/06/2013 13:07:12:
http://jquery.malsup.com/form/#api hier staat de api van de plugin die wordt gebruikt
Toevoeging op 03/06/2013 13:07:12:
http://jquery.malsup.com/form/#api hier staat de api van de plugin die wordt gebruikt
Dan wordt het debuggen. Dus geef eens een print_r van de $_FILES array aan het begin van het script en check de output in je browser. Is het bestand wel geupload?
array(1) {
["profielFoto"]=>
array(5) {
["name"]=>
string(8) "logo.png"
["type"]=>
string(9) "image/png"
["tmp_name"]=>
string(44) "D:\Program Files\devel\xampp\tmp\php9A6B.tmp"
["error"]=>
int(0)
["size"]=>
int(4508)
}
}
Check eens met:
Toevoeging op 03/06/2013 15:16:04:
het werkt nu moet alleen nog ff kijken wat ik veranderd heb vanwege de ernorme hoeveel heid comments die ik had gemaakt
antwoord volgt
Toevoeging op 03/06/2013 15:26:55:
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
51
52
53
54
55
56
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
<?php
// temp name
$img=$_FILES['profielFoto']['tmp_name'];
// path waar naar de foto moet worden geupload.
$path=Settings::$include_path."/uploaded/avatar_realsize/test/avatar_realsize/";
// toegestaane extenties
$valid_formats = array("jpg", "png","jpeg");
// maximale grootte (5mb) in bytes, dit komt omdat de ajax het doorgeeft in bytes.
$max_size = 5 * 1024 * 1024;
//nieuwe naam
$id=$_POST[0]['id'];
// grootte
$size= $_FILES['profielFoto']['size'];
// naam
$name= $_FILES['profielFoto']['name'];
if($size < $max_size)
{
list($txt,$ext) = explode(".",$name);
if(in_array($ext,$valid_formats))
{
// tijdelijke servernaam
if(move_uploaded_file($_FILES['profielFoto']['tmp_name'],$path."/".$id.".".$ext))
{
// path voor de geresizede img.
$resized_path=Settings::$include_path."/uploaded\avatar_realsize\test\avatar";
//public static function resizeImage($originalImage,$type,$toWidth,$toHeight)
// imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
// small 50px x 50px
print_r($resized_path);
$small=image::resizeImage($path.$user_id.".png","png",50,50);
imagepng($small, $resized_path.$id."_small.png");
// medium 100x100
$medium=image::resizeImage($path.$user_id.".png","png",100,100);
imagepng($medium,$resized_path.$id."_medium.png");
// large 250x250
$large=image::resizeImage($path.$user_id.".png","png",250,250);
imagepng($large, $resized_path.$id."_large.png");
echo json_encode(array("success"=> true));
}
}else{
// extentie niet toegestaan
echo json_encode(array('error'=>' extentie niet toegestaan'));
}
}
}
else
{
// bestand te groot
echo json_encode(array('error'=>' file te groot'));
}
?>
// temp name
$img=$_FILES['profielFoto']['tmp_name'];
// path waar naar de foto moet worden geupload.
$path=Settings::$include_path."/uploaded/avatar_realsize/test/avatar_realsize/";
// toegestaane extenties
$valid_formats = array("jpg", "png","jpeg");
// maximale grootte (5mb) in bytes, dit komt omdat de ajax het doorgeeft in bytes.
$max_size = 5 * 1024 * 1024;
//nieuwe naam
$id=$_POST[0]['id'];
// grootte
$size= $_FILES['profielFoto']['size'];
// naam
$name= $_FILES['profielFoto']['name'];
if($size < $max_size)
{
list($txt,$ext) = explode(".",$name);
if(in_array($ext,$valid_formats))
{
// tijdelijke servernaam
if(move_uploaded_file($_FILES['profielFoto']['tmp_name'],$path."/".$id.".".$ext))
{
// path voor de geresizede img.
$resized_path=Settings::$include_path."/uploaded\avatar_realsize\test\avatar";
//public static function resizeImage($originalImage,$type,$toWidth,$toHeight)
// imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
// small 50px x 50px
print_r($resized_path);
$small=image::resizeImage($path.$user_id.".png","png",50,50);
imagepng($small, $resized_path.$id."_small.png");
// medium 100x100
$medium=image::resizeImage($path.$user_id.".png","png",100,100);
imagepng($medium,$resized_path.$id."_medium.png");
// large 250x250
$large=image::resizeImage($path.$user_id.".png","png",250,250);
imagepng($large, $resized_path.$id."_large.png");
echo json_encode(array("success"=> true));
}
}else{
// extentie niet toegestaan
echo json_encode(array('error'=>' extentie niet toegestaan'));
}
}
}
else
{
// bestand te groot
echo json_encode(array('error'=>' file te groot'));
}
?>
het probleem is nog niet helemaal opgelost het probleem zit het nu in het resizen
Toevoeging op 03/06/2013 15:27:28:
<b>Warning</b>: imagepng(D:\Program Files\devel\xampp\htdocs\git\Business-leaders/uploaded\avatar_realsize est\avatar_small.png): failed to open stream: Invalid argument in <b>D:\Program Files\devel\xampp\htdocs\git\Business-leaders\controller\adminajax_controller.php</b> on line <b>1441</b><br />
<br />
<b>Warning</b>: imagepng(D:\Program Files\devel\xampp\htdocs\git\Business-leaders/uploaded\avatar_realsize est\avatar_medium.png): failed to open stream: Invalid argument in <b>D:\Program Files\devel\xampp\htdocs\git\Business-leaders\controller\adminajax_controller.php</b> on line <b>1445</b><br />
<br />
<b>Warning</b>: imagepng(D:\Program Files\devel\xampp\htdocs\git\Business-leaders/uploaded\avatar_realsize est\avatar_large.png): failed to open stream: Invalid argument in <b>D:\Program Files\devel\xampp\htdocs\git\Business-leaders\controller\adminajax_controller.php</b> on line <b>1449</b><br />
Toevoeging op 03/06/2013 15:30:13:
einde van de url zou moeten zijn : /uploaded\avatar_realsize\test\avatar
maar print_r()
geeft D:\Program Files\devel\xampp\htdocs\git\Business-leaders/uploaded\avatar_realsize est\avatar
dit moet zijn :D:\Program Files\devel\xampp\htdocs\git\Business-leaders/uploaded\avatar_realsize\test\avatar
iemand suggesties
Code (php)
1
2
3
2
3
<?php
$resized_path=Settings::$include_path.'/uploaded\avatar_realsize\test\avatar';
?>
$resized_path=Settings::$include_path.'/uploaded\avatar_realsize\test\avatar';
?>
Ook gebruik je slashes en backslashes door elkaar wat soms voor problemen kan zorgen.
de upload werkt nu helemaal nu alleen nog resizen en dan is het klaar
als dit het geval is, is er niks aan de hand wanneer dit niet gebeurd moet de gebruiker gelijk weer verwijderd worden uit de database iemand suggesties?
java script
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
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
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
<?php
function valiadateGebruiker(){
var voornaam = $('input#gebruikersAanmakenVoornaam').val();
var achternaam = $('input#gebruikersAanmakenAchternaam').val();
var wachtwoord = $('input#gegenereerdWachtwoord').val();
var bedrijfsnaam = $('input#gebruikersAanmakenBedrijfsnaam').val();
var email = $('input#gebruikersAanmakenEmail').val();
if(voornaam =='' || voornaam == null || voornaam ==undefined || voornaam ==' '){
$('#gebruikersAanmakenVoornaam').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
var voornaamError=1;
}else{
$('#gebruikersAanmakenVoornaam').animate({ borderTopColor: '#ABADB3', borderLeftColor: '#ABADB3', borderRightColor: '#ABADB3', borderBottomColor: '#ABADB3' }, 0);
}
if(achternaam =='' || achternaam == null || achternaam ==undefined || achternaam ==' '){
$('#gebruikersAanmakenAchternaam').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
var achternaamError=1;
}else{
$('#gebruikersAanmakenAchternaam').animate({ borderTopColor: '#ABADB3', borderLeftColor: '#ABADB3', borderRightColor: '#ABADB3', borderBottomColor: '#ABADB3' }, 0);
}
if(wachtwoord=='' || wachtwoord == null || wachtwoord ==undefined || wachtwoord == ' '){
if(wachtwoord == undefined){
$('#wachtwoordgenereerbttn').animate({"background-color":"#FF2B2B"},300);
}
$('#gegenereerdWachtwoord').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
var wachtwoorError=1;
}else{
$('#gegenereerdWachtwoord').animate({ borderTopColor: '#ABADB3', borderLeftColor: '#ABADB3', borderRightColor: '#ABADB3', borderBottomColor: '#ABADB3' }, 0);
}
if(bedrijfsnaam =='' || bedrijfsnaam == null || bedrijfsnaam == undefined || bedrijfsnaam ==' '){
$('#gebruikersAanmakenBedrijfsnaam').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
var bedrijfsError=1;
}else{
$('#gebruikersAanmakenBedrijfsnaam').animate({ borderTopColor: '#ABADB3', borderLeftColor: '#ABADB3', borderRightColor: '#ABADB3', borderBottomColor: '#ABADB3' }, 0);
}
if(email =='' || email == ' ' || email == null || email == undefined){
$('#gebruikersAanmakenEmail').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
var emailError=1;
}else{
var atpos = email.indexOf("@");
var dotpos = email.indexOf(".");
if(atpos <1 || dotpos< atpos+2 ||dotpos>=email.length)
{
var emailError=1;
$('#gebruikersAanmakenEmail').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
}
else
{
$('#gebruikersAanmakenEmail').animate({ borderTopColor: '#ABADB3', borderLeftColor: '#ABADB3', borderRightColor: '#ABADB3', borderBottomColor: '#ABADB3' }, 0);
}
}
if(voornaamError || achternaamError || wachtwoorError || bedrijfsError || emailError)
{
$('#gebruikersError').css("color","red").html("<h3><b>Vul alle velden met een * in</b></h3>");
return false;
}
else
{
// hier is die nu.
addUser();
return false;
}
}
function addUser()
{
// validatie van de gegevensvind plaats in : function valiadategebruiker()
// persoons gegevens
var voornaam = $('input#gebruikersAanmakenVoornaam').val(); // verplicht
var tussenvoegsel = $('input#gebruikersAanmakenTussenvoegsel').val();
var achternaam = $('input#gebruikersAanmakenAchternaam').val(); // verpicht
var email = $('input#gebruikersAanmakenEmail').val(); // verplicht
var functie = $('input#gebruikersAanmakenFunctie').val();
var mobiel = $('input#gebruikersAanmakenMobiel').val();
var ervaring = $('textarea#gebruikersAanmakenErvaring').val();
var wachtwoord = $('input#gegenereerdWachtwoord').val(); // verpicht
var codedpass= hex_sha512(wachtwoord).toLowerCase();
// bedrijf gegevens
var bedrijfsnaam = $('input#gebruikersAanmakenBedrijfsnaam').val(); // verpicht
var bedrijfsInfo = $('textarea#gebruikersAanmakenBedrijfsInfo').val();
var voorletter= voornaam.charAt(0);
// ajax call
$.ajax(
{
type: "POST",
url: "<?php echo Settings::$url; ?>/nl/adminajax/gebruikers/gebruikeraanmaken",
data:
{
wachtwoord : codedpass,
voornaam : voornaam,
tussenvoegsel : tussenvoegsel,
achternaam : achternaam,
functie : functie,
email : email,
mobiel : mobiel,
ervaring : ervaring,
bedrijfsnaam : bedrijfsnaam,
bedrijfsInfo : bedrijfsInfo,
voorletter: voorletter
},
dataType: "json",
success: function(data)
{
var id = data.id;
var bedrijf_id= data.bedrijf_id;
// profielfoto
var options=
{
url:"<?php echo Settings::$url; ?>/nl/adminajax/gebruikers/saveprofilefoto",
type:"post",
data:{id:id}
};
// bedrijfslogo
var options2 =
{
url:"<?php echo Settings::$url; ?>/nl/adminajax/gebruikers/bedrijfslogo",
type:"post",
data:{bedrijf_id:bedrijf_id}
};
$('#profielfotoform').ajaxSubmit(options);
$('#bedrijfslogoform').ajaxSubmit(options2);
}
});
}
?>
function valiadateGebruiker(){
var voornaam = $('input#gebruikersAanmakenVoornaam').val();
var achternaam = $('input#gebruikersAanmakenAchternaam').val();
var wachtwoord = $('input#gegenereerdWachtwoord').val();
var bedrijfsnaam = $('input#gebruikersAanmakenBedrijfsnaam').val();
var email = $('input#gebruikersAanmakenEmail').val();
if(voornaam =='' || voornaam == null || voornaam ==undefined || voornaam ==' '){
$('#gebruikersAanmakenVoornaam').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
var voornaamError=1;
}else{
$('#gebruikersAanmakenVoornaam').animate({ borderTopColor: '#ABADB3', borderLeftColor: '#ABADB3', borderRightColor: '#ABADB3', borderBottomColor: '#ABADB3' }, 0);
}
if(achternaam =='' || achternaam == null || achternaam ==undefined || achternaam ==' '){
$('#gebruikersAanmakenAchternaam').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
var achternaamError=1;
}else{
$('#gebruikersAanmakenAchternaam').animate({ borderTopColor: '#ABADB3', borderLeftColor: '#ABADB3', borderRightColor: '#ABADB3', borderBottomColor: '#ABADB3' }, 0);
}
if(wachtwoord=='' || wachtwoord == null || wachtwoord ==undefined || wachtwoord == ' '){
if(wachtwoord == undefined){
$('#wachtwoordgenereerbttn').animate({"background-color":"#FF2B2B"},300);
}
$('#gegenereerdWachtwoord').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
var wachtwoorError=1;
}else{
$('#gegenereerdWachtwoord').animate({ borderTopColor: '#ABADB3', borderLeftColor: '#ABADB3', borderRightColor: '#ABADB3', borderBottomColor: '#ABADB3' }, 0);
}
if(bedrijfsnaam =='' || bedrijfsnaam == null || bedrijfsnaam == undefined || bedrijfsnaam ==' '){
$('#gebruikersAanmakenBedrijfsnaam').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
var bedrijfsError=1;
}else{
$('#gebruikersAanmakenBedrijfsnaam').animate({ borderTopColor: '#ABADB3', borderLeftColor: '#ABADB3', borderRightColor: '#ABADB3', borderBottomColor: '#ABADB3' }, 0);
}
if(email =='' || email == ' ' || email == null || email == undefined){
$('#gebruikersAanmakenEmail').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
var emailError=1;
}else{
var atpos = email.indexOf("@");
var dotpos = email.indexOf(".");
if(atpos <1 || dotpos< atpos+2 ||dotpos>=email.length)
{
var emailError=1;
$('#gebruikersAanmakenEmail').animate({ borderTopColor: '#FF0000', borderLeftColor: '#FF0000', borderRightColor: '#FF0000', borderBottomColor: '#FF0000' }, 300);
}
else
{
$('#gebruikersAanmakenEmail').animate({ borderTopColor: '#ABADB3', borderLeftColor: '#ABADB3', borderRightColor: '#ABADB3', borderBottomColor: '#ABADB3' }, 0);
}
}
if(voornaamError || achternaamError || wachtwoorError || bedrijfsError || emailError)
{
$('#gebruikersError').css("color","red").html("<h3><b>Vul alle velden met een * in</b></h3>");
return false;
}
else
{
// hier is die nu.
addUser();
return false;
}
}
function addUser()
{
// validatie van de gegevensvind plaats in : function valiadategebruiker()
// persoons gegevens
var voornaam = $('input#gebruikersAanmakenVoornaam').val(); // verplicht
var tussenvoegsel = $('input#gebruikersAanmakenTussenvoegsel').val();
var achternaam = $('input#gebruikersAanmakenAchternaam').val(); // verpicht
var email = $('input#gebruikersAanmakenEmail').val(); // verplicht
var functie = $('input#gebruikersAanmakenFunctie').val();
var mobiel = $('input#gebruikersAanmakenMobiel').val();
var ervaring = $('textarea#gebruikersAanmakenErvaring').val();
var wachtwoord = $('input#gegenereerdWachtwoord').val(); // verpicht
var codedpass= hex_sha512(wachtwoord).toLowerCase();
// bedrijf gegevens
var bedrijfsnaam = $('input#gebruikersAanmakenBedrijfsnaam').val(); // verpicht
var bedrijfsInfo = $('textarea#gebruikersAanmakenBedrijfsInfo').val();
var voorletter= voornaam.charAt(0);
// ajax call
$.ajax(
{
type: "POST",
url: "<?php echo Settings::$url; ?>/nl/adminajax/gebruikers/gebruikeraanmaken",
data:
{
wachtwoord : codedpass,
voornaam : voornaam,
tussenvoegsel : tussenvoegsel,
achternaam : achternaam,
functie : functie,
email : email,
mobiel : mobiel,
ervaring : ervaring,
bedrijfsnaam : bedrijfsnaam,
bedrijfsInfo : bedrijfsInfo,
voorletter: voorletter
},
dataType: "json",
success: function(data)
{
var id = data.id;
var bedrijf_id= data.bedrijf_id;
// profielfoto
var options=
{
url:"<?php echo Settings::$url; ?>/nl/adminajax/gebruikers/saveprofilefoto",
type:"post",
data:{id:id}
};
// bedrijfslogo
var options2 =
{
url:"<?php echo Settings::$url; ?>/nl/adminajax/gebruikers/bedrijfslogo",
type:"post",
data:{bedrijf_id:bedrijf_id}
};
$('#profielfotoform').ajaxSubmit(options);
$('#bedrijfslogoform').ajaxSubmit(options2);
}
});
}
?>
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
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
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
<?php
// nieuw gebruikers aanmaken.
if($this-> arguments[0] == 'gebruikeraanmaken')
{
$voorletter = $_POST['voorletter'];
$wachtwoord = $_POST['wachtwoord'];
$voornaam = Database::quote($_POST['voornaam']);
$tussenvoegsel = Database::quote($_POST['tussenvoegsel']);
$achternaam = Database::quote($_POST['achternaam']);
$functie = Database::quote($_POST['functie']);
$email = Database::quote($_POST['email']);
$mobiel = Database::quote($_POST['mobiel']);
$ervaring = Database::quote($_POST['ervaring']);
$bedrijfsnaam = Database::quote($_POST['bedrijfsnaam']);
$bedrijfsInfo = Database::quote($_POST['bedrijfsInfo']);
$gebruikersnaam= $voorletter.'.';
if($tussenvoegsel != '')
{
$gebruikersnaam .= $_POST['tussenvoegsel'];
}
$gebruikersnaam .= $_POST['achternaam'];
// queries om de gebruikers informatie mee te verwerken naar de database.
$sqlinsertuser ="INSERT INTO `users`(`username` , `password` ,`email` ,`group_id`)VALUES('".$gebruikersnaam ."', '".$wachtwoord."', ".$email.", '1')";
$test =Database::insert($sqlinsertuser);
$sqlselectuserid ="SELECT `user_id` FROM `users` ORDER BY `user_id` DESC LIMIT 1 ";
$id= Database::execute($sqlselectuserid);
$sqlinsterprofile ="INSERT INTO `profile`(`user_id` ,`voornaam` ,`tussenvoegsel` ,`achternaam`,`ervaring` ,`mobiel` ,`email`)VALUES('".$id[0]['user_id']."', ".$voornaam.", ".$tussenvoegsel.", ".$achternaam.", ".$ervaring.", ".$mobiel.", ".$email.")";
$test2=Database::insert($sqlinsterprofile);
$sqlselectprofileid ="SELECT `profile_id` FROM `profile` WHERE `voornaam` = ".$voornaam." AND `tussenvoegsel` = ".$tussenvoegsel." AND `achternaam` = ".$achternaam." ORDER BY `profile_id` DESC ";
$test3=Database::execute($sqlselectprofileid);
$sqlinsertbedrijfid ="INSERT INTO `profile_bedrijf`(`profile_id`, `bedrijf_naam`, `bedrijf_informatie`)VALUES('".$test3[0]['profile_id']."', ".$bedrijfsnaam.", ".$bedrijfsInfo.")";
$test4=Database::execute($sqlinsertbedrijfid);
$sql_get_bedrijf_id="SELECT `bedrijf_id` FROM `profile_bedrijf` WHERE `profile_id` =".$test3[0]['profile_id']."";
$test5=Database::execute($sql_get_bedrijf_id);
echo json_encode(array('success'=> true,'id' => $id,'bedrijf_id'=>$test5));
}
else if($this->arguments[0] == 'saveprofilefoto')
{
// temp name
$img=$_FILES['profielFoto']['tmp_name'];
// path waar naar de foto moet worden geupload.
$path=Settings::$include_path."/uploaded/avatar_realsize/test/avatar_realsize/";
// toegestaane extenties
$valid_formats = array("jpg", "png","jpeg");
// maximale grootte (5mb) in kb, dit komt omdat de ajax het doorgeeft in kb.
$max_size = 100 * 1024;
//nieuwe naam
$id=$_POST['id'][0]['user_id'];
// grootte
$size= $_FILES['profielFoto']['size'];
// naam
$name= $_FILES['profielFoto']['name'];
if($size < $max_size)
{
list($txt,$ext) = explode(".",$name);
if(in_array($ext,$valid_formats))
{
// tijdelijke servernaam
if(move_uploaded_file($_FILES['profielFoto']['tmp_name'],$path."/".$id.".".$ext))
{
if($ext =='jpg'|| $ext == 'jpeg')
{
$image= imagecreatefromjpeg($path.$id.'.'.$ext);
imagepng($image,$path.'/'.$id.'.png');
imagedestroy($image);
}
// path voor de geresizede img.
$resized_path=Settings::$include_path.'\uploaded\avatar_realsize\test\avatar\\';
//public static function resizeImage($originalImage,$type,$toWidth,$toHeight)
// imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
// small 50px x 50px
$small=image::resizeImage($path.$id.".png","png",50,50);
imagepng($small, $resized_path.$id."_small.png");
// medium 100x100
$medium=image::resizeImage($path.$id.".png","png",100,100);
imagepng($medium,$resized_path.$id."_medium.png");
// large 250x250
$large=image::resizeImage($path.$id.".png","png",250,250);
imagepng($large, $resized_path.$id."_large.png");
echo json_encode(array("profielfoto"=> "true"));
}
}else{
// extentie niet toegestaan
echo json_encode(array('profielfotoerror'=>' extentie niet toegestaan'));
}
}
else
{
// bestand te groot
echo json_encode(array('profielfotoerror'=>' file te groot'));
}
}
if($this->arguments[0] == "bedrijfslogo")
{
// verzonden img met alle gegevens.
//$img=$_FILES['Bedrijfslogo']['tmp_name'];
// path waar naar de foto moet worden geupload.
$path=Settings::$include_path."/uploaded/avatar_realsize/test/bedrijf_logo/";
// toegestaane extenties
$valid_formats = array("jpg", "png","jpeg");
// maximale grootte (5mb) in kb , dit komt omdat de ajax het doorgeeft in kb.
$max_size = 100*1024;
//nieuwe naam
$bedrijf_id=$_POST['bedrijf_id'][0]['bedrijf_id'];
// grootte
$size= $_FILES['Bedrijfslogo']['size'];
// naam
$name= $_FILES['Bedrijfslogo']['name'];
if($size < $max_size)
{
list($txt,$ext) = explode(".",$name);
if(in_array($ext,$valid_formats))
{
move_uploaded_file($_FILES['Bedrijfslogo']['tmp_name'],$path."/".$bedrijf_id.".".$ext);
if($ext =='jpg'|| $ext == 'jpeg')
{
$image= imagecreatefromjpeg($path.$bedrijf_id.'.'.$ext);
imagepng($image,$path.'/'.$bedrijf_id.'.png');
imagedestroy($image);
}
echo json_encode(array('bedrijfslogo'=>'true'));
}else{
// extentie niet toegestaan
echo json_encode(array('bedrijfserror'=>' extentie niet toegestaan'));
}
}
else
{
// bestand te groot
echo json_encode(array('bedrijfserror'=>'file te groot'));
}
}
?>
// nieuw gebruikers aanmaken.
if($this-> arguments[0] == 'gebruikeraanmaken')
{
$voorletter = $_POST['voorletter'];
$wachtwoord = $_POST['wachtwoord'];
$voornaam = Database::quote($_POST['voornaam']);
$tussenvoegsel = Database::quote($_POST['tussenvoegsel']);
$achternaam = Database::quote($_POST['achternaam']);
$functie = Database::quote($_POST['functie']);
$email = Database::quote($_POST['email']);
$mobiel = Database::quote($_POST['mobiel']);
$ervaring = Database::quote($_POST['ervaring']);
$bedrijfsnaam = Database::quote($_POST['bedrijfsnaam']);
$bedrijfsInfo = Database::quote($_POST['bedrijfsInfo']);
$gebruikersnaam= $voorletter.'.';
if($tussenvoegsel != '')
{
$gebruikersnaam .= $_POST['tussenvoegsel'];
}
$gebruikersnaam .= $_POST['achternaam'];
// queries om de gebruikers informatie mee te verwerken naar de database.
$sqlinsertuser ="INSERT INTO `users`(`username` , `password` ,`email` ,`group_id`)VALUES('".$gebruikersnaam ."', '".$wachtwoord."', ".$email.", '1')";
$test =Database::insert($sqlinsertuser);
$sqlselectuserid ="SELECT `user_id` FROM `users` ORDER BY `user_id` DESC LIMIT 1 ";
$id= Database::execute($sqlselectuserid);
$sqlinsterprofile ="INSERT INTO `profile`(`user_id` ,`voornaam` ,`tussenvoegsel` ,`achternaam`,`ervaring` ,`mobiel` ,`email`)VALUES('".$id[0]['user_id']."', ".$voornaam.", ".$tussenvoegsel.", ".$achternaam.", ".$ervaring.", ".$mobiel.", ".$email.")";
$test2=Database::insert($sqlinsterprofile);
$sqlselectprofileid ="SELECT `profile_id` FROM `profile` WHERE `voornaam` = ".$voornaam." AND `tussenvoegsel` = ".$tussenvoegsel." AND `achternaam` = ".$achternaam." ORDER BY `profile_id` DESC ";
$test3=Database::execute($sqlselectprofileid);
$sqlinsertbedrijfid ="INSERT INTO `profile_bedrijf`(`profile_id`, `bedrijf_naam`, `bedrijf_informatie`)VALUES('".$test3[0]['profile_id']."', ".$bedrijfsnaam.", ".$bedrijfsInfo.")";
$test4=Database::execute($sqlinsertbedrijfid);
$sql_get_bedrijf_id="SELECT `bedrijf_id` FROM `profile_bedrijf` WHERE `profile_id` =".$test3[0]['profile_id']."";
$test5=Database::execute($sql_get_bedrijf_id);
echo json_encode(array('success'=> true,'id' => $id,'bedrijf_id'=>$test5));
}
else if($this->arguments[0] == 'saveprofilefoto')
{
// temp name
$img=$_FILES['profielFoto']['tmp_name'];
// path waar naar de foto moet worden geupload.
$path=Settings::$include_path."/uploaded/avatar_realsize/test/avatar_realsize/";
// toegestaane extenties
$valid_formats = array("jpg", "png","jpeg");
// maximale grootte (5mb) in kb, dit komt omdat de ajax het doorgeeft in kb.
$max_size = 100 * 1024;
//nieuwe naam
$id=$_POST['id'][0]['user_id'];
// grootte
$size= $_FILES['profielFoto']['size'];
// naam
$name= $_FILES['profielFoto']['name'];
if($size < $max_size)
{
list($txt,$ext) = explode(".",$name);
if(in_array($ext,$valid_formats))
{
// tijdelijke servernaam
if(move_uploaded_file($_FILES['profielFoto']['tmp_name'],$path."/".$id.".".$ext))
{
if($ext =='jpg'|| $ext == 'jpeg')
{
$image= imagecreatefromjpeg($path.$id.'.'.$ext);
imagepng($image,$path.'/'.$id.'.png');
imagedestroy($image);
}
// path voor de geresizede img.
$resized_path=Settings::$include_path.'\uploaded\avatar_realsize\test\avatar\\';
//public static function resizeImage($originalImage,$type,$toWidth,$toHeight)
// imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
// small 50px x 50px
$small=image::resizeImage($path.$id.".png","png",50,50);
imagepng($small, $resized_path.$id."_small.png");
// medium 100x100
$medium=image::resizeImage($path.$id.".png","png",100,100);
imagepng($medium,$resized_path.$id."_medium.png");
// large 250x250
$large=image::resizeImage($path.$id.".png","png",250,250);
imagepng($large, $resized_path.$id."_large.png");
echo json_encode(array("profielfoto"=> "true"));
}
}else{
// extentie niet toegestaan
echo json_encode(array('profielfotoerror'=>' extentie niet toegestaan'));
}
}
else
{
// bestand te groot
echo json_encode(array('profielfotoerror'=>' file te groot'));
}
}
if($this->arguments[0] == "bedrijfslogo")
{
// verzonden img met alle gegevens.
//$img=$_FILES['Bedrijfslogo']['tmp_name'];
// path waar naar de foto moet worden geupload.
$path=Settings::$include_path."/uploaded/avatar_realsize/test/bedrijf_logo/";
// toegestaane extenties
$valid_formats = array("jpg", "png","jpeg");
// maximale grootte (5mb) in kb , dit komt omdat de ajax het doorgeeft in kb.
$max_size = 100*1024;
//nieuwe naam
$bedrijf_id=$_POST['bedrijf_id'][0]['bedrijf_id'];
// grootte
$size= $_FILES['Bedrijfslogo']['size'];
// naam
$name= $_FILES['Bedrijfslogo']['name'];
if($size < $max_size)
{
list($txt,$ext) = explode(".",$name);
if(in_array($ext,$valid_formats))
{
move_uploaded_file($_FILES['Bedrijfslogo']['tmp_name'],$path."/".$bedrijf_id.".".$ext);
if($ext =='jpg'|| $ext == 'jpeg')
{
$image= imagecreatefromjpeg($path.$bedrijf_id.'.'.$ext);
imagepng($image,$path.'/'.$bedrijf_id.'.png');
imagedestroy($image);
}
echo json_encode(array('bedrijfslogo'=>'true'));
}else{
// extentie niet toegestaan
echo json_encode(array('bedrijfserror'=>' extentie niet toegestaan'));
}
}
else
{
// bestand te groot
echo json_encode(array('bedrijfserror'=>'file te groot'));
}
}
?>