• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wysyłka maila - instrukcja warunkowa

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
+1 głos
492 wizyt
pytanie zadane 16 września 2021 w PHP przez TheDarkSide Użytkownik (930 p.)

Mam formularz w którym są do zaznaczenia dwie opcje DHL i INPOST.

Chciałabym, aby dane z formularza były wysyłane w zależności od wyboru jednej z opcji. np. ktoś wybrał dhl to mail zostanie wysłany na dhl@gmail.com.

<label for="Przewoźnik">Wybierz przewoźnika:</label>
  <select name="kurier" id="kurier"required>
    <option value="DHL">DHL</option>
    <option value="InPost">InPost</option>
  </select>

 

komentarz 16 września 2021 przez toko Dyskutant (8,030 p.)
w czym jest problem? w instrukcji warunkowej czy wysyłaniu maila?

PS ten kod który dodałeś jest w HTML, więc warto by było umieścić go jako HTML, a nie PHP
komentarz 16 września 2021 przez TheDarkSide Użytkownik (930 p.)
CZY TAKIE COŚ MA JAKIKOLWIEK SENS ?
<?php
$DHLmail = "dhl@lgmail.com"
$INPOSTmail = "inpost@lgmail.com"
IF OPTION VALUE=DHL send mailto ...{
<?php
$transportz = $_REQUEST['transportz'];
$transportdo = $_REQUEST['transportdo'];
$kurier = $_REQUEST['kurier'];
mail($email, "$transportz", "$transportdo"........);
}
?>
<form class="transport" action="dodaj.php" method="post" id="transport">
    <input type="text" name="transportz" placeholder="Transport z" required >
    <input type="text" name="transportdo" placeholder="Transport do" required >
	<br></br>
  <label for="Przewoźnik">Wybierz przewoźnika:</label>
  <select name="kurier" id="kurier"required>
    <option value="DHL">DHL</option>
    <option value="InPost">InPost</option>

 

komentarz 16 września 2021 przez toko Dyskutant (8,030 p.)

mi się wydaje, że ma. Nie powiem na 100%, czy zadziała, bo na codzień nie piszę w PHP. W zasadzie to sam próbuję to od niedawna ogarnąć.

<?php
$transportz = $_REQUEST['transportz'];
$transportdo = $_REQUEST['transportdo'];
$kurier = $_REQUEST['kurier'];
if($kurier == "DHL") {
	$email = "dhl@lgmail.com";
} else if($kurier == "InPost") {
	$email = "inpost@lgmail.com";
}
//stwórz zmienne subject i message, daj im odpowiednie wartości
mail($email, $subject, $message);
?>
<form class="transport" action="dodaj.php" method="post" id="transport">
    <input type="text" name="transportz" placeholder="Transport z" required>
    <input type="text" name="transportdo" placeholder="Transport do" required>
    <br></br>
  <label for="kurier">Wybierz przewoźnika:</label>
  <select name="kurier" id="kurier" required>
    <option value="DHL">DHL</option>
    <option value="InPost">InPost</option>
  </select>
  <input type="submit" value="OK">
</form>

 

3 odpowiedzi

+1 głos
odpowiedź 16 września 2021 przez qax Dyskutant (8,060 p.)

Plik index.html:

<form action="wyslij-email.php" method="post">
	<label for="kurier">Wybierz przewoźnika:</label>
	<select name="kurier" id="kurier" required>
		<option value="DHL">DHL</option>
		<option value="InPost">InPost</option>
	</select>
    <input type="submit" value="Wyślij e-mail">
</form>

Plik wyslij-email.php:

<?php
	if ($_POST['kurier'] == 'DHL') {
		mail('dhl@lgmail.com', 'Tytuł e-maila', 'Treść e-maila');
		echo 'Wysłano e-maila do DHL';
	} elseif ($_POST['kurier'] == 'InPost') {
		mail('inpost@lgmail.com', 'Tytuł e-maila', 'Treść e-maila');
		echo 'Wysłano e-maila do InPost';
	}
?>

 

komentarz 16 września 2021 przez qax Dyskutant (8,060 p.)

Można zaszaleć i wszystko zawrzeć w jednym pliku:

<?php
	echo '<!doctype html>
	<html>
	<head>
	<meta charset="utf-8">
  <title>Wysyłanie e-maila</title>
	</head><body>';
	if (isset($_POST['kurier'])) {
		if ($_POST['kurier'] == 'DHL') {
			mail('dhl@lgmail.com', 'Tytuł e-maila', 'Treść e-maila');
			echo 'Wysłano e-maila do DHL';
		} elseif ($_POST['kurier'] == 'InPost') {
			mail('inpost@lgmail.com', 'Tytuł e-maila', 'Treść e-maila');
			echo 'Wysłano e-maila do InPost';
		}
	} else {
		echo '<form action="" method="post">
		<label for="kurier">Wybierz przewoźnika:</label>
		<select name="kurier" id="kurier" required>
		<option value="DHL">DHL</option>
		<option value="InPost">InPost</option>
		</select>
		</form>';
	}
	echo '</body></html>'
?>

 

0 głosów
odpowiedź 18 września 2021 przez neo1020 Dyskutant (8,950 p.)

Może coś takiego ?

<?php
error_reporting(0);
$kurier = $_POST['kurier'];
$z = $_POST['transportz'];
$do = $_POST['transportdo'];

if(!empty($kurier)){
	if(mail($kurier, 'TRANSPORT', ' TRANSPORT')){
   echo "WYSŁANO";
}else{
   echo "UZUPEŁNIJ DANE";
}
}

?>
<form class="transport" action="aw.php" method="post" id="transport">
    <input type="text" name="transportz" placeholder="Transport z" required >
    <input type="text" name="transportdo" placeholder="Transport do" required >
    <br></br>
  <label for="Przewoźnik">Wybierz przewoźnika:</label>
  <select name="kurier" id="kurier"required>
    <option value="?">?</option>
    <option value="dhl@lgmail.com">DHL</option>
    <option value="inpost@lgmail.com">InPost</option>
	</select>
	<button type="submit">Zapisz</button>
</form>

<br><br>
<?php

echo $kurier . '<br>';
echo $z . '<br>';
echo $do . '<br>';
?>

 

0 głosów
odpowiedź 18 września 2021 przez VBService Ekspert (256,600 p.)
edycja 18 września 2021 przez VBService

Oto Moja propozycja, oczywiście css i komunikaty przykładowe.  wink

dodaj.php

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $transport_z  = (! empty($_POST['transport-z']))  ? $_POST['transport-z']  : null;
    $transport_do = (! empty($_POST['transport-do'])) ? $_POST['transport-do'] : null;
    $kurier       = (isset($_POST['kurier']))         ? (int)$_POST['kurier']  : null;

    if ($transport_z && $transport_do && is_numeric($kurier)) {
      $kurierzy = array(
         array('name'=>'DHL',    'email'=>'dhl@lgmail.com'), // index 0
         array('name'=>'InPost', 'email'=>'inpost@lgmail.com') // index 1
      );

      $subject = "Transport z {$transport_z} do {$transport_do}"; // Tytuł e-maila
      $body    = "Transport z {$transport_z} do {$transport_do}, 
                  kurier {$kurierzy[$kurier]['name']}"; // Treść email-a

      if (@mail($kurierzy[$kurier]['email'], $subject, $body)) {
        $info = "<span>Twój wybór:</span>
                 <span><span>     Transport z:</span> {$transport_z}</span>
                 <span><span>    Transport do:</span> {$transport_do}</span>
                 <span><span>          Kurier:</span> {$kurierzy[$kurier]['name']}</span>
                 <span><span>Wysłano email do:</span> {$kurierzy[$kurier]['email']}</span>";
      } else {
        $info = "<span class=\"info-error\">Wystąpił problem z wysłaniem email-a
                  do {$kurierzy[$kurier]['name']}!</span>";
      }
    } else {
      $info = '<span class="info-error">Wystąpił problem z formularzem!</span>';
    }
  } else {
    $info = '';
  }
?>
<!DOCTYPE html>
<html lang="pl">
  <head>
    <meta charset="utf-8">

    <style>
      * {
        box-sizing: border-box;
        font: 300 1em monospace;
      }
      input, label, select {
        display: block;
        margin: 0.5em 0;
        width: 16em;        
      }
      .info {
        margin-top: 2em;
      }
      .info span {
        display: block;
      }
      .info span span {
        display: inline-block;
        font-weight: bold;
      }
      .info-error {
        color: red;
      }
    </style>
  </head>
  <body>
    <form class="transport" action="" method="post" id="transport">
      <input type="text" name="transport-z" placeholder="Transport z" required>
      <input type="text" name="transport-do" placeholder="Transport do" required>
      <label for="kurier">Wybierz przewoźnika:</label>
      <select name="kurier" id="kurier" required>
        <option value="0" selected>DHL</option>
        <option value="1">InPost</option>
      </select>
      <input type="submit" value="Wykonaj">
    </form>

    <div class="info">
    <?php echo $info; ?>
    </div>
  </body>
</html>

 

Podobne pytania

0 głosów
0 odpowiedzi 427 wizyt
+1 głos
1 odpowiedź 610 wizyt
pytanie zadane 30 września 2021 w JavaScript przez Doge Gaduła (3,420 p.)
0 głosów
1 odpowiedź 729 wizyt
pytanie zadane 29 września 2021 w C i C++ przez polandonion Dyskutant (7,630 p.)

93,443 zapytań

142,434 odpowiedzi

322,691 komentarzy

62,805 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...