linuxfreakphp Posted January 24, 2014 Share Posted January 24, 2014 (edited) hey guys i have a problem with the next code. i wrote, but i have the same problem in this version as well. $path2 = basename($_REQUEST['path']); $number = $_REQUEST['number']; // case 1: if($_REQUEST['number2']==1) { $temp = stripos($_REQUEST['path'], '/e/'); if($temp==true) { $path='h'; } else { $path='e'; } echo '../' . $path . '/' . $path2; } now in the localhost-127.0.0.1 it is working great but in the cpanel the real site no why? php version may be? the code build to switching between languages interfaces and again it is working fine under localhost and the problem is only in the cpanel. i tried this one as well (those codes do the same thing) just to test it in the local host and the cpanel and the problem is repeating: $path2 = basename($_REQUEST['path']); $number = $_REQUEST['number']; // case 1: if($_REQUEST['number2']==1) { $temp = stripos($_REQUEST['path'], '/e/'); if($temp==true) { $path='h'; } else { $temp = stripos($_REQUEST['path'], '/h/'); if($temp==true) { $path='e'; } } echo '../' . $path . '/' . $path2; } Edited January 24, 2014 by linuxfreakphp Quote Link to comment Share on other sites More sharing options...
gristoi Posted January 24, 2014 Share Posted January 24, 2014 you need to make your path seperators language agnostic. use DIRECTORY_SEPERATOR Quote Link to comment Share on other sites More sharing options...
objnoob Posted January 25, 2014 Share Posted January 25, 2014 Windows allows both \ or / as path separators.... so if you use / you shouldn't have a problem. What do you mean by... in the cpanel? I suspect something else is the issue. Quote Link to comment Share on other sites More sharing options...
.josh Posted January 25, 2014 Share Posted January 25, 2014 it would be helpful if you explained what it is supposed to be doing and what it is not doing in less abstract/arbitrary terms. Saying "It works in one place but not another" isn't helpful. Saying "switch languages in interface" means nothing to anybody except you. What is the code physically supposed to be doing, altering a variable? show a "before", expected "after" and reality "after", etc. Quote Link to comment Share on other sites More sharing options...
linuxfreakphp Posted January 25, 2014 Author Share Posted January 25, 2014 for .josh hey i gave the php code but here is the folders and files map. site address folder: ->index.php (redirect into one of index file "h" or "e when the user enter the site using the user ip address country. this part is working only in the cpanel in real site because localhost have not country ip.) ->e (755) ->index.html ->page2.html ->page3.html ->page4.html ->h (755) ->index.html ->page2.html ->page3.html ->page4.html ->private (755) ->css (755) ->php (755) ->index.php (this is the code i have post in the message when the values are getting from index.js with ajax and i need help with him.) ->js (755) ->index.js ->img (755) now the code i post is switching languages by checking if the current page is found in "e" or "h" by checking the path of the page and redirect it into the same page but in the other language folder. $_REQUEST['path'] is sent from index.js with ajax and command: window.location.pathname (client side) to the php file (server side). on the local host the code is working great,but on the real site it is not working ok. $_REQUEST['number'] and $_REQUEST['number2'] send to index.php with $_REQUEST['path'] in the same function. for a sample let just say i'm in "nevermindthesitename/e/index.html" this code must redirect me into "sitename/h/index.html". sample with "h" if i'm located in "page2.html" inside "h" the code must redirect me into page2.html but in folder "e". for objnoob: the localhost run with apache and real site that run with apache and cpanel working with linux operating systems. for gristoi: tried what you have wrote, but it is not helping in this case. Quote Link to comment Share on other sites More sharing options...
.josh Posted January 25, 2014 Share Posted January 25, 2014 hey i gave the php code but here is the folders and files map. Yes, you gave the php code. I can read your code just fine. But clearly it's not doing what it's supposed to be doing, seeing as how you are on this forum telling us it doesn't work. But without explaining what you expect the code to be doing, we can't really do anything beyond pointing out syntax errors, which any monkey can do by paying attention to whatever the php error handler screams about. And since it's pretty clear that this is only part of your code, there could be any number of other things adversely affecting the code you posted, that we would have no idea about because you didn't post all of your code. We aren't psychic. So, the best way to move forward is for you to a) post relevant code (which you presumably did), b) explain what it is the code is supposed to be doing, c) explain what it is doing instead, because we don't know the whole picture. Quote Link to comment Share on other sites More sharing options...
linuxfreakphp Posted January 25, 2014 Author Share Posted January 25, 2014 (edited) the full code with explaining .josh: javascript code: function myajaxFunction(str, str2, number, number2) { try { var url = new String; var url = './../private/php/index.php?number='; var url2 = new String; var url2 = '&path='; var url3 = new String; var url3 = '&number2='; loadXMLDoc(url, url2, url3, str2, number, number2, function(){ if (xmlhttp.readyState==4 && xmlhttp.status==200) { try { document.getElementById(str).innerHTML = xmlhttp.responseText; } catch(err) { error_function(err); } } }); } catch(err) { error_function(err); } } function trackv(str,number1,number2) {// number is number in the php page and number2 is number2 in the php page. try { var str2= new String; str2 = window.location.pathname; // getting the path to the php page with javasript myajaxFunction(str, str2, number1, number2); } catch(err) { error_function(err); } } html code: <!-- links to the same page but in a second language: --> <div id='c_language' class='languages' ></div> <!-- default language or chosen language by user, but this div is not doing nothing--> <div id='nc_language' class='languages' onclick='trackv("nc_language", "0","1");' ></div> <!-- my problem, sending a command to js that active the php page with ajax to switch the language, when "1" is number2 in the php and "0" is number --> <!-- links into another page in the same language: --> <div id='title_op1' class='title_op' onclick="trackv('title_op1','1','0');" >index</div> <div id='title_op2' class='title_op' onclick="trackv('title_op2','2','0');" >page2</div> <div id='title_op3' class='title_op' onclick="trackv('title_op3','3','0');" >page3</div> <div id='title_op4' class='title_op' onclick="trackv('title_op4','4','0');" >page4</div> the full php code: if($_REQUEST['number2']==1) // link to a second language to the same page. { $temp = strpos($_REQUEST['path'], 'enpath'); if($temp==true) { $path='hbpath'; } else { $path='enpath'; } echo '../' . $path . '/' . $path2; } else if($_REQUEST['number2']==0) // link another page but in the same language { $path = dirname($_REQUEST['path']); if($number == '1') { echo 'index.html'; } else if($number == '2') { echo 'page2.html'; } else if($number == '3') { echo 'page3.html'; } else { echo 'page4.html'; } } /* i have another case and that why i used "else if" and not just else when number2 is telling the php code where to go and what to do.*/ now you can see how this code is working and you can see all the code. explaining about the code and what his doing: this code allow the user to move between two languages to the same page in the other language and to another page in the same language. let say page3 to page4 in 'enpath' or move to page3 of 'hbpath'. -------------------------------------------------------------------------------------------------------- i found the problem. $temp = stripos($_REQUEST['path'], '/e/'); i told it to searched a special character as '/' in the command and it is not working. i searched in google and checked the if $temp is getting something and his not getting nothing on the site (cpanel), but when i change folder name e into 'enpath' and searched: $temp = stripos($_REQUEST['path'], 'enpath'); $temp do get value i need and the code is working cpanel real site and the localhost. how can i use special characters in text functions as i did in this case if i need to find this string or someting else with special characters??? '/e/' , '/h/' , '$?/la?/' this way failed on my server. Edited January 25, 2014 by linuxfreakphp Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.