Undefined index
Sinds ik over ben gegaan naar php versie 5.6 staat mijn hele errorlog vol met de volgende error:
Undefined index: size in /home/domein/domains/domein.nl/public_html/image.php on line 45
Undefined index: crop in /home/domein/domains/domein.nl/public_html/image.php on line 45
ik kome er zelf niet uit, hier onder het stukje uit het script line 45
alvast bedankt, Max
Code (php)
/*
* Caching of images
*/
$cacheFile = "id{$_GET['mediaID']}-".md5("{$_GET['type']}-{$_GET['mediaID']}-{$_GET['folderID']}-{$_GET['size']}-{$_GET['crop']}").'.jpg'; // Name of cached file (line 45)
//$_SESSION['testing'][$_GET['mediaID']] = $cacheFile; // Testing
$cachePathFile = BASE_PATH."/assets/cache/{$cacheFile}";
if(file_exists($cachePathFile))
{
//if(!$_SESSION['debugMode'] and $config['cacheImages'] and !$offSiteRequest) // Check for debug mode
?>
$_GET['size'] en $_GET['crop'] bestaan blijkbaar niet.
Het werkt dus wel, en er kwamen gelijk weer een aantal andere foutmeldingen.
Advies: Maak alles meteen PHP7-proof.
Maar ik hoop dat iemand met een oplossing voor deze foutmelding komt.
Max M op 17/09/2017 10:50:42:
Sinds ik over ben gegaan naar php versie 5.6
Max M op 17/09/2017 15:18:07:
het script werk wel op php 7.1
Ben je overgestapt op 5.6 of op 7.1?
Max M op 17/09/2017 15:18:07:
Maar ik hoop dat iemand met een oplossing voor deze foutmelding komt.
Is al gegeven:
- SanThe - op 17/09/2017 11:07:46:
$_GET['size'] en $_GET['crop'] bestaan blijkbaar niet.
Je zult dus moeten controleren of / zorgen dat deze bestaan.
PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP
En dit is dat stukje:
# FORMAT DATE FROM LANG CALENDAR FILE
class kdate
{
var $distime = 0;
var $time_zone;
var $date_sep;
var $date_format;
var $date_display;
var $clock_format;
var $daylight_savings;
var $adjust_date = 1;
function kdate($dateSettings='')
{
__construct() gebruiken, in plaats van een functie die dezelfde naam als de class heeft.
Verder raad ik ook aan om je te verdiepen in 'visibility'.
Eigenlijk is de hele tutorial wel aardig om te lezen.
Tegenwoordig (al sinds PHP 5) moet je Verder raad ik ook aan om je te verdiepen in 'visibility'.
Eigenlijk is de hele tutorial wel aardig om te lezen.
dit is die regel:
if( !in_array($page, $_SESSION["admin_user"]["permissions"]) && $page != "welcome" && $page != "toolslinks" && $page != "permissions_error" && $page != "" && $page != "options" )
En hoe krijg je de code netjes in een vensterje op dit forum ?
PHP Notice: Undefined index: debugMode in /home/.../domains/domein.nl/public_html/image.php on line 61,
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
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
/*
* Caching of images
*/
$mediaID = isset($_GET['mediaID']) ? $_GET['mediaID'] : '';
$type = isset($_GET['type']) ? $_GET['type'] : '';
$folderID = isset($_GET['folderID']) ? $_GET['folderID'] : '';
$size = isset($_GET['size']) ? $_GET['size'] : '';
$crop = isset($_GET['crop']) ? $_GET['crop'] : '';
$cacheFile = "id{'$mediaID'}-".md5("{'$type'}-{'$mediaID'}-{'$folderID'}-{'$size'}-{'$crop'}").'.jpg'; // Name of cached file
//$_SESSION['testing'][$_GET['mediaID']] = $cacheFile; // Testing
$cachePathFile = BASE_PATH."/assets/cache/{$cacheFile}";
if(file_exists($cachePathFile))
{
if(!$_SESSION['debugMode'] and $config['cacheImages'] and !$offSiteRequest) // Check for debug mode (line 61)
{
$cacheTime = gmdate("U")-$config['cacheImagesTime'];
$fileTime = filemtime($cachePathFile);
if($cacheTime < $fileTime)
{
header("Content-type: image/jpeg");
//header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($thumbnail)) . ' GMT');
//ob_clean();
//flush();
readfile($cachePathFile);
exit;
}
else // Cleanup old cached file
@unlink($cachePathFile);
}
* Caching of images
*/
$mediaID = isset($_GET['mediaID']) ? $_GET['mediaID'] : '';
$type = isset($_GET['type']) ? $_GET['type'] : '';
$folderID = isset($_GET['folderID']) ? $_GET['folderID'] : '';
$size = isset($_GET['size']) ? $_GET['size'] : '';
$crop = isset($_GET['crop']) ? $_GET['crop'] : '';
$cacheFile = "id{'$mediaID'}-".md5("{'$type'}-{'$mediaID'}-{'$folderID'}-{'$size'}-{'$crop'}").'.jpg'; // Name of cached file
//$_SESSION['testing'][$_GET['mediaID']] = $cacheFile; // Testing
$cachePathFile = BASE_PATH."/assets/cache/{$cacheFile}";
if(file_exists($cachePathFile))
{
if(!$_SESSION['debugMode'] and $config['cacheImages'] and !$offSiteRequest) // Check for debug mode (line 61)
{
$cacheTime = gmdate("U")-$config['cacheImagesTime'];
$fileTime = filemtime($cachePathFile);
if($cacheTime < $fileTime)
{
header("Content-type: image/jpeg");
//header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($thumbnail)) . ' GMT');
//ob_clean();
//flush();
readfile($cachePathFile);
exit;
}
else // Cleanup old cached file
@unlink($cachePathFile);
}
Gewijzigd op 20/09/2017 09:36:07 door Max M
$_SESSION['debugMode'] bestaat hier niet. Ook hier zou ik een isset() op toepassen.
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
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
<?php
/*
* Caching of images
*/
$mediaID = isset($_GET['mediaID']) ? $_GET['mediaID'] : '';
$type = isset($_GET['type']) ? $_GET['type'] : '';
$folderID = isset($_GET['folderID']) ? $_GET['folderID'] : '';
$size = isset($_GET['size']) ? $_GET['size'] : '';
$crop = isset($_GET['crop']) ? $_GET['crop'] : '';
$cacheFile = "id{'$mediaID'}-".md5("{'$type'}-{'$mediaID'}-{'$folderID'}-{'$size'}-{'$crop'}").'.jpg'; // Name of cached file
//$_SESSION['testing'][$_GET['mediaID']] = $cacheFile; // Testing
$cachePathFile = BASE_PATH."/assets/cache/{$cacheFile}";
if(file_exists($cachePathFile))
$debugMode = isset($_SESSION ['debugMode']) ? $_SESSION ['debugMode'}] : '';
$cacheImages = isset($_SESSION ['cacheImages']) ? $_SESSION ['cacheImages'}] : '';
{
if(!$_SESSION['$debugMode'] and $config['$cacheImages'] and !$offSiteRequest) // Check for debug mode (line 61)
{
$cacheTime = gmdate("U")-$config['cacheImagesTime'];
$fileTime = filemtime($cachePathFile);
if($cacheTime < $fileTime)
{
header("Content-type: image/jpeg");
//header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($thumbnail)) . ' GMT');
//ob_clean();
//flush();
readfile($cachePathFile);
exit;
}
else // Cleanup old cached file
@unlink($cachePathFile);
}
?>
/*
* Caching of images
*/
$mediaID = isset($_GET['mediaID']) ? $_GET['mediaID'] : '';
$type = isset($_GET['type']) ? $_GET['type'] : '';
$folderID = isset($_GET['folderID']) ? $_GET['folderID'] : '';
$size = isset($_GET['size']) ? $_GET['size'] : '';
$crop = isset($_GET['crop']) ? $_GET['crop'] : '';
$cacheFile = "id{'$mediaID'}-".md5("{'$type'}-{'$mediaID'}-{'$folderID'}-{'$size'}-{'$crop'}").'.jpg'; // Name of cached file
//$_SESSION['testing'][$_GET['mediaID']] = $cacheFile; // Testing
$cachePathFile = BASE_PATH."/assets/cache/{$cacheFile}";
if(file_exists($cachePathFile))
$debugMode = isset($_SESSION ['debugMode']) ? $_SESSION ['debugMode'}] : '';
$cacheImages = isset($_SESSION ['cacheImages']) ? $_SESSION ['cacheImages'}] : '';
{
if(!$_SESSION['$debugMode'] and $config['$cacheImages'] and !$offSiteRequest) // Check for debug mode (line 61)
{
$cacheTime = gmdate("U")-$config['cacheImagesTime'];
$fileTime = filemtime($cachePathFile);
if($cacheTime < $fileTime)
{
header("Content-type: image/jpeg");
//header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($thumbnail)) . ' GMT');
//ob_clean();
//flush();
readfile($cachePathFile);
exit;
}
else // Cleanup old cached file
@unlink($cachePathFile);
}
?>
eh...?
Je behandelt $debugMode hier als een string, en bovendien is die variabele al een kopie van de waarde van $_SESSION['debugMode']. Die hoort niet in zijn index in ieder geval. ;-)
Gewoon $debugMode is al voldoende.
$config['$cacheImages'] lijkt mij ook niet echt correct om deze reden.
Gewijzigd op 20/09/2017 10:25:10 door - Ariën -
Regel 18 een if() en op regel 23 de openings { van de if() met daartussen 2 regels...???
Je mag me wel laten zien hoe het dan wel moet, daar leer je toch ook weer van.
die afgesloten wordt met } op het moment dat de actie uitgevoerd is.
Misschien frist dit je geheugen even op:
https://www.w3schools.com/php/php_if_else.asp
Gewijzigd op 20/09/2017 12:11:19 door - Ariën -