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

Форум PHP

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

 

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

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

тема: выбранные переменные из Java в ПХП
 
 автор: FaStY   (08.05.2005 в 01:47)   письмо автору
 
 

у меня есть скрипт создания хостинг-плана на java script(я его прикрепил к этому сообщению), и мне нужно, что бы при выборе нужного кол-ва пунктов(т.е. когда я состаляю этот хостнг план), я смог выбранное отправить по почте. Подскажите как это сделать

   
 
 автор: glsv (Дизайнер)   (08.05.2005 в 06:16)   письмо автору
 
   для: FaStY   (08.05.2005 в 01:47)
 

Но очень ясно с чем сложности. Именно с передачей выбранных параметров в PHP?
Добавляете кнопку в самый конец страницы

        </TBODY>
  </TABLE>
  <input type="submit" value="Отправить">
</FORM>

И по нажатию на кнопку все данные отправляются скрипту createpurchase.php
Чтобы удостовериться что данные приходят поставьте следующий код в самый верх страницы createpurchase.php

<?
  
echo "<pre>";
  
print_r($_POST);
  echo 
"</pre>";  
?>

Или же проблемы с отправкой письма? Функцией mail() пользуетесь? А в чем именно ошибка?

   
 
 автор: FaStY   (08.05.2005 в 18:10)   письмо автору
 
   для: glsv (Дизайнер)   (08.05.2005 в 06:16)
 

мне нужно чтобы только выбрпанные посылались на e-mail

   
 
 автор: glsv (Дизайнер)   (08.05.2005 в 21:02)   письмо автору
 
   для: FaStY   (08.05.2005 в 18:10)
 

Так только выбранные и значение и приходят в обработчик.
Вы выполняли вот этот код в скрипте-обработчике (createpurchase.php)?

<? 
  
echo "<pre>"
  
print_r($_POST); 
  echo 
"</pre>";   
?>

Передаются только выбранные значения. Разве у вас не так?

   
 
 автор: FaStY   (08.05.2005 в 22:21)   письмо автору
 
   для: glsv (Дизайнер)   (08.05.2005 в 21:02)
 

все так, спасибо, но у меня пишет

Array
(
    [id11] => on
    [id12] => on
    [id20] => on
)

а как мне сдеать, чтобы не показывал само слово array,и показывались значения, напирмер вместо id11 показывало "план1"

   
 
 автор: glsv (Дизайнер)   (09.05.2005 в 04:27)   письмо автору
 
   для: FaStY   (08.05.2005 в 22:21)
 

Ах вот вы о чем. Никак не передать. Вернее передавать можно, но правильнее именно так, как работает сейчас.
Вы же знаете какой идентификатор (id11, id12, id20) что означает. Осуществляйте перебор этих значений и их расшифровку непосредственно в коде обработчика.

<?
  
if ($_POST["id11"]=="on")
  {
     echo 
"Тарифный план 1";
    
// Далее формируем текст письма.
  
}
  if (
$_POST["id12"]=="on")
  {
     echo 
"Тарифный план 2";
    
// Далее формируем текст письма.
  
}
  if (
$_POST["id13"]=="on")
  {
     echo 
"Тарифный план 3";
    
// Далее формируем текст письма.
  
}
  
//
  // И так далее
  //
?>

   
 
 автор: FaStY   (09.05.2005 в 13:11)   письмо автору
 
   для: glsv (Дизайнер)   (09.05.2005 в 04:27)
 

Вот спасибо! огромное спасибо, вот если бы вы мнепомогли еще отправить это все на e-mail. я просто не понимаю, как это все отправить :( отправить я знаю как, но вот как мне сформировать само письмо, чтобы там были эти переменные. Заранее благодарен

   
 
 автор: glsv (Дизайнер)   (10.05.2005 в 05:45)   письмо автору
 
   для: FaStY   (09.05.2005 в 13:11)
 

Можо примерно так:

<?
  
// Отправляем письмо с заказом на e-mail
  
$thm "Заказ с сайта";
  
$msg "Выбранные параметры\n".
  
$msg .= "----------------------";

  if (
$_POST["id11"]=="on"
  { 
     
$msg .= "Тарифный план 1\n"
    
// Далее формируем текст письма. 
  

  if (
$_POST["id12"]=="on"
  { 
     
$msg .= "Тарифный план 2\n"
    
// Далее формируем текст письма. 
  

  if (
$_POST["id13"]=="on"
  { 
     
$msg .= "Тарифный план 3\n"
    
// Далее формируем текст письма. 
  

  
// 
  // И так далее 
  // 
  
  
$msg .= "----------------------------------------------";
  
// Изменяем кодировку
  
$thm =  convert_cyr_string(stripslashes($thm),'w','k'); 
  
$msg =  convert_cyr_string(stripslashes($msg),'w','k'); 
  
$header "Content-Type: text/plain; charset=KOI8-R\n"
  
  if (@
mail("softtime@softtime.ru"$thm$msg$header))
  {
    echo 
"Письмо отправлено";
  }
  else
  {
    echo 
"Ошибка отправки письма";
  }
?>

PS: Тему переношу в форум PHP, т.к. там она более уместна.

   
 
 автор: FaStY   (20.05.2005 в 21:02)   письмо автору
 
   для: glsv (Дизайнер)   (10.05.2005 в 05:45)
 

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

   
 
 автор: glsv (Дизайнер)   (22.05.2005 в 16:40)   письмо автору
 
   для: FaStY   (20.05.2005 в 21:02)
 

Все же Вы, наверное, не все файлы положили.
В форме в create.php обработчиком стоит

action=index.php?to=createpurchase

Переправил так

<FORM name=f1 action=createpurchase.php method=post>

У вас проблема в том, что теряются данные, переданные и файла create.php, после того, как вы заполнили и отослали форму в файле createpurchase.php?
Все верно, данные не сохраняются в этом случае. В же 2 раза отослали форму и во второй форме этих данных нет (они были только в первой форме).
Для повторного использования данных из первой формы вам нужно их запомнить. Можно, например, положить в сессии. Поместите в начало файла createpurchase.php следующий код.

<?
  session_start
();
  foreach (
$_POST as $key=>$value)
  {
    
$_SESSION[$key]=$value;
  }
?>

И в том же файле createpurchase.php там где вы делаете проверку на выбранные услуги замените массивы $_POST на массив $_SESSION
 
<?
  
if ($_SESSION["id4"]=="on"
  { 
     
$msg .= "Дисковое пространство 25 Мб [1.20$]<br>"
    
// Далее формируем текст письма. 
  

  if (
$_SESSION["id5"]=="on"
  { 
     
$msg .= " Дисковое пространство 50 Мб [1.50$]<br>"
    
// Далее формируем текст письма. 
  
}
?>

И так далее.

   
 
 автор: glsv (Дизайнер)   (22.05.2005 в 16:46)   письмо автору
 
   для: FaStY   (20.05.2005 в 21:02)
 

>Как мне сделать, чтобы у мен показывалось от кого присылается, ато у меня всегда пишет от nobody.
Добавьте в заголовок письма поле FROM

<?
  $header 
"From: user@server.ru\r\n";
  
$header .= "Content-Type: text/html: charset=windows-1251\r\n";
?>

   
Rambler's Top100
вверх

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