Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

function qa_post_text() - Error : trim() expects parameter 1 to be string, array given #979

Open
q2apro opened this issue Feb 12, 2023 · 0 comments

Comments

@q2apro
Copy link

q2apro commented Feb 12, 2023

I had a hack bot on my site that tried to post an array instead of a string.

I am using for example: $inemailhandle = qa_post_text('emailhandle');

Having an array, the base function qa_post_text() throws an error with trim():

Error : trim() expects parameter 1 to be string,

Code line:

return isset($_POST[$field]) ? preg_replace('/\r\n?/', "\n", trim(qa_gpc_to_string($_POST[$field]))) : null;

See

function qa_post_text($field)


I assume we should always cast the $_POST[$field] to string?!

Proposed Solution:

return isset($_POST[$field]) ? preg_replace('/\r\n?/', "\n", trim( (string)($_POST[$field]) )) : null;

I see that the $array POST will then become the string "Array" and does not throw an error anymore.

Can someone confirm this as a solution? Or is there a better way of handling this?

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant