Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
269 views
in Technique[技术] by (71.8m points)

php - How to preset $_POST for filter_input()?

Assuming this script:

<?php $_POST['user'] = 'test'; ?>
<input type="text" name="user" value="<?php echo $_POST['user']; ?>">
<input type="text" name="user" value="<?php echo filter_input(INPUT_POST, 'user', FILTER_SANITIZE_SPECIAL_CHARS) ?>">

Why doesn't the second input see the $_POST value set on the first line and how can we make it see it?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I'm looking for a reference as I have seen it in the past, but as you show, INPUT_POST does not use the $_POST superglobal array. At least not the at the state that you have access to. Since you are adding to $_POST this won't work, you would need to use:

<?php echo filter_var($_POST['user'], FILTER_SANITIZE_SPECIAL_CHARS); ?>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...