Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подтверждение по email 
V
    Опции темы
Cript777
  Дата 13.2.2013, 04:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 30.10.2012

Репутация: нет
Всего: нет



Приветствую! Данный код отправляет ссылку с подтверждением email адреса, но приходит адрес страницы, с которой отправлен запрос, в моем случае http://www.сайт.ru/create.php

Код

$appcode =  randomcode(16);
$result = mysql_query("update ".DB_PLAYERS." set code = '".$appcode."' where username = '".$usr."' ");
$mailfrom = $_SERVER['HTTP_HOST'];
$mailfrom = str_replace("www.","",$mailfrom);
$mailf = explode('/',$mailfrom);
$mail = 'support@'.$mailf[0];
$from_header = 'From: '.$mail. "\r\n" .
   'Reply-To: '.$mail . "\r\n" .
   'X-Mailer: PHP/' . phpversion();
$subject = 'Подтверждение email адреса';
$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
$url = str_replace("lobby.php","approve.php?&approval=".$appcode,$url);
$contents = CREATE_APPROVAL_EMAIL_CONTENT .' ' .$url;
$to =  $email;
   mail($to, $subject, $contents, $from_header);
 $url = 'index.php';
 echo '<script LANGUAGE="JavaScript">';
echo 'alert(\''.CREATE_APPROVAL_EMAIL_ALERT.'\'); ';
echo 'parent.document.location.href = "'.$url.'";'; 
echo '</SCRIPT>';
die(); 


что здесь не так?
PM MAIL   Вверх
Arantir
Дата 13.2.2013, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



Цитата
$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
$url = str_replace("lobby.php","approve.php?&approval=".$appcode,$url);
Боже мой... что это? В чем тут логика?
И это и есть вашей проблемой. Никакого "lobby.php" в $url в помине не будет, если скрипт называться create.php.
Код

$url = "http://".$_SERVER['HTTP_HOST']."/approve.php?&approval=".$appcode;


Цитата
$mailfrom = $_SERVER['HTTP_HOST'];
$mailfrom = str_replace("www.","",$mailfrom);
$mailf = explode('/',$mailfrom);
$mail = 'support@'.$mailf[0];
Тот же вопрос... 
Все это заменяется строкой:
Код

$mail = str_replace('www.','support@',$_SERVER['HTTP_HOST']);


P.S.:
Цитата
'X-Mailer: PHP/' . phpversion();
Первый раз вижу, чтобы кто-то намеренно палил версию php  smile 


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
Cript777
  Дата 13.2.2013, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 30.10.2012

Репутация: нет
Всего: нет



Arantir,  супер! Теперь все правильно отправляет.  Вот еще вопрос по коду: файл approve.php

Код

$host=DB_SERVER;
$ln=DB_SERVER_USERNAME;
$pw=DB_SERVER_PASSWORD;
$db=DB_DATABASE;
        mysql_connect("$host","$ln","$pw") or die("Unable to connect to database");
        mysql_select_db("$db") or die("Unable to select database");

$code = addslashes($_GET['approval']);
if($code == '') die();
$result = mysql_query("update ".DB_PLAYERS." set approve = '0' where code = '".$code."' ");
 $url = 'login.php';
 echo '<script LANGUAGE="JavaScript">';
echo 'parent.document.location.href = "'.$url.'"'; 
echo '</SCRIPT>';
die();


Пользователь попадает сюда, после перехода по ссылке, отправленной на email, и аккаунт автоматически активируется, но  почему-то не срабатывает..
PM MAIL   Вверх
Aliance
Дата 13.2.2013, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



По логике все же нужно делать set approve = '1'
PM MAIL WWW ICQ Skype   Вверх
Cript777
Дата 13.2.2013, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 30.10.2012

Репутация: нет
Всего: нет



Цитата(Aliance @ 13.2.2013,  18:15)
По логике все же нужно делать set approve = '1'

Да, но все же через админ панель такой же запрос и все срабатывает правильно..
Код

$result =mysql_query("update ".DB_PLAYERS." set approve = '0' where username = '".$usr."' ")

PM MAIL   Вверх
Aliance
Дата 14.2.2013, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Посмотри запрос и попробуй скопировав его выполнить в phpMyAdmin.
Код

$sql ="update ".DB_PLAYERS." set approve = '0' where username = '".$usr."' ";
var_dump($sql);exit;
$result =mysql_query($sql);

PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.