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

Jak w wysłać formularz na podany przez użytkownika e-mail?

Object Storage Arubacloud
0 głosów
225 wizyt
pytanie zadane 8 listopada 2017 w PHP przez Przemko Giszczyński Początkujący (380 p.)

To jest mój cały kod do dodawania faktur:

<?php

	session_start();

	if (!isset($_SESSION['zalogowany']))
	{
		header('Location: index.php');
		exit();
	}

	ini_set('display_errors','off');
	error_reporting( E_ALL );

  $id = $_SESSION['id'];
  $admin = $_SESSION['admin'];

?>
<!DOCTYPE HTML>
<html>
<head>
	<meta charset="utf-8" />
	<link rel="stylesheet" type="text/css" href="style.css">
	<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
	<title>Dodaj fakturę !</title>
</head>
<body>
	<div id="menu">
		<center>
	<ul id="menu-bar">
	 <li><a href="home.php">Strona Główna</a></li>
	 
	 </li>
	 <li><a href="moje.php">Dodawanie faktur</a>
	 	<ul>
      	<li><a href="dodaj.php">Dodaj</a></li>
		</ul>
		<li><a href="edytuj_d.php">Edytuj dane</a></li>
		<li><a href="logout.php">Wyloguj się!</a>
	  <ul>
	   
	   <li><a href="logout.php">Wyloguj!</a></li>
	  </ul>
	 </li>
	</ul>
		</center>
</div>

	<div class="container">

		<h2>Wystaw fakturę</h2>



	<?php

		require_once "connect.php";
		mysqli_report(MYSQLI_REPORT_STRICT);

		if ($_POST['dodaj']=="Dodaj fakturę!")
		{

			$wszystko_ok = 1;
			$tytul = $_POST['tytul'];
			$cena = $_POST['cena'];
			$ilosc = $_POST['ilosc'];
			$klient = $_POST['klient'];
			$suma = $cena * $ilosc;

			if ((strlen($tytul) < 3) || (strlen($tytul) > 30))
			{
				$wszystko_ok = 0;
				$_SESSION['e_tytul']="Tytuł może mieć długość od 3 do 30 znaków";
			}
			else
			{
				$tytul_ok = $tytul;
			}

			if($cena > 0)
			{
				if(!$cena_OK = filter_var($cena, FILTER_VALIDATE_FLOAT))
				{
					$_SESSION['e_cena'] = "Proszę podać cenę w formacie 00.00 !";
					$wszystko_ok = 0;
				}
				else
				{
					$cena_OK = sprintf("%.2f", $cena);
					if($cena_OK != $cena)
					{
						$_SESSION['e_cena'] = "Proszę podać cenę w formacie 00.00 !";
						$wszystko_ok = 0;
					}
				}
			}
			else
			{
				$_SESSION['e_cena'] = "Proszę podać cenę w formacie 00.00 !";
				$wszystko_ok = 0;
			}



			if ($wszystko_ok == 1)
			{

				try
				{
				$polaczenie = new mysqli($db_host, $db_user, $db_password, $db_name);
				$polaczenie ->query("SET NAMES 'utf8'");

				if ($polaczenie->connect_errno!=0)
				{
					throw new Exception(mysqli_connect_errno());
				}

				if ($polaczenie->query("INSERT INTO `oferty` (`id`, `tytul`, `ilosc`, `kontrahent`, `cena`, `data_wys`, `id_wys`, `id_kup`) VALUES (NULL, '$tytul_ok', '$ilosc', '$klient', '$cena_OK', CURRENT_TIMESTAMP, '$id', NULL)"))
				{
					$_SESSION['dodano'] = "Dodano fakturę !";
					header('Location: dodaj.php');
					exit();
				}
				else
				{
					echo "Nie udało się dodać";
				}



				}
				catch(Exception $e)
				{
					echo '<span class="error">Błąd serwera! Przepraszamy za niedogodności !</span>';
					echo '<br />Informacja developerska: '.$e;
				}

			}
		}

	?>

	<form class="form-container" method="post" enctype="multipart/form-data">

		<?php
			if (isset($_SESSION['dodano']))
			{
				echo '<div class="error">'.$_SESSION['dodano'].'</div>';
				unset($_SESSION['dodano']);
			}
		?>

		<div class="form-title">Produkt:</div> <br/>
		<input class="form-field" type="text" name="tytul" /><br />
		<?php
			if (isset($_SESSION['e_tytul']))
			{
				echo '<div class="error">'.$_SESSION['e_tytul'].'</div>';
				unset($_SESSION['e_tytul']);
			}
		?>

		<div class="form-title">Ilość:</div> <br/>
		<input class="form-field" type="text" name="ilosc" /><br />

		<div class="form-title">Cena:</div> <br />
		<input class="form-field" type="text" name="cena" /><br />
		<?php
			if (isset($_SESSION['e_cena']))
			{
				echo '<div class="error">'.$_SESSION['e_cena'].'</div>';
				unset($_SESSION['e_cena']);
			}
		?>
		
		<div class="form-title">Kontrahent:</div> <br/>
		<input class="form-field" type="text" name="klient" /><br />

		<br />

		<input class="submit-button" type="submit" name="dodaj" value="Dodaj fakturę!"/>

	</form>

	</div>

</body>
</html>

Chciałbym by wprowadzone dane zostały wysłane na maila podanego przez osobę, która wypełnia te dane. Problem w tym, że nie potrafię tego zrobić. Przejrzałem cały internet i nic. Nie ukrywam, że też nie jetem jakimś asem w języku php. Z tego, co wiem to funkcja mail() będzie mi pomocna w rozwiązaniu problemu. Tylko, że nie wiem zupełnie, jak to zrobić. Pomożecie?

1
komentarz 8 listopada 2017 przez HaKIM Szeryf (87,590 p.)

Może Cię zainteresować:

https://swiftmailer.symfony.com/docs/introduction.html

Właśnie wychodzę z domu, więc osobiście nie będe mógł udzielić, przez pewien czas, wskazówek. Ale z google'em powinieneś sobie poradzić.

Przykładowy config:

transport = (new Swift_SmtpTransport('smtp.gmail.com', 465, true))
        ->setUsername('xxx@gmail.com')
        ->setPassword('xxx')
        ->setEncryption('ssl')
        ->setAuthMode('login');

Sam mistrzem w tej bibliotece nie jestem, ledwo co 6h. temu udało mi się wysłać email poprzez swiftmailera. cheeky

Dodatkowo na Gmail musisz odblokować kilka opcji, dwie dokładnie, wszystko jest na stacku.

Powodzenia!

Ps. Nie wiem w jaki dokładny sposób chcesz wysyłać fakturę, acz tutaj jest coś o załącznikach:

https://swiftmailer.symfony.com/docs/messages.html#attaching-files

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 352 wizyt
0 głosów
1 odpowiedź 740 wizyt
0 głosów
1 odpowiedź 322 wizyt
pytanie zadane 28 grudnia 2017 w PHP przez svst Nowicjusz (240 p.)

92,624 zapytań

141,482 odpowiedzi

319,824 komentarzy

62,006 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...