login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Strict Standards: Only variables should be passed by reference (Opgelost)

Offline GroundZero - 17/06/2015 20:50
Avatar van GroundZeroLid Beste,

ik krijg de melding Strict Standards: Only variables should be passed by reference en krijg het niet opgelost. Ik zie ook niet waar de fout zit om eerlijk te zijn.

Hoop dat iemand mij kan vertellen waar de fout zit en hoe deze op te lossen.

  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST')
  3. {
  4. if(!empty($_POST['titel']) && !empty($_POST['omschrijving']) && !empty($_FILES['media']['tmp_name']))
  5. {
  6. // some data we need
  7. $prefix = '';
  8. $extension = array_pop(explode('.', $_FILES['media']['name']));
  9. $name = cleanUrl($_FILES['media']['name']);
  10. $name = str_replace($extension, '', $name);
  11.  
  12. $canverkleinen = array('jpg', 'JPG', 'png', 'PNG', 'gif', 'GIF', 'bmp', 'BMP');
  13.  
  14. if($_POST['verkleinen'] == 'verkleinen')
  15. {
  16. // set prefix name
  17. $prefix = time();
  18.  
  19. // verkleinen if needed and upload
  20. if(move_uploaded_file($_FILES['media']['tmp_name'], '../uploads/'.$prefix.'_'.$name.'.'.$extension))
  21. {
  22. if(in_array($extension, $canverkleinen))
  23. {
  24. if($_POST['verkleinen'] == 'verkleinen'){
  25. $width = 400;
  26. $height = 400;
  27. } else {
  28. $width = 1680;
  29. $height = 1024;
  30. }
  31.  
  32. switch($extension)
  33. {
  34. case 'jpg':
  35. case 'JPG':
  36. $image = imagecreatefromjpeg('../uploads/'.$prefix.'_'.$name.'.'.$extension);
  37. break;
  38.  
  39. case 'png':
  40. case 'PNG':
  41. $image = imagecreatefrompng('../uploads/'.$prefix.'_'.$name.'.'.$extension);
  42. break;
  43.  
  44. case 'gif':
  45. case 'GIF':
  46. $image = imagecreatefromgif('../uploads/'.$prefix.'_'.$name.'.'.$extension);
  47. break;
  48.  
  49. case 'bmp':
  50. case 'BMP':
  51. $image = imagecreatefromwbmp('../uploads/'.$prefix.'_'.$name.'.'.$extension);
  52. break;
  53. }
  54.  
  55. $width_orig = imagesx($image);
  56. $height_orig = imagesy($image);
  57.  
  58. $ratio_orig = $width_orig/$height_orig;
  59.  
  60. if ($width/$height > $ratio_orig) {
  61. $width = $height*$ratio_orig;
  62. } else {
  63. $height = $width/$ratio_orig;
  64. }
  65.  
  66. $image_p = imagecreatetruecolor($width, $height);
  67. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
  68.  
  69. switch($extension)
  70. {
  71. case 'jpg':
  72. case 'JPG':
  73. imagejpeg($image_p, '../uploads/'.$prefix.'_'.$name.'.'.$extension, 100);
  74. break;
  75.  
  76. case 'png':
  77. case 'PNG':
  78. imagepng($image_p, '../uploads/'.$prefix.'_'.$name.'.'.$extension, 9);
  79. break;
  80.  
  81. case 'gif':
  82. case 'GIF':
  83. imagegif($image_p, '../uploads/'.$prefix.'_'.$name.'.'.$extension, 100);
  84. break;
  85.  
  86. case 'bmp':
  87. case 'BMP':
  88. imagewbmp($image_p, '../uploads/'.$prefix.'_'.$name.'.'.$extension, 100);
  89. break;
  90. }
  91. }
  92. else
  93. {
  94. $error = 5;
  95. }
  96. }
  97. else
  98. {
  99. $error = 6;
  100. $prefix = '';
  101. }
  102. }
  103.  
  104.  
  105. // upload and check if verkleinend
  106. if($prefix == '')
  107. {
  108. $prefix = time();
  109.  
  110. if(move_uploaded_file($_FILES['media']['tmp_name'], '../uploads/'.$prefix.'_'.$name.'.'.$extension))
  111. {
  112. // add to database
  113. if(mysql_query('INSERT INTO site_media
  114. (file, titel, omschrijving, type)
  115. VALUES
  116. ("'.mysql_real_escape_string($prefix.'_'.$name.'.'.$extension).'",
  117. "'.mysql_real_escape_string($_POST['titel']).'",
  118. "'.mysql_real_escape_string($_POST['omschrijving']).'",
  119. "'.mysql_real_escape_string($extension).'")'))
  120. {
  121. // unset sessions if exist
  122. if(isset($_SESSION['media-toevoegen-titel'])){
  123. unset($_SESSION['media-toevoegen-titel']);
  124. }
  125.  
  126. if(isset($_SESSION['media-toevoegen-omschrijving'])){
  127. unset($_SESSION['media-toevoegen-omschrijving']);
  128. }
  129.  
  130. if(isset($_SESSION['media-verkleinen'])){
  131. unset($_SESSION['media-tverkleinen']);
  132. }
  133.  
  134. // redirect the user
  135.  
  136. }
  137. else
  138. {
  139. $error = 4;
  140. }
  141. }
  142. else
  143. {
  144. $error = 3;
  145. }
  146. }
  147. else
  148. {
  149. // already verkleinend and uploaded, just add to database now
  150. if(mysql_query('INSERT INTO site_media
  151. (file, titel, omschrijving, type)
  152. VALUES
  153. ("'.mysql_real_escape_string($prefix.'_'.$name.'.'.$extension).'",
  154. "'.mysql_real_escape_string($_POST['titel']).'",
  155. "'.mysql_real_escape_string($_POST['omschrijving']).'",
  156. "'.mysql_real_escape_string($extension).'")'))
  157. {
  158. // unset sessions if exist
  159. if(isset($_SESSION['media-toevoegen-titel'])){
  160. unset($_SESSION['media-toevoegen-titel']);
  161. }
  162.  
  163. if(isset($_SESSION['media-toevoegen-omschrijving'])){
  164. unset($_SESSION['media-toevoegen-omschrijving']);
  165. }
  166.  
  167. if(isset($_SESSION['media-verkleinen'])){
  168. unset($_SESSION['media-tverkleinen']);
  169. }
  170.  
  171. // redirect the user
  172.  
  173. }
  174. else
  175. {
  176. $error = 4;
  177. }
  178. }
  179. }
  180. else
  181. {
  182. $error = 1;
  183.  
  184. $_SESSION['media-toevoegen-titel'] = $_POST['titel'];
  185. $_SESSION['media-toevoegen-omschrijving'] = $_POST['omschrijving'];
  186. $_SESSION['media-verkleinen'] = $_POST['verkleinen'];
  187. }
  188. }
  189. ?>
  190.  
  191. <div class="dashboard-wrapper">
  192. <div class="left-sidebar">
  193. <div class="row-fluid">
  194. <div class="span12">
  195. <!-- start widget-->
  196. <div class="widget">
  197. <div class="widget-header">
  198. <div class="title">
  199. Foto's
  200. <span class="mini-title">Alle door u toegevoegde foto's</span>
  201. </div>
  202. <span class="tools">
  203. <a class="fs1" aria-hidden="true" data-icon="&#xe090;"></a>
  204. </span>
  205. </div>
  206. <div class="widget-body">
  207. <form class="form-horizontal no-margin" name="media-toevoegen" method="post" enctype="multipart/form-data">
  208. <div class="control-group">
  209. <label class="control-label">Informatie *</label>
  210. <div class="controls controls-row">
  211. <input name="titel" class="span4" type="text" placeholder="Vul hier een titel in" value="<?php if(isset($_SESSION['media-toevoegen-titel'])){ echo $_SESSION['media-toevoegen-titel']; }?>">
  212. <input name="omschrijving" class="span4 input-left-top-margins" type="text" placeholder="Vul hier een korte omschrijving in" value="<?php if(isset($_SESSION['media-toevoegen-omschrijving'])){ echo $_SESSION['media-toevoegen-omschrijving']; }?>">
  213. </div>
  214. </div>
  215. <div class="control-group">
  216. <div class="controls">
  217. <label class="checkbox">
  218. <input type="checkbox" name="verkleinen" value="verkleinen"<?php if(isset($_SESSION['media-verkleinen']) && $_SESSION['media-verkleinen'] == 'verkleinen'){ echo ' checked="checked"';} ?>> Foto verkleinen binnen 400 x 400 pixels
  219. </label>
  220. </div>
  221. </div>
  222. <div class="control-group">
  223. <label class="control-label">Foto *</label>
  224. <div class="controls">
  225. <input class="span8" type="file" placeholder="Kies de foto om toe te voegen" name="media">
  226. </div>
  227. </div>
  228.  
  229. <?php
  230. if(isset($error) && $error == 1)
  231. {
  232. // required fields not filled in
  233. echo '<div class="alert alert-block alert-error fade in">
  234. <h4 class="alert-heading">Er ging iets fout!</h4>
  235. <p>Vul alle velden in (titel en omschrijving), kies een foto en probeer het opnieuw!</p>
  236. </div>';
  237. }
  238.  
  239. if(isset($error) && $error == 2)
  240. {
  241. // error resizing
  242. // required fields not filled in
  243. echo '<div class="alert alert-block alert-warning fade in">
  244. <h4 class="alert-heading">Er ging iets fout!</h4>
  245. <p>Het is niet gelukt het plaatje te verkleinenn, het is echter wel toegevoegd aan de database!</p>
  246. </div>';
  247. }
  248.  
  249. if(isset($error) && $error == 3)
  250. {
  251. // error resizing
  252. // required fields not filled in
  253. echo '<div class="alert alert-block alert-warning fade in">
  254. <h4 class="alert-heading">Er ging iets fout!</h4>
  255. <p>Het is niet gelukt het plaatje te uploaden, probeer het nogmaals!</p>
  256. </div>';
  257. }
  258.  
  259. if(isset($error) && $error == 4)
  260. {
  261. // error adding to the database
  262. echo '<div class="alert alert-block alert-error fade in">
  263. <h4 class="alert-heading">Er ging iets fout!</h4>
  264. <p>Het is niet gelukt om de foto aan de database toe te voegen, probeer het nogmaals!</p>
  265. </div>';
  266. }
  267.  
  268. if(isset($error) && $error == 5)
  269. {
  270. // error adding to the database
  271. echo '<div class="alert alert-block alert-info fade in">
  272. <h4 class="alert-heading">Er ging iets fout!</h4>
  273. <p>U kunt dit bestand niet verkleinen, alleen een foto kan verkleind worden! Het bestand is wel toegevoegd aan de database!</p>
  274. </div>';
  275. }
  276.  
  277. if(isset($error) && $error == 6)
  278. {
  279. // error resizing
  280. // required fields not filled in
  281. echo '<div class="alert alert-block alert-warning fade in">
  282. <h4 class="alert-heading">Er ging iets fout!</h4>
  283. <p>Het is niet gelukt het plaatje te uploaden voor het verkleinenn, probeer het nogmaals!</p>
  284. </div>';
  285. }
  286. ?>
  287.  
  288. <div class="form-actions no-margin">
  289. <button type="submit" class="btn btn-info pull-right">Verder</button>
  290. <div class="clearfix"></div>
  291. </div>
  292. </form>
  293. </div>
  294. </div>
  295. <!-- end widget-->
  296. </div>
  297. </div>
  298. </div>
  299. <div class="right-sidebar">
  300. <div class="wrapper">
  301. <ul class="stats">
  302. <li>
  303. <div class="left">
  304. <h4>231</h4>
  305. <p>Foto's geupload</p>
  306. </div>
  307. <div class="chart">
  308. <span id="unique-visitors">
  309. 2, 4, 1, 7, 9, 8, 2, 3, 5, 6
  310. </span>
  311. </div>
  312. </li>
  313. </ul>
  314. </div>
  315. </div>
  316. </div>

1 antwoord

Gesponsorde links
Offline Thomas - 17/06/2015 22:06 (laatste wijziging 17/06/2015 22:23)
Avatar van Thomas Moderator
  1. <?php
  2. error_reporting(E_STRICT);
  3.  
  4. $test = array(
  5. 'media' => array(
  6. 'name' => 'dit.is.een.test.jpg',
  7. ),
  8. );
  9.  
  10. // Dit geeft een warning
  11. $extension = array_pop(explode('.', $test['media']['name']));
  12.  
  13. // Dit niet
  14. $parts = explode('.', $test['media']['name']);
  15. $extension = array_pop($parts);
  16. ?>

Zie ook stackoverflow.

5 minuten googlen en je had ook deze sterke hint al te pakken moeten hebben to be fair.

Vermeld volgende keer ook een regelnummer s.v.p.. Je kunt niet verwachten dat iemand zo'n lap code helemaal gaat lopen uitpluizen...
Bedankt door: GroundZero
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.202s