2014-12-04 16 views
-1

我正在使用的datepicker将日期传递给表单提交中的php脚本。从URL参数中读取值,其中斜杠用PHP中的%2F表示

的URL参数如下 - DATEPICKER1 = 12%2F09%2F2014

我可以12%2F09%2F2014存储在变量中。

$datepicker1 = $_GET['datepicker1']; 

我也有即3个其他变量: $日 $每月 $一年

如何从变量$ DATEPICKER1提取它们单独日,月,年增加各自的变量?

+0

你确定'$ datepicker1'包含'%2F'序列吗?它们出现在URL中,因为'/'是URL中的一个特殊字符,但是当'$ _GET []'被填充时它们应该被解码。使用'DateTime :: createFromFormat('d/m/Y',$ datepicker1);'来处理这个值。 – axiac 2014-12-04 12:11:07

+0

是的,我正在使用JQuery datepicker。我可以urldecode变量获得12/09/2014。但是,那么,我如何获得12美元日,09美元到$月,2014年到$年? – 2014-12-04 12:12:40

回答

1

试试这个:

$datepicker1 = "12%2F09%2F2014"; 
$val = urldecode($datepicker1); 
$array = explode('/', $val); 
print_r($array); 

的$数组变量是你的结果。 现在你可以数组赋值到$日,月$,$ year变量是这样的:

$day = $array[0]; 
$month = $array[1]; 
$year = $array[2]; 

现在你可以将其存储到数据库中。 我希望这会对你有帮助。 谢谢

+0

有用和有用。谢谢。也尝试过substr,它也起作用。 – 2014-12-04 12:19:23

+0

是的,你可以使用substr来做到这一点。 – Yash 2014-12-04 12:20:34

0

使用这种urldecode()函数

$date = urldecode("12%2F09%2F2014"); 

$year = date('Y', strtotime($date)); 
$mon = date('m', strtotime($date)); 
$day = date('d', strtotime($date)); 
+0

一旦我有12/09/2014从解码,我如何添加12美元日,09到$月,2014年到$年?是否可以使用修剪?我正在寻找最好的解决方案来做到这一点。 – 2014-12-04 12:11:27

0

您可以使用sbstr()来获取值。

假设日期$date=substr($datepicker1,0,2);

同样别人.. :)

+0

是的,这个效果很好。谢谢。 – 2014-12-04 12:19:41

-1
$date= urldecode("12%2F09%2F2014"); 
echo substr($date, 0, 2); 
echo "<br>"; 

echo substr($date, 3, 2); 
echo "<br>"; 

echo substr($date, 6, 4); 
echo "<br>"; 

我尝试了上面,它似乎为我工作的罚款。

而不是回声 - 将这些添加到变量。

由Yash提供的阵列解决方案也有效。