dpjhq00684 2013-07-25 12:58
浏览 184
已采纳

PHP:特殊字符作为数组中的键

my problem is that i use the special character & as an key and this seems not to work

my array is like this

$legalforms = array(
    'GmbH & Co.KG' => array(
            'namesToSubmit' =>array(
                'companyName'=>'required',
                'location'=>'required', 
                'phone'=>null,
                'fax'=>null,
                'web'=>null,
                'registryCourt'=>'required',
                'registryNumber'=>'required',
                'companyNameAssociate'=>'required',
                'locationAssociate'=>'required',
                'registryCourtAssociate'=>'required',
                'registryNumberAssociate'=>'requuired',
                'ceo'=>'required'
            ),
       )
)

and when i want to use the namesToSubmit i get an error that property of nameToSubmit is null, if i remove the special character & out of it , it works.. so how can i get it to work with the & ?

edit:

$("#sendLegalForm").click(function () { 
         selection = $('#selection').val();
         $.ajax({
             type:'GET',
             url:'http://192.168.10.24/php/sig.php?selectedLegalform='+ selection,
             dataType:'json',
             success: function (data){  

                 $("#legalform").hide();
                 $("#fields").show();
                 var fieldnames =[];
                 for(property in data.namesToSubmit){
                    fieldnames.push(property);
                 }
                 var fields=[];
                 for(var i=0; i<data.textfieldHeaders.length; i++){               
                 fields.push(data.textfieldHeaders[i],'<br>','<input name="',fieldnames[i],'" type="text"                                                       ',data.namesToSubmit[fieldnames[i]] == "required"?"required":"",'>','<br/>');        
                 }                

                 fields.push("<br>", 'Pflichtfelder (*)');
                 $("#fieldsForm").prepend(fields.join(''));              
             },
             error: function(jqXHR,textStatus,errorThrown){
                console.log(jqXHR);
                console.log(textStatus);
                console.log(errorThrown);
             }
         });
     });

and i get the error in this line

for(property in data.namesToSubmit){

tried the md5 , didn´t work , but thanks for all your help

  • 写回答

3条回答 默认 最新

  • dongzhang6544 2013-07-25 14:09
    关注

    Change the request method to POST:

    $.ajax({
        type:'POST',
        url: 'http://192.168.10.24/php/sig.php',
        data: {selectedLegalform: selection},
        ...
    

    In PHP:

    $data = $_POST['selectedLegalform'];
    

    If you send the string GmbH & Co.KG via GET it becomes GmbH%20%26%20Co%2EKG. That should be the problem.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R