Preluare adresa pagina din JavaScript in php

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
ionatan
Mesaje:94

Preluare adresa pagina din JavaScript in php

Buna ziua!
Am incercat sa preiau adresa paginii prin ajax in php si nu imi merge.
Am url
mentionez ca videoclipuri, craciun-2012-alba-iulia nu sunt foldere, sunt preluate din baza de date + htaccess; rezultatul variabilei $url_dir este: "//".
Ar mai fi si alte variante pentru preluarea adresei paginii curente?
Codul din fisier paginare.php

Cod: Selectaţi tot

<?php 
 error_reporting(E_ALL);
   if(isset($_POST['page'])) { ?>

	include_once('./conn_mysql.php');  

$urlpaginasite = '<script type="text/javascript"> 
jQuery(document).ready(function () {
	var href = jQuery(location).attr("pathname");
	
	jQuery("#this_title").html(href);
	
});
</script><span id="this_title"></span> ' ;
echo $urlpaginasite;

			$sql = "SELECT * FROM `pagini` WHERE pagina='$urlpaginasite' ";
    $rows = $conn->sqlExecute($sql);
   foreach($rows AS $row) {
    $url_pagina_site = $row['id'] ;
   
  }
 echo "pagina asta are ID-ul: $url_pagina_site";
}
care e apelat in pagina videoclipuri.php cu

Cod: Selectaţi tot

<script type="text/javascript">
$(document).ready(function() {	
	$('.paginate').live('click', function(){
		
		$('#content').html('<div class="loading"><img src="/pagination_me/images/loading.gif" width="70px" height="70px"/></div>');

		var page = $(this).attr('data');
    	
		var dataString = 'page='+page;
		
		$.ajax({
            type: "POST",
            url: "/paginare.php",
            data: dataString,
            success: function(data) {
				$('#content').fadeIn(1000).html(data);
            }
        });
    });              
});    
</script>
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

MarPlo Mesaje:4343
Incearca asa:
paginare.php

Cod: Selectaţi tot

<?php
error_reporting(E_ALL);
if(isset($_POST['page'])) {
  $ar_pg = explode('/', trim(trim(strip_tags($_POST['page'])), '/'));    // array cu parti din 'page'
/*
Daca $_POST['page'] = '/videoclipuri/craciun-2012-alba-iulia/';
$ar_pg[0] = 'videoclipuri';
$ar_pg[1] = 'craciun-2012-alba-iulia'
*/
  $urlpaginasite = $ar_pg[1];       // Aici adaugi care parte din $ar_pg e necesara
  $sql = "SELECT * FROM `pagini` WHERE pagina='$urlpaginasite' ";
  $rows = $conn->sqlExecute($sql);
  foreach($rows AS $row) {
    $url_pagina_site = $row['id'] ;
  }
  echo "pagina asta are ID-ul: $url_pagina_site";
}
 
videoclipuri.php

Cod: Selectaţi tot

<script type="text/javascript">
$(document).ready(function() {   
 $('.paginate').live('click', function(){
  $('#content').html('<div class="loading"><img src="/pagination_me/images/loading.gif" width="70px" height="70px"/></div>');
  var page = window.location.pathname;
  var dataString = 'page='+page;
  $.ajax({
    type: "POST",
    url: "/paginare.php",
    data: dataString,
    success: function(data) {
      $('#content').fadeIn(1000).html(data);
    }
    });
  });             
});   
</script>

ionatan Mesaje:94
salut,
modificand codul ultimului mesal al tau am ajuns la concluzia ca va merge dar va trebui sa adaug o alta variabila cu o alta denumire in videoclipuri.php
var page = window.location.pathname;
care sa o preiau in paginare.php si aici nu ma mai descurc

Cod: Selectaţi tot

<script type="text/javascript">
$(document).ready(function() {   
   $('.paginate').live('click', function(){
      
      $('#content').html('<div class="loading"><img src="/pagination_me/images/loading.gif" width="70px" height="70px"/></div>');

      var page = $(this).attr('data');  // variabila page nu o pot modifica 
       // cred ca aici va trebui sa adaug o alta variabila 
   // de ex:   var page_url = window.location.pathname;
// iar apoi sa o preiau cu  $_POST in cealalta pagina
// aici nu mai mai descurc

      var dataString = 'page='+page;
      
      $.ajax({
            type: "POST",
            url: "/paginare.php",
            data: dataString,
            success: function(data) {
            $('#content').fadeIn(1000).html(data);
            }
        });
    });             
});   
</script>
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

MarPlo Mesaje:4343
Nu se poate folosi valoare din variabila javascript in php fiindca instructiunile din codul javascript se executa in browser (pe partea de client) dupa ce php a incheiat rularea intregului cod pe server.
Din codul tau am inteles ca ai vrea sa trimiti prin Ajax 2 valori: "page" si "page_url".
Incearca asa in codul javascript:

Cod: Selectaţi tot

var page = $(this).attr('data');  // variabila page nu o pot modifica
var pgurl = window.location.pathname;
var dataString = 'page='+ page +'&pgurl='+ encodeURIComponent(pgurl);
Iar in php o sa ai: $_POST['page'] si $_POST['pgurl']. Le poti folosi dupa cum vrei acele date in php.

ionatan Mesaje:94
Asa este aveam nevoie de doua variabile. am reusit, cu ajutorul tau, multumesc mult :)
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

Subiecte similare