[2023-04-11T16:38:50.672103+00:00] log.DEBUG: Slim Application Error Type: InvalidArgumentException Code: 0 Message: Header name must be an RFC 7230 compatible string File: C:\laragon\www\avdb\vendor\nyholm\psr7\src\MessageTrait.php Line: 191 Trace:
#0 C:\laragon\www\avdb\vendor\nyholm\psr7\src\MessageTrait.php(86): Nyholm\Psr7\Response->validateAndTrimHeader('HTTP/1.1 404 No...', '')
#1 C:\laragon\www\avdb\vendor\slim\http\src\Response.php(158): Nyholm\Psr7\Response->withHeader('HTTP/1.1 404 No...', '')
#2 C:\laragon\www\avdb\src\phpfn.php(671): Slim\Http\Response->withHeader('HTTP/1.1 404 No...', '')
#3 C:\laragon\www\avdb\src\FileUploadHandler.php(206): PHPMaker2023\AVDB\AddHeader('HTTP/1.1 404 No...', '')
#4 C:\laragon\www\avdb\src\UploadHandler.php(1290): PHPMaker2023\AVDB\UploadHandler->header('HTTP/1.1 404 No...')
#5 C:\laragon\www\avdb\src\UploadHandler.php(1376): UploadHandler->download()
#6 C:\laragon\www\avdb\src\UploadHandler.php(205): UploadHandler->get(true)
#7 C:\laragon\www\avdb\src\FileUploadHandler.php(32): UploadHandler->initialize()
#8 C:\laragon\www\avdb\src\UploadHandler.php(194): PHPMaker2023\AVDB\UploadHandler->initialize()
#9 C:\laragon\www\avdb\src\FileUploadHandler.php(23): UploadHandler->__construct(Array, true, Array)
#10 C:\laragon\www\avdb\src\FileUploadHandler.php(365): PHPMaker2023\AVDB\UploadHandler->__construct('x_posters', 'movies', 'agrf6jffm7q3ea7...', Array, true, Array)
#11 C:\laragon\www\avdb\controllers\ApiController.php(109): PHPMaker2023\AVDB\FileUploadHandler->run()
...
when edit page then add option any fields lookup Images that were previously uploaded will disappear. and has a new filename instead without uploading new files
arbei
April 13, 2023, 4:01am
2
The error said there is something wrong in the HTTP header, you may check HTTP response and post the request headers.
POST /api/add/genres HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: th,en-US;q=0.9,en;q=0.8
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 230
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Cookie: PHPSESSID=hr9rkt0nmfs9jm3a5fs43m1mii; test[JWT]=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2ODEzNzIzODksImp0aSI6InRjM2kwdUQzdDFKOVJkODFSU3cwVU5zb0hEOFVhZkhybldOWGFSMUxnQk09IiwiaXNzIjoidGVzdC5ycnIiLCJuYmYiOjAsImV4cCI6MTY4MTQwODM4OSwic2VjdXJpdHkiOnsidXNlcm5hbWUiOm51bGwsInVzZXJpZCI6bnVsbCwicGFyZW50dXNlcmlkIjoiIiwidXNlcmxldmVsaWQiOi0yLCJwZXJtaXNzaW9uIjowfX0.iYBynTrPeeIrazlW2gy_cvaOp7gZEFQTs7tnNaLrT8TzpsxIwVI_xuOMk_kEUnLhR5i0mZtrShizv_GawLQMOg
Csrf-Name: csrf6437b4e54055c
Csrf-Value: rBH/frLfWosMY6BOkuI6W/zFivAa3FCxHSQ7+FUR5aSbJ8sc0ek7729UmH6q1A8+yKfvk3/oYIcsRg/PMCXXwQ==
Host: test.rrr
Origin: http://test.rrr
Pragma: no-cache
Referer: http://test.rrr/MoviesList
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.34
X-Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2ODEzNzIzODksImp0aSI6InRjM2kwdUQzdDFKOVJkODFSU3cwVU5zb0hEOFVhZkhybldOWGFSMUxnQk09IiwiaXNzIjoidGVzdC5ycnIiLCJuYmYiOjAsImV4cCI6MTY4MTQwODM4OSwic2VjdXJpdHkiOnsidXNlcm5hbWUiOm51bGwsInVzZXJpZCI6bnVsbCwicGFyZW50dXNlcmlkIjoiIiwidXNlcmxldmVsaWQiOi0yLCJwZXJtaXNzaW9uIjowfX0.iYBynTrPeeIrazlW2gy_cvaOp7gZEFQTs7tnNaLrT8TzpsxIwVI_xuOMk_kEUnLhR5i0mZtrShizv_GawLQMOg
X-Requested-With: XMLHttpRequest
After adding option information will get this information. But when scrolling to the location where the file is uploaded on the main add page There will be more file requests.
GET /api/jupload?rnd=18836642&csrf_name=csrf6437b4f48c1ba&csrf_value=Mc25ZtXD1kScwpfDpOo%2FnF0C5ofNnuiOi58dJtzCqwYD%2Fo5ft%2FqydajzpqKc2QakbWbf46ytirforCUQ7PDPNA%3D%3D&id=x_posters&table=movies&session=j-Yzj8E-ZGsuOuky1gZcGP3QFXJCk5WdCBZdwrZIMzs&x_posters=17220.jpg&version=thumbnail&download=1 HTTP/1.1
Accept: image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: th,en-US;q=0.9,en;q=0.8
Cache-Control: no-cache
Connection: keep-alive
Cookie: PHPSESSID=hr9rkt0nmfs9jm3a5fs43m1mii; test[JWT]=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2ODEzNzIzODksImp0aSI6InRjM2kwdUQzdDFKOVJkODFSU3cwVU5zb0hEOFVhZkhybldOWGFSMUxnQk09IiwiaXNzIjoidGVzdC5ycnIiLCJuYmYiOjAsImV4cCI6MTY4MTQwODM4OSwic2VjdXJpdHkiOnsidXNlcm5hbWUiOm51bGwsInVzZXJpZCI6bnVsbCwicGFyZW50dXNlcmlkIjoiIiwidXNlcmxldmVsaWQiOi0yLCJwZXJtaXNzaW9uIjowfX0.iYBynTrPeeIrazlW2gy_cvaOp7gZEFQTs7tnNaLrT8TzpsxIwVI_xuOMk_kEUnLhR5i0mZtrShizv_GawLQMOg
Host: test.rrr
Pragma: no-cache
Referer: http://test.rrr/MoviesList
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.34
This is an observationTest Example 1:
Main add page open —> not scroll for show file upload field —> Add option open —> upload file in add option page and add data —> scroll Main add page for show file upload field -----------> file show error "C:\laragon\www\test\vendor\nyholm\psr7\src\MessageTrait.php(191): Header name must be an RFC 7230 compatible string"Test Example 2:
Main add page open —> Scroll for show file upload field —> file normal show thump —> Add option open —> upload file in add option page and add data —> scroll Main add page for show file upload field -----------> file normal show thumpRequest URL: http://test.rrr/api/jupload?rnd=62863313&csrf_name=csrf6437d6eb0b971&csrf_value=sOzYfnhXfiIwWq7As8NSd%2BZlm9d5IkA%2BOyMQ4rydF7WDjukcGzQbQFJiy%2FaApzZP3gGt5E4acV0KFSCB3%2Fx1hA%3D%3D&id=x_arts&table=movies&session=j-Yzj8E-ZGsuOuky1gZcGP3QFXJCk5WdCBZdwrZIMzs&x_arts=131917882_1.jpg&version=thumbnail&download=1
****** this part no run on add page show, but show then scroll for see field.
131885488.jpg
131873907.jpg
DmRDNOIVAAAvCA.jpg
DmRDNOIVAAAvCA.jpg
U(o).jpg
aaa.jpg
php2023 19.12.1
all file error
Don’t have all these files together. Test uploading one file at a time. Above is the list of files used for testing.
mobhar
April 14, 2023, 4:13am
7
Could you please test by using demo2023 project file ? There is an example of Upload to Folder from employees table of that project.
If that works for you, then you may compare that demo project with yours. You may refer to the related settings in that demo project for your references.
@mobhartest for file demo
if use edit page normal ----> open page (inspec network) input field file upload load and show thump now —> no error
----->this load for open page Request URL: http://localhost/demo2023/api/jupload?rnd=11148729&csrf_name=csrf6438e47b4c9f2&csrf_value=okt5hnlTWanEJ%2F56%2BJp1%2BoQuXbt9dH326Xc38%2F0GPiuWfByxHGprm%2FcemkqcohSes08%2F3hsXH87cQgOSzD4NSg%3D%3D&id=x_Photo&table=employees&session=OEkAbfqNC964biIj5GOQ1eTMKYS_6oK4YhYSYf8oKpY&x_Photo=COAT1414-crop.jpg&version=thumbnail&download=1if use edit page modal ----> open page not load input field file upload ----> scroll page modal for load and show thump —> if add option before scroll ----> error
----->this load for scroll Request URL: http://localhost/demo2023/api/jupload?rnd=11148729&csrf_name=csrf6438e47b4c9f2&csrf_value=okt5hnlTWanEJ%2F56%2BJp1%2BoQuXbt9dH326Xc38%2F0GPiuWfByxHGprm%2FcemkqcohSes08%2F3hsXH87cQgOSzD4NSg%3D%3D&id=x_Photo&table=employees&session=OEkAbfqNC964biIj5GOQ1eTMKYS_6oK4YhYSYf8oKpY&x_Photo=COAT1414-crop.jpg&version=thumbnail&download=1The jupload request did not arrive at the same time. When opening the edit page But will come when scrolling the edit page to find the file upload field for modal editing pagesBut it will come with other requests. When it’s a simple edit pageFrom looking at the jupload link it looks like the information csrf_name=&csrf_value= changed after add options page.
arbei
April 14, 2023, 10:33am
9
If you don’t debug by a PHP debugger (you should learn it), you better use the good old method:
Enable Debug , run the process again, when you see the error, go to the log to check the complete server side error.
Press F12 in your brower and go to the Console panel to check for client side JavaScript errors.
Check HTTP response , select the “jupload” request and try to find PHP errors in the HTTP Response under the F12 → Network → Response panel.
You should provide result of all three above in your next post.
no javascript error
on open modal edit page
show request jupload
Request URL: http://avdb.rrr/api/jupload?id=x_posters&table=movies&session=evkY_hMCXaKrUwyBpTOF3Qrzq2EztW984dbqcH9BGHw {“statusCode”:200,“error”:{“class”:“text-danger”,“type”:“\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14”,“description”:“C:\laragon\www\avdb\vendor\slim\csrf\src\Guard.php(152): Invalid CSRF storage. Use session_start() before instantiating the Guard middleware or provide array storage.”}}Request Headers
GET /api/jupload?id=x_posters&table=movies&session=evkY_hMCXaKrUwyBpTOF3Qrzq2EztW984dbqcH9BGHw HTTP/1.1
Accept: application/json, text/javascript, */*; q=0.01
Accept-Encoding: gzip, deflate
Accept-Language: th,en-US;q=0.9,en;q=0.8
Cache-Control: no-cache
Connection: keep-alive
Cookie: AVDB[LastUrl]=%2FMoviesList; PHPSESSID=itqhdggp0fpubeiq8nttgmd7d9; AVDB[JWT]=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2ODE3MDI0NjYsImp0aSI6Im93aHMyTFJaTzAvbEp2a3N1RkJPTzNwZTBuZWQ1NnNHbnRhVUVhR0RnMzA9IiwiaXNzIjoiYXZkYi5ycnIiLCJuYmYiOjAsImV4cCI6MTY4MTczODQ2Niwic2VjdXJpdHkiOnsidXNlcm5hbWUiOm51bGwsInVzZXJpZCI6bnVsbCwicGFyZW50dXNlcmlkIjoiIiwidXNlcmxldmVsaWQiOi0yLCJwZXJtaXNzaW9uIjowfX0.EZ1Aa6m9lAb_nd1ix9fOZzLzo-TSwbqTzYutol6qEAYfGZ05BL9r32_uPku7qhJBYpL1lMYlI7BtZ0LGaoFIHA
Csrf-Name: csrf643cbe4284d88
Csrf-Value: fwKMbXFdYUQyy75IS7o4y2cME1RmbVbUDLrEK6xqVP5GZrxUFTsFdQr8hnl/2Ar9Bm11YlRcNe1piPQZn1IwzA==
Host: avdb.rrr
Pragma: no-cache
Referer: http://xxx.xxx/MoviesList
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.48
X-Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE2ODE3MDI0NjYsImp0aSI6Im93aHMyTFJaTzAvbEp2a3N1RkJPTzNwZTBuZWQ1NnNHbnRhVUVhR0RnMzA9IiwiaXNzIjoiYXZkYi5ycnIiLCJuYmYiOjAsImV4cCI6MTY4MTczODQ2Niwic2VjdXJpdHkiOnsidXNlcm5hbWUiOm51bGwsInVzZXJpZCI6bnVsbCwicGFyZW50dXNlcmlkIjoiIiwidXNlcmxldmVsaWQiOi0yLCJwZXJtaXNzaW9uIjowfX0.EZ1Aa6m9lAb_nd1ix9fOZzLzo-TSwbqTzYutol6qEAYfGZ05BL9r32_uPku7qhJBYpL1lMYlI7BtZ0LGaoFIHA
X-Requested-With: XMLHttpRequest
HTTP Response
{"x_posters":[{"name":"01GXZJE1V4DQ1Y8XV5NE0NSV65.jpg","size":1067247,"url":"\/api\/jupload?rnd=51621615&csrf_name=csrf643cbe4a51151&csrf_value=gjuUeJun4KmALdqRkyzxQxELqSZbqq3seQY9RRfOlGLkWqUcq56FyrcYu6amTcEgIT3PE2KZmdgdNQ1xJ%2F%2BsBA%3D%3D&id=x_posters&table=movies&session=evkY_hMCXaKrUwyBpTOF3Qrzq2EztW984dbqcH9BGHw&x_posters=01GXZJE1V4DQ1Y8XV5NE0NSV65.jpg&download=1","thumbnailUrl":"\/api\/jupload?rnd=51621615&csrf_name=csrf643cbe4a51151&csrf_value=gjuUeJun4KmALdqRkyzxQxELqSZbqq3seQY9RRfOlGLkWqUcq56FyrcYu6amTcEgIT3PE2KZmdgdNQ1xJ%2F%2BsBA%3D%3D&id=x_posters&table=movies&session=evkY_hMCXaKrUwyBpTOF3Qrzq2EztW984dbqcH9BGHw&x_posters=01GXZJE1V4DQ1Y8XV5NE0NSV65.jpg&version=thumbnail&download=1","deleteUrl":"\/api\/jupload?rnd=51621615&csrf_name=csrf643cbe4a51151&csrf_value=gjuUeJun4KmALdqRkyzxQxELqSZbqq3seQY9RRfOlGLkWqUcq56FyrcYu6amTcEgIT3PE2KZmdgdNQ1xJ%2F%2BsBA%3D%3D&id=x_posters&table=movies&session=evkY_hMCXaKrUwyBpTOF3Qrzq2EztW984dbqcH9BGHw&x_posters=01GXZJE1V4DQ1Y8XV5NE0NSV65.jpg&_method=DELETE","deleteType":"POST","extension":"jpg","exists":true}]}
arbei
April 17, 2023, 1:35pm
11
totza2010 wrote:
``{“statusCode”:200,“error”:{“class”:“text-danger”,“type”:“\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14”,“description”:"C:\laragon\www\avdb\vendor\slim\csrf\src\Guard.php(152):
Post complete stack trace from the log file. (Make sure you have enable Debug as said in the docs.) If you cannot find the stack trace in the project log file, you should enable PHP’s log_errors and error_log and check the stack trace in the PHP’s error log file.
[2023-04-18T02:20:38.998492+00:00] log.DEBUG: Slim Application Error Type: RuntimeException Code: 0 Message: Invalid CSRF storage. Use session_start() before instantiating the Guard middleware or provide array storage. File: C:\laragon\www\avdb\vendor\slim\csrf\src\Guard.php Line: 152 Trace:
#0 C:\laragon\www\avdb\vendor\slim\csrf\src\Guard.php(128): Slim\Csrf\Guard->setStorage(NULL)
#1 C:\laragon\www\avdb\files\cache\CompiledContainer.php(82): Slim\Csrf\Guard->__construct(Object(Slim\Http\Factory\DecoratedResponseFactory), 'csrf')
#2 [internal function]: CompiledContainer::{closure}(Object(CompiledContainer))
#3 C:\laragon\www\avdb\vendor\php-di\invoker\src\Invoker.php(74): call_user_func_array(Object(Closure), Array)
#4 C:\laragon\www\avdb\vendor\php-di\php-di\src\CompiledContainer.php(122): Invoker\Invoker->call(Object(Closure), Array)
#5 C:\laragon\www\avdb\files\cache\CompiledContainer.php(82): DI\CompiledContainer->resolveFactory(Object(Closure), 'csrf')
#6 C:\laragon\www\avdb\vendor\php-di\php-di\src\CompiledContainer.php(59): CompiledContainer->get7()
#7 C:\laragon\www\avdb\src\phpfn.php(133): DI\CompiledContainer->get('csrf')
#8 C:\laragon\www\avdb\src\phpfn.php(1045): PHPMaker2023\AVDB\Container('csrf')
#9 C:\laragon\www\avdb\src\FileUploadHandler.php(299): PHPMaker2023\AVDB\GenerateCsrf()
#10 C:\laragon\www\avdb\controllers\ApiController.php(109): PHPMaker2023\AVDB\FileUploadHandler->run()
#11 C:\laragon\www\avdb\controllers\ApiController.php(376): PHPMaker2023\AVDB\ApiController->processjQueryFileUpload()
#12 C:\laragon\www\avdb\vendor\slim\slim\Slim\Handlers\Strategies\RequestResponse.php(38): PHPMaker2023\AVDB\ApiController->__invoke(Object(Slim\Http\ServerRequest), Object(Slim\Http\Response), Array)
#13 C:\laragon\www\avdb\vendor\slim\slim\Slim\Routing\Route.php(358): Slim\Handlers\Strategies\RequestResponse->__invoke(Array, Object(Slim\Http\ServerRequest), Object(Slim\Http\Response), Array)
#14 C:\laragon\www\avdb\src\ApiPermissionMiddleware.php(75): Slim\Routing\Route->handle(Object(Slim\Http\ServerRequest))
#15 C:\laragon\www\avdb\vendor\slim\slim\Slim\MiddlewareDispatcher.php(168): PHPMaker2023\AVDB\ApiPermissionMiddleware->__invoke(Object(Slim\Http\ServerRequest), Object(Slim\Routing\Route))
#16 C:\laragon\www\avdb\vendor\slim\slim\Slim\MiddlewareDispatcher.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Http\ServerRequest))
#17 C:\laragon\www\avdb\vendor\slim\slim\Slim\MiddlewareDispatcher.php(65): Slim\MiddlewareDispatcher->handle(Object(Slim\Http\ServerRequest))
#18 C:\laragon\www\avdb\vendor\slim\slim\Slim\Routing\Route.php(315): Slim\MiddlewareDispatcher->handle(Object(Slim\Http\ServerRequest))
#19 C:\laragon\www\avdb\vendor\slim\slim\Slim\Routing\RouteRunner.php(68): Slim\Routing\Route->run(Object(Slim\Http\ServerRequest))
#20 C:\laragon\www\avdb\vendor\slim\slim\Slim\Middleware\BodyParsingMiddleware.php(64): Slim\Routing\RouteRunner->handle(Object(Slim\Http\ServerRequest))
#21 C:\laragon\www\avdb\vendor\slim\slim\Slim\MiddlewareDispatcher.php(121): Slim\Middleware\BodyParsingMiddleware->process(Object(Slim\Http\ServerRequest), Object(Slim\Routing\RouteRunner))
#22 C:\laragon\www\avdb\src\CorsMiddleware.php(44): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Http\ServerRequest))
#23 C:\laragon\www\avdb\vendor\slim\slim\Slim\MiddlewareDispatcher.php(121): PHPMaker2023\AVDB\CorsMiddleware->process(Object(Slim\Http\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#24 C:\laragon\www\avdb\vendor\slim\slim\Slim\Middleware\RoutingMiddleware.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Http\ServerRequest))
#25 C:\laragon\www\avdb\vendor\slim\slim\Slim\MiddlewareDispatcher.php(121): Slim\Middleware\RoutingMiddleware->process(Object(Slim\Http\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#26 C:\laragon\www\avdb\vendor\slim\slim\Slim\Middleware\ErrorMiddleware.php(76): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Http\ServerRequest))
#27 C:\laragon\www\avdb\vendor\slim\slim\Slim\MiddlewareDispatcher.php(121): Slim\Middleware\ErrorMiddleware->process(Object(Slim\Http\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#28 C:\laragon\www\avdb\vendor\slim\slim\Slim\MiddlewareDispatcher.php(65): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Http\ServerRequest))
#29 C:\laragon\www\avdb\vendor\slim\slim\Slim\App.php(199): Slim\MiddlewareDispatcher->handle(Object(Slim\Http\ServerRequest))
#30 C:\laragon\www\avdb\vendor\slim\slim\Slim\App.php(183): Slim\App->handle(Object(Slim\Http\ServerRequest))
#31 C:\laragon\www\avdb\api\index.php(133): Slim\App->run()
#32 {main}
Tips: To display error details in HTTP response set "displayErrorDetails" to true in the ErrorHandler constructor. [] []
arbei
April 18, 2023, 6:02am
13
Session is started for “jupload” by default, check your advanced setting Session-less API actions , make sure you have not included “jupload”.
Session-less API actions —> “file”
arbei
April 18, 2023, 9:57am
15
Then it should work.Your provided information is insufficent for diagnosis. If you are a registered user of v2023, you better should send the required project files to support .