2010-08-30 2 views
-1

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

Я знаю, что вы не можете смешивать Javascript и PHP, поэтому как я могу указать, на какую ссылку кликнул пользователь, чтобы передать эту переменную в форму на следующей странице? Вот мой код:

<?php while($row = mysql_fetch_array($result)) { 
      if ($row['active'] == 1) { 

?> 

     <div id="dealer"> 

      <div id="dealername"> 
       <h3 style="float:left;"><?php echo $row['company']; ?></h3><br/> 
       <p><?php echo $row['address1']; ?><br/> 
       <?php if($row['address2'] || $row['address3']) { 
         echo $row['address2'] . ' ' . $row['address3'] . '<br/>'; } ?> 
       <?php echo $row['city']; 
       if ($row['state']) { 
          echo ', ' . $row['state']; 
        } 
        echo '&nbsp;&nbsp;' . $row['zip']; ?> 
        <br /> 
        <?php echo $row['country']; ?> 

        <br /> 
        <br /> 
        Phone: <strong><?php echo $row['phone1']; ?></strong><?php if ($row['phone2']) { 
         echo ' or ' . $row['phone2']; } ?><br/> 
        <?php if($row['fax']) { echo 'Fax: ' . $row['fax']; } ?><br /> 
       </p> 
      </div> 

      <?php if ($row['email']) { 
       echo '<div class="dealerEmail">'. // need help here . '</div>'; 

      } ?> 

     <br class="clearall" /> 
     </div> 




<?php }} ?> 

страница, что этот код появляется на вытягивает данные из базы данных, используя GET заявление на основе URL похож на «index.php состояние = аг?».

Я пробовал использовать ссылку электронной почты в формате «? Email = ...», но когда я перехожу на страницу дилера-email.php, в URL-адресе нет параметров, которых я не получаю. Вот почему я пытаюсь найти другой способ передать какую-то переменную на следующую страницу, на основе которой пользователь нажимает.

Надеюсь, что это ясно. Заранее спасибо за вашу помощь.

ответ

5

это должно работать нормально:

<a href="somepage.php?email=<?php echo $row['email']; ?>">contact dealer</a> 

а затем восстановить данные в somepage.php странице:

if(isset($_GET['email'])) 
    $email = $_GET['email']; 
else 
    //redirect somewherelse 
0

Вы можете пропустить форму электронной почты в целом и включают в себя атрибут MailTo в вашей ссылке.

<a href="mailto:<?php echo $row['email'];?>">contact dealer</a> 

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

+0

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

+1

@hugo: Вот отчет 2009 года о работе с почтовым клиентом: http://www.campaignmonitor.com/stats/email-clients/ Настольные клиенты еще не совсем мертвы, но кажется, что их использование может снижаться в в долгосрочной перспективе. Но имейте в виду, что если это приложение для интрасети, использование определенного клиента может быть утверждено политикой компании. В этом случае использование атрибута mailto является надежным. – kevtrout

2

Я знаю, что вы не можете смешивать Javascript и PHP

Это не верно. Javascript - это язык сценариев на стороне клиента, а PHP - это сценарий на стороне сервера. Они работают в разное время, на разных машинах, и будут работать отлично.

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

+0

Я думаю, что OP означало нечто вроде ' 'Вывод 42. –

Смежные вопросы