Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Изменение адреса ссылки
 
 автор: zavragnov   (11.09.2007 в 15:05)   письмо автору
 
 

Прошу помощи. Нужно во всем документе изменить все имеющиеся ссылки.

Сам документ

<a href="gl.php">слово</a><br>
<a href="glr.php">еще слово</a><br>
<a href="pglt.php">новое слово</a><br>
<a href="pgly.php?id=1">просто</a><br>


И хотелось бы скриптом поменять на такой вид, проше говоря подставить еще один не изменяющийся параметр

<a href="gl.php?ses=123456">слово</a><br>
<a href="glr.php?ses=123456">еще слово</a><br>
<a href="pglt.php?ses=123456">новое слово</a><br>
<a href="pgly.php?ses=123456&id=1">просто</a><br>

   
 
 автор: AlexSol   (11.09.2007 в 15:16)   письмо автору
 
   для: zavragnov   (11.09.2007 в 15:05)
 

а чего скриптом а не простым поиском с заменой?

   
 
 автор: zavragnov   (11.09.2007 в 15:40)   письмо автору
 
   для: AlexSol   (11.09.2007 в 15:16)
 

Я в js не силен это как?

   
 
 автор: sim5   (11.09.2007 в 15:29)   письмо автору
 
   для: zavragnov   (11.09.2007 в 15:05)
 

А почему на стороне сервера при форимировании этой страницы не делаете это?

   
 
 автор: zavragnov   (11.09.2007 в 15:39)   письмо автору
 
   для: sim5   (11.09.2007 в 15:29)
 

Да на стороне сервера, не нужно так я и сам бы сделал, именно на стороне клиента надо.

   
 
 автор: sim5   (11.09.2007 в 15:43)   письмо автору
 
   для: zavragnov   (11.09.2007 в 15:39)
 

Получайте массив якороей в документе, берите значение ссылки и добавляйте нужное вам. Только все это подозрительно...

   
 
 автор: zavragnov   (11.09.2007 в 15:49)   письмо автору
 
   для: sim5   (11.09.2007 в 15:43)
 

Короче говоря эта штука мне нужна , для того что бы передавать идентификатор сессии если куки выключенны, и хочу упростить задачу чтобы не переписывать весь движок сайта.

вот что своял сам, но это не работает, параметр то добавляет но все остальное никак


for(i=0;i<document.links.length;i++)

var old = document.links[i].href;
var new_link = old + '&php=сессия';
document.write(new_link);

   
 
 автор: sim5   (11.09.2007 в 15:56)   письмо автору
 
   для: zavragnov   (11.09.2007 в 15:49)
 

Глупостью вы занимаетесь, скажу я вам. Как вы на стороне клиента узнаете идентификатор сессии? Что вы собираетесь добавлять? Это как раз и надо добавлять на стороне сервера, причем "втыкивать" идентификатор не куда попадя, а только туда, где это требуется.

   
 
 автор: zavragnov   (11.09.2007 в 16:07)   письмо автору
 
   для: sim5   (11.09.2007 в 15:56)
 

Получить идентификатор просто.

Мож я и глупостью занимаюсь, но все же прошу помощи



<?php 
session_start
();
?>
<html>
<head>
</head>
<body onLoad="links()">
<?php 
$name 
session_name();
$sid session_id();
?> 
<script language="JavaScript" type="text/javascript">
for(i=0;i<document.links.length;i++)
var old = document.links[i].href;
var new_link = old + '<?php echo $name ?>=<?php echo $sid ?>';
document.write(document.links[i].href + new_link);
</script>
<a href="gl.php">слово</a><br> 
<a href="glr.php">еще слово</a><br> 
<a href="pglt.php">новое слово</a><br> 
<a href="pgly.php?id=1">просто</a><br>
</body>
</html>

   
 
 автор: sim5   (11.09.2007 в 16:10)   письмо автору
 
   для: zavragnov   (11.09.2007 в 16:07)
 

И в чем проблема, что прямо здесь нельзя прописать SID? Зачем это через JS делать?

   
 
 автор: bronenos   (11.09.2007 в 16:11)   письмо автору
 
   для: zavragnov   (11.09.2007 в 16:07)
 

output_add_rewrite_var(session_name(), session_id());

   
 
 автор: Madman   (11.09.2007 в 16:12)   письмо автору
 
   для: zavragnov   (11.09.2007 в 15:49)
 

+ к сказаному выше:

document.write(new_link);

это полная гадость... Что по вашему оно должно сделать? Вписать новый адрес? Куда скажите? Прямо в документ? После загрузки?

Вы же взяли параметр href у ссылки, его и меняйте!

for(i=0;i<document.links.length;i++) {
   document.links[i].href += '&php=сессия'; 
}


P.S. Полное безобразие

   
 
 автор: zavragnov   (11.09.2007 в 16:19)   письмо автору
 
   для: Madman   (11.09.2007 в 16:12)
 

Если бы знал js, то написал бы правильно, потому и прошу помощи, так как поменнять параметр href у ссылки.

PS то что это не правильно я и сам знаю.

   
 
 автор: Madman   (11.09.2007 в 16:20)   письмо автору
 
   для: zavragnov   (11.09.2007 в 16:19)
 

>так как поменнять параметр href у ссылки.

Собственно я и написал как это сделать во втором коде!

   
 
 автор: sim5   (11.09.2007 в 16:21)   письмо автору
 
   для: zavragnov   (11.09.2007 в 16:19)
 

Вы привели РНР-код:

<?php  
session_start
(); 
?> 
<html> 
<head> 
</head> 
<body onLoad="links()"> 
<?php  
$name 
session_name(); 
$sid session_id(); 
?>  
<script language="JavaScript" type="text/javascript"> 
for(i=0;i<document.links.length;i++) 
var old = document.links[i].href; 
var new_link = old + '<?php echo $name ?>=<?php echo $sid ?>'; 
document.write(document.links[i].href + new_link); 
</script> 
<a href="gl.php">слово</a><br>  
<a href="glr.php">еще слово</a><br>  
<a href="pglt.php">новое слово</a><br>  
<a href="pgly.php?id=1">просто</a><br> 
</body> 
</html>

Почему в нем сразу нельзя прописать?:

<?php  
session_start
(); 
?> 
<html> 
<head> 
</head> 
<body onLoad="links()"> 
<?php  
$name 
session_name(); 
$sid session_id(); 
?>  
 
<a href="gl.php?ses=<?php echo $sid ?>">слово</a><br> 
<a href="glr.php?ses=<?php echo $sid ?>">еще слово</a><br> 
<a href="pglt.php?ses=<?php echo $sid ?>">новое слово</a><br> 
<a href="pgly.php?ses=<?php echo $sid ?>&id=1">просто</a><br> 
</body> 
</html>

Зачем вам JS?

   
 
 автор: zavragnov   (11.09.2007 в 16:32)   письмо автору
 
   для: zavragnov   (11.09.2007 в 16:19)
 

Если я правильно понял то так тоже не работает, пишет требуется наличие объекта

<?php 
session_start
();
?>
<html>
<head>
</head>
<body>
<?php 
$name 
session_name();
$sid session_id();
?> 
<script language="JavaScript" type="text/javascript">
for(i=0;i<document.links.length;i++) 

   document.links[i].href += '<?php echo trim ($name); ?>=<?php echo trim ($sid?>';  
}
</script>
<a href="gl.php">слово</a><br> 
<a href="glr.php">еще слово</a><br> 
<a href="pglt.php">новое слово</a><br> 
<a href="pgly.php?id=1">просто</a><br>
</body>
</html>

   
 
 автор: Madman   (11.09.2007 в 16:57)   письмо автору
 
   для: zavragnov   (11.09.2007 в 16:32)
 

ну конечно не работает и объекта нету...
Ссылки-то еще не загрузились

Делайте так:

<?php  
session_start
(); 
?> 
<html> 
<head> 
</head> 
<body> 
<?php  
$name 
session_name(); 
$sid session_id(); 
?>  
<script language="JavaScript" type="text/javascript"> 
function add_session() {
for(i=0;i<document.links.length;i++)  
{  
   document.links[i].href += '<?php echo trim ($name); ?>=<?php echo trim ($sid?>';   

}
document.onload = add_session;
</script> 
<a href="gl.php">слово</a><br>  
<a href="glr.php">еще слово</a><br>  
<a href="pglt.php">новое слово</a><br>  
<a href="pgly.php?id=1">просто</a><br> 
</body> 
</html>

   
 
 автор: zavragnov   (11.09.2007 в 17:48)   письмо автору
 
   для: zavragnov   (11.09.2007 в 16:32)
 

Вот спасибо чуть подправил и все заработало

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования