Zapomenuté heslo - neodešle mail – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zapomenuté heslo - neodešle mail – PHP – Fórum – Programujte.comZapomenuté heslo - neodešle mail – PHP – Fórum – Programujte.com

 

Kapy0
Newbie
30. 3. 2016   #1
-
0
-

   

<?php 
error_reporting(0);
if($_POST['submit']=='Send')
{
//mail,pripojeni,předmět,generace hesla,generace hesla
$email=$_POST['email'];
$con=mysqli_connect("localhost","root","","db");
$subject = 'noreply';
$password = "";
$charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

// vytvoří heslo
 for($i = 0; $i < 8; $i++)
{
    $random_int = mt_rand();
    $password .= $charset[$random_int % strlen($charset)];
}
// echo $password, "\n"; - vymazat jenom pro kontrolu..
echo $password, "\n";

// Zkontroluje připojení
if (mysqli_connect_errno())
  {
  echo "Nepodarilo se pripopjit do MySQL: " . mysqli_connect_error();
  }
$query = mysqli_query($con,"select * from hrac where email='$email'")  // hráče s mailem
or die(mysqli_error($con)); 

 if (mysqli_num_rows ($query)==1) 
 {
 // převede do md5 + odešle mail
$heslo = md5($password);
$message="Nove heslo pro tvuj ucet: $password";
mail($email, $subject, $message);
echo 'Email odeslán!';
$query2 = mysqli_query($con,"update hrac set heslo='$heslo' where email='$email' ")
or die(mysqli_error($con)); 
}
else
{
// Chyba
echo 'Žádný takový hráč s tímto emailem neexistuje!';

}}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta name="generator" content="PSPad editor, www.pspad.com">

  </head>
  <body>
<form action="forgot.php" method="post">
Zadej svůj email: <input type="text" name="email">
<input type="submit" name="submit" value="Send">
</form>
  </body>
</html>

Vůbec nevím proč mi to nechce odeslat email..zkoušel jsem místo $email zadat svojí mailovou adresu a furt to nechce odeslat..jak na localhost tak i na webhostingu.

Jinak script plní funkci plně jak má..jen teda neodešle se mail to je hlavní problém.

Nahlásit jako SPAM
IP: 2a00:1028:83a6:5fde:edd1:...–
peter
~ Anonymní uživatel
3981 příspěvků
31. 3. 2016   #2
-
0
-

script plní funkci plně jak má ... neodešle se mail
Takze vlastne je spatne.

Zkus pouzit google a najdi si dalsi priklady pro odeslani mailu. Jestli ti to nikdy nefungovalo, tak nemuzes ocekavat, ze to fungovat bude. Predpokladam
- tvuj localhost / hosting nepodporuje mail funkci nebo k ni nema prirazeny program
- nebo mas v kodu chybu
Ani nekontrolujes stav funkce mail, zda funguje ci ne.

http://php.net/manual/en/function.mail.php
Example 1 ti funguje?
Ex 2 ti funguje?
Ex 4?
171 bimal at sanjaal dot com?
4 jimmytrojan009 at gmail dot com - vypis z php.ini (phpinfo();), prirazeni programu a nastaveni smtp ( ini_set("SMTP", "smtp.mujserver.cz");   )

Ja mam treba ted na odesilani mailu tuto funkci 

<?php
class classMail
{
public $uid;
public $sep_body;
public $sep_line;
public $head;
public $subj;
public $body;
public $tmp = array();
//private $log = null;

	function __construct()
	{
	$this->newMail();
	}

	function __destruct()
	{
	}

	public function newMail()
	{
	$this->tmp = array(
		'head'=>array(),
		'body'=>array()
		);
	$this->tmp['head'] = array(
		'from' => '',
		'to'   => '',
		'subj' => '',
		'notify' => false
		);
	}

//	function clear()
//	{
//	$this->head = array();
//	$this->body = array();
//	}

	public function addFrom($str)	{$this->tmp['head']['from'] = $str;}
	public function addTo($str)	{$this->tmp['head']['to']   = $str;}
	public function addSubj($str)	{$this->tmp['head']['subj'] = $str;}
	public function addBody($arr)
		{
		$pos  = strrpos($arr['path'],'/');
		$arr['file'] = $pos!==false ? substr($arr['path'],$pos+1) : $arr['path'];
		$this->tmp['body'][] = $arr;
		}
	public function addFile($path,$type='',$mime='')
		{
		$type = $type=='' ? 'file' : $type;
		$this->addBody(array('type'=>$type,'path'=>$path,'file'=>'','text'=>'','mime'=>$mime));
		}
	public function addText($msg,$path='')
		{
		$this->addBody(array('type'=>'text','path'=>$path,'file'=>'','text'=>$msg));
		}
	public function addHtml($msg,$path='')
		{
		$this->addBody(array('type'=>'html','path'=>$path,'file'=>'','text'=>$msg));
		}

	private function mailAddBody($item)	//$type='',$path='',$filename='',$message='',$mime=''
	{
	$body = array();
	if ($item['type']!='')
		{
		switch ($item['type'])
			{
			case 'text':
				{
				$mime   = 'text/plain';
				$body[] = 'Content-type:'.$mime.'; charset=utf-8';	//'Content-type: text/html; charset=iso-8859-1',
				$body[] = 'Content-Transfer-Encoding: quoted-printable';
				$body[] = '';
				if ($item['text']!='')
					{
					$body[] = $item['text'];
					}
				elseif (file_exists($item['path']))
					{
					$body[] = chunk_split(base64_encode(file_get_contents($path)));
					}
				else	{return;}
				break;
				}
			case 'html':
				{
				$mime   = 'text/html';
				$body[] = 'Content-type:'.$mime.'; charset=utf-8';
				$body[] = '';
				if ($item['text']!='')
					{
					$body[] = $item['text'];
					}
				elseif (file_exists($item['path']))
					{
					$body[] = chunk_split(base64_encode(file_get_contents($path)));
					}
				else	{return;}
				break;
				}
			case 'file':
				if (file_exists($item['path']))
					{
					$mime = $item['mime']=='' ? 'application/octet-stream' : $item['mime'];
					$body[] = 'Content-Type:'.$mime.'; name="'.$item['file'].'"';
					$body[] = 'Content-Transfer-Encoding: base64';
					$body[] = 'Content-Disposition: attachment; filename="'.$item['file'].'"';
					$body[] = '';
					$body[] = chunk_split(base64_encode(file_get_contents($item['path'])));
					}
				else	{return;}
				break;
			default: return;
				break;
			}
		}
	$this->body[] = $this->sep_body;
	$this->body[] = implode($this->sep_line, $body);
	$this->body[] = '';
	$this->body[] = '';
	}

	// $head = array('from'=>'','to'=>'','notify'=>true/false)
	private function createMail($head=array(),$body=array())
	{
	$this->uid = '--NextPart uid='.substr(sha1(uniqid(time())),0,20);
	$this->sep_body = '--'.$this->uid;
	$this->sep_line = PHP_EOL;	// "\r\n";
	$this->head = array();
	$this->head[] = 'From: '.$head['from'];
	$this->head[] = 'Reply-To: '.$head['from'];
	if ($head['notify']==true)
		{
		$this->head[] = 'Disposition-Notification-To: '.$head['from'];
		$this->head[] = 'Return-Receipt-To: '.$head['from'];
	//	$this->head[] = 'X-pmrqc: 1';
	//	$this->head[] = 'X-Confirm-Reading-To: '.$mail['from'];
	//	$this->head[] = 'Delivery-Status-Notification: '.$mail['from'];
		}
	$this->head[] = 'MIME-Version: 1.0';
	$this->head[] = 'X-Mailer: PHP/' . phpversion();
	$this->head[] = 'Content-Type: multipart/mixed; boundary="'.$this->uid.'"';
	$this->head[] = 'This is a multi-part message in MIME format.';
	$this->subj   = "=?UTF-8?B?".base64_encode($head['subj'])."?=";
	$this->body   = array();
//var_dump($body);
	foreach($body as $item)
		{
		$this->mailAddBody($item);
		}
	$this->body[] = $this->sep_body;
	$this->head = implode($this->sep_line, $this->head);
	$this->body = implode($this->sep_line, $this->body);
	//var_dump($this->head,$this->subj,$this->body);
	}
	
	public function send()
		{
		$head = $this->tmp['head'];
		if (       isset($head['from']) && $head['from']!==""
			&& isset($head['to'  ]) && $head['to'  ]!==""
			&& isset($head['subj']) && $head['subj']!==""
			&& count($this->tmp['body'])>0)
			{
			$this->createMail($head,$this->tmp['body']);
			return mail($head['to'], $head['subj'], $this->body, $this->head);
			}
		}
	}

	                                    	
?>
Nahlásit jako SPAM
IP: 2001:718:2601:26c:9100:26...–
Kapy0
Newbie
1. 4. 2016   #3
-
0
-

Děkuji už mi to jede bylo to hostingem..Script je napsán správně ještě včera mi jel,ale teďka hází chybu: Parse error: syntax error, unexpected T_LOGICAL_OR jedná se o řádek: 27..nechápu proč mi to házi

Nahlásit jako SPAM
IP: 77.48.110.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

Podobná vlákna

Zapomenuté heslo. — založil Roman

E-mail se neodešle — založil Tase

Heslo — založil Aliande

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý