Code преработка: изпрати на приятел

emcuemnecu

Registered
Проблема е такъв, че съм задал кода , който изпраща по емайл адрес покана да посети дадената страница с Pop-Up тоест от линкваща дума изкача прозорец.
Проблема е , че като изпрати емайл не дава линка към самата страница, за която се отнася , а дава линк към адреса на себе си. Разбирате ли ме?

Ето какво дава:
Ивайло ви препоръчва да чуете песента, която се намира на адрес:
~ http://bgrapar.com/bgrapar-dot-com/Music/Izprati_na_Priatel.php


а би трябвало да изпраща
Ивайло ви препоръчва да чуете песента, която се намира на адрес:
~ http://bgrapar.com/bgrapar-dot-com/Music/Releto-Zvezdi

Ако може помощ да оправя проблема:


Код:
<html> 
<head> 
<title>Изпрати на приятел</title> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> 
<link href="css,js/templatemo_style.css" rel="stylesheet" type="text/css" />

<style type="text/css"> 
html, body { font-family: verdana; font-size: 13px; color: #5f5f5f; } 
acronym { cursor: help; background: #ffffff; } 
form { margin: 0 auto; padding: 0px 0px 0px 0px; } 
input { background: #fdfcfa; border: 1px solid #c0c0c0; color: #4b4b4b; font-family: verdana; font-size: 11px; font-weight: normal; } 
</style> 
</head> 

<body> 
<h2><center>Сподели с приятел тази страница: E-mail</center></h2>

<div style="padding: 10px;"> 
<?php 
$ip = senderip(); 
function senderip(){ 
if(getenv('HTTP_X_FORWARDED_FOR')){ 
$ip = $_SERVER['REMOTE_ADDR']; 
if(preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", getenv('HTTP_X_FORWARDED_FOR'), $ip3)){ 
$ip2 = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.16\..*/', '/^10..*/', '/^224..*/', '/^240..*/'); 
$ip = preg_replace($ip2, $ip, $ip3[1]); 
} 
} else { 
$ip = $_SERVER['REMOTE_ADDR']; 
} 
if ($ip == "") { $ip = "12.34.56.78"; } 
return $ip; 
} 
$remotehost = gethostbyaddr($ip); 
$_POST[referer] = getenv ("HTTP_REFERER"); 
$_POST[browser] = getenv ("HTTP_USER_AGENT"); 
$form_block = "<form method=\"post\" action=\"$PHP_SELF\"> 
<b>[1]</b> Вашето име</acronym>
<input type='text' name='name' style='color:#D41715;' maxlength='25' size='20' value=\"$_POST[name]\" title='Вашето име ?' /> <acronym title=\"Вашето име ?\">
<br /><br />
<b>[2]</b>Вашият емайл адрес</acronym>
<input type='text' name='sender' style='color:#D41715;' maxlength='25' size='20' value=\"$_POST[sender]\" title='Вашият @ ?' /> <acronym title=\"Вашият @ ?\">
<br /><br />
<b>[3]</b>E-mail на приятеля ви</acronym>
<input type='text' name='recipient' style='color:#D41715;' maxlength='25' size='53' value=\"$_POST[recipient]\" title='Приятел @ ?' /> <acronym title=\"Приятел @ ?\">
<br /><br />
<input type=\"hidden\" name=\"op\" value=\"ds\" /><input type='submit' name='submit' value='Препоръчай сайта!' style='margin-top:2px;' /> 
</form>"; 

if ($_POST[op] != "ds") { echo "$form_block"; } 
else if ($_POST[op] =="ds") { 
if ($_POST[name] == "") { $name_err = "  - [1] вашето име<br />"; $send="no"; } 
if ($_POST[sender] == "") { $sender_err = "  - [2] вашият @<br />"; $one="ok"; $send="no"; } 
if ($_POST[recipient] == "") { $recipient_err = "  - [3] приятел @<br />"; $two="ok"; $send="no"; } 
if ($one == "ok") { } 
else { if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST[sender])) { $chsen_err = "  - [2] вашият @ не е валиден<br />"; $send="no"; } 
} 
if ($two == "ok") { } 
else { if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST[recipient])) { $chrec_err = "  - [3] приятел @ не е валиден<br />"; $send="no"; } 
} 
if ($send !="no") { 
$msg .="Здравейте! Получили сте писмо от $_POST[name] ( $_POST[sender] )\n\n"; 
$msg .="Допълнителна информация:\n"; 
$msg .="~ IP Address: http://$ip ( $remotehost )\n"; 
$msg .="~ Browser: $_POST[browser]\n\n"; 
$msg .="$_POST[name] ви препоръчва да чуете песента, която се намира на адрес:\n"; 
$msg .="~ $_POST[referer]\n\n"; 
$msg .="_______________________\n"; 
$msg .="Поздрави от екипа на bgrapar.com\n"; 
$to = "$_POST[recipient]"; 
$subject = "BGRAPAR DOT COM - Сайт посветен на рап музиката, и елементите, които я заобикалят в България."; 
$mailheaders = "From: $_POST[name] <$_POST[sender]>\n"; 
$mailheaders .= "Reply-To: $_POST[sender]\n"; 
mail ($to, $subject, $msg, $mailheaders); 
echo "<b><font color='green'> - Благодарим Ви!</font></b>\n<br /><br />"; 
echo "$form_block"; 

} else if ($send == "no") { 
echo "<b>Моля въведете:<br /><font color=\"#D41715\">"; 
echo " $name_err"; 
echo " $sender_err"; 
echo " $chsen_err"; 
echo " $recipient_err"; 
echo " $chrec_err"; 
echo "</font></b><br />\n"; 
echo "$form_block"; 
} 

} 
?> 

</div> 
</body> 
</html>
 
emcuemnecu каза:
Проблема е такъв, че съм задал кода , който изпраща по емайл адрес покана да посети дадената страница с Pop-Up тоест от линкваща дума изкача прозорец.
Проблема е , че като изпрати емайл не дава линка към самата страница, за която се отнася , а дава линк към адреса на себе си. Разбирате ли ме?

Ето какво дава:
Ивайло ви препоръчва да чуете песента, която се намира на адрес:
~ http://bgrapar.com/bgrapar-dot-com/Music/Izprati_na_Priatel.php


а би трябвало да изпраща
Ивайло ви препоръчва да чуете песента, която се намира на адрес:
~ http://bgrapar.com/bgrapar-dot-com/Music/Releto-Zvezdi

Ако може помощ да оправя проблема:


Код:
<html> 
<head> 
<title>Изпрати на приятел</title> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> 
<link href="css,js/templatemo_style.css" rel="stylesheet" type="text/css" />

<style type="text/css"> 
html, body { font-family: verdana; font-size: 13px; color: #5f5f5f; } 
acronym { cursor: help; background: #ffffff; } 
form { margin: 0 auto; padding: 0px 0px 0px 0px; } 
input { background: #fdfcfa; border: 1px solid #c0c0c0; color: #4b4b4b; font-family: verdana; font-size: 11px; font-weight: normal; } 
</style> 
</head> 

<body> 
<h2><center>Сподели с приятел тази страница: E-mail</center></h2>

<div style="padding: 10px;"> 
<?php 


function selfURL() {

        $s = empty($_SERVER["HTTPS"]) ? ''

                : ($_SERVER["HTTPS"] == "on") ? "s"

                : "";

        $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"
]), "/").$s;

        $port = ($_SERVER["SERVER_PORT"] == "80") ? ""

                : (":".$_SERVER["SERVER_PORT"])
;

        return $protocol."://".$_SERVER['SERVER_NAME'].$port.
$_SERVER['REQUEST_URI'];

}

function strleft($s1, $s2) {

        return substr($s1, 0, strpos($s1, $s2));

}



$urll= selfURL();



$ip = senderip(); 
function senderip(){ 
if(getenv('HTTP_X_FORWARDED_FOR')){ 
$ip = $_SERVER['REMOTE_ADDR']; 
if(preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", getenv('HTTP_X_FORWARDED_FOR'), $ip3)){ 
$ip2 = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.16\..*/', '/^10..*/', '/^224..*/', '/^240..*/'); 
$ip = preg_replace($ip2, $ip, $ip3[1]); 
} 
} else { 
$ip = $_SERVER['REMOTE_ADDR']; 
} 
if ($ip == "") { $ip = "12.34.56.78"; } 
return $ip; 
} 
$remotehost = gethostbyaddr($ip); 
$_POST[referer] = $urll; 
$_POST[browser] = getenv ("HTTP_USER_AGENT"); 
$form_block = "<form method="post" action="$PHP_SELF"> 
<b>[1]</b> Вашето име</acronym>
<input type='text' name='name' style='color:#D41715;' maxlength='25' size='20' value="$_POST[name]" title='Вашето име ?' /> <acronym title="Вашето име ?">
<br /><br />
<b>[2]</b>Вашият емайл адрес</acronym>
<input type='text' name='sender' style='color:#D41715;' maxlength='25' size='20' value="$_POST[sender]" title='Вашият @ ?' /> <acronym title="Вашият @ ?">
<br /><br />
<b>[3]</b>E-mail на приятеля ви</acronym>
<input type='text' name='recipient' style='color:#D41715;' maxlength='25' size='53' value="$_POST[recipient]" title='Приятел @ ?' /> <acronym title="Приятел @ ?">
<br /><br />
<input type="hidden" name="op" value="ds" /><input type='submit' name='submit' value='Препоръчай сайта!' style='margin-top:2px;' /> 
</form>"; 

if ($_POST[op] != "ds") { echo "$form_block"; } 
else if ($_POST[op] =="ds") { 
if ($_POST[name] == "") { $name_err = "  - [1] вашето име<br />"; $send="no"; } 
if ($_POST[sender] == "") { $sender_err = "  - [2] вашият @<br />"; $one="ok"; $send="no"; } 
if ($_POST[recipient] == "") { $recipient_err = "  - [3] приятел @<br />"; $two="ok"; $send="no"; } 
if ($one == "ok") { } 
else { if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST[sender])) { $chsen_err = "  - [2] вашият @ не е валиден<br />"; $send="no"; } 
} 
if ($two == "ok") { } 
else { if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST[recipient])) { $chrec_err = "  - [3] приятел @ не е валиден<br />"; $send="no"; } 
} 
if ($send !="no") { 
$msg .="Здравейте! Получили сте писмо от $_POST[name] ( $_POST[sender] )\n\n"; 
$msg .="Допълнителна информация:\n"; 
$msg .="~ IP Address: http://$ip ( $remotehost )\n"; 
$msg .="~ Browser: $_POST[browser]\n\n"; 
$msg .="$_POST[name] ви препоръчва да чуете песента, която се намира на адрес:\n"; 
$msg .="~ $_POST[referer]\n\n"; 
$msg .="_______________________\n"; 
$msg .="Поздрави от екипа на bgrapar.com\n"; 
$to = "$_POST[recipient]"; 
$subject = "BGRAPAR DOT COM - Сайт посветен на рап музиката, и елементите, които я заобикалят в България."; 
$mailheaders = "From: $_POST[name] <$_POST[sender]>\n"; 
$mailheaders .= "Reply-To: $_POST[sender]\n"; 
mail ($to, $subject, $msg, $mailheaders); 
echo "<b><font color='green'> - Благодарим Ви!</font></b>\n<br /><br />"; 
echo "$form_block"; 

} else if ($send == "no") { 
echo "<b>Моля въведете:<br /><font color="#D41715">"; 
echo " $name_err"; 
echo " $sender_err"; 
echo " $chsen_err"; 
echo " $recipient_err"; 
echo " $chrec_err"; 
echo "</font></b><br />\n"; 
echo "$form_block"; 
} 

} 
?> 

</div> 
</body> 
</html>


Пробвай така.

Оточнявам, че тази функция за взимането на урл е от гоогле > някой сайт.
 
Не и така не става, може би защото скрипта взима текущия url , а именно своя адрес в случая защото е Pop-Up прозорец.
Тогава се чудя сайтовето, които използват тази функция какъв скрипт използват за "Изпрати на приятел"
 

Back
Горе