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

Problem z kodem błąd z phpmailerem

0 głosów
451 wizyt
pytanie zadane 3 kwietnia 2016 w PHP przez saliwan22 Gaduła (3,110 p.)
edycja 3 kwietnia 2016 przez saliwan22

Witam!

Napisałem dziś troszkę kodu i mimo starań nie działa wyświetla błąd w 54 lini:

<?php

	session_start();
	
	if ((!isset($_POST['emailc'])) || (!isset($_POST['kodec'])))
	{
		header('Location: index.php');
		exit();
	}

	require_once "connect.php";
	mysqli_report(MYSQLI_REPORT_STRICT);
	
	
	try 
	{
		$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
		
		if ($polaczenie->connect_errno!=0)
		{
			throw new Exception(mysqli_connect_errno());
		}
		else
		{
			$emailb = $_POST['emailc'];
			$kodeb =  $_POST['kodec'];
			
			$emialb = htmlentities($email, ENT_QUOTES, "UTF-8");
			$kodeb = htmlentities($kodeb, ENT_QUOTES, "UTF-8");
			
			if ($rezultat = $polaczenie->query(
			sprintf("SELECT * FROM uzytkownicy WHERE emial='%s' AND rkode='%s'",
			mysqli_real_escape_string($polaczenie,$emailb),
			mysqli_real_escape_string($polaczenie,$kodeb))))
			{
				$ilu_userow = $rezultat->num_rows;
				if($ilu_userow>0)
				{
					$wiersz = $rezultat->fetch_assoc();
					
					if (password_verify($kodeb, $wiersz['rkode']))
					{
						$newpassword = 'string openssl_random_pseudo_bytes ( int $length [, bool &$crypto_strong ] )';
						
						if ($polaczenie->query("INSERT INTO uzytkownicy VALUES (NULL, NULL, NULL, NULL, NULL, '$newpassword')"))
						{
							$_SESSION['udaneprzypomnienie'] = true;

 require("phpmailer/class.phpmailer.php");
                            $mail = new PHPMailer();
                            $mail->PluginDir = "phpmailer/";
                            $mail->From = "---";
                            $mail->FromName = "---";
                            $mail->Host = "----";
                            $mail->Mailer = "smtp";
                            $mail->Username = "----";
                            $mail->Password = "-----";
                            $mail->SMTPAuth = true;
							$mail->Port = 25;
							$mail->SetLanguage("pl", "phpmailer/language/");
							$mail->Subject = "Prośba o odzyskanie hasła";
							$mail->Body = "Witamy!</br></br>W związku z prośbą o przypomnienie hasła wysyłamy nowe.</br>Nowe hasło: '.$newpassword.'</br></br></br></br></br></br> Ta wiadomość została wygenerowana autoatycznie i nie należy na nią odpowiadać!";
							$mail->AddAddress("$emailb","użytkownik");
							if($mail->Send())
							{
								$_SESSION['sended'] = "Email został wysłany sprawdź swoją skrzynkę pocztową. Wróć na stronę główną klikając tutaj i zaloguj się!";
							}
							else
							{
								$_SESSION['dsended'] = "'E-mial nie został wysłany powód:'. '$mail->ErrorInfo'";
							}
							$mail->ClearAddresses();
							$mail->ClearAttachments();
							
							unset($_SESSION['perror']);
							$rezultat->free_result();
							header('Location: podsumowanie.php');
							}
							else
							{
								throw new Exception(mysqli_connect_errno());
							}
						
					}
					else 
					{
						
					$_SESSION['perror'] = '<span style="color:red">Nieprawidłowy emial lub ciąg znaków!</span>';
					header('Location: index.php');
					
					}
					
				} else {
					
					$_SESSION['perror'] = '<span style="color:red">Nieprawidłowy emial lub ciąg znaków!</span>';
					header('Location: index.php');
					
				}
				
			}
			else
			{
				throw new Exception($polaczenie->error);
			}
			
			$polaczenie->close();
		}
	}
	catch(Exception $e)
	{
		echo '<span style="color:red;">Bład serwera! Przepraszamy za niedogodności i prosimy o wizytę w innym terminie!</span>';
		echo '<br />Informacja developerska: '.$e;
	}

?>

 

kod po małym edicie dalej nie działa występuje błąd o treści:


exception 'Exception' with message 'Nieznana kolumna 'emial' w where clause' in /home/morden/domains/morden.ayz.pl/public_html/remind.php:102 Stack trace: #0 {main}

4 odpowiedzi

+1 głos
odpowiedź 3 kwietnia 2016 przez writen Nałogowiec (29,060 p.)
wybrane 3 kwietnia 2016 przez saliwan22
 
Najlepsza

kod po małym edicie dalej nie działa występuje błąd o treści:


exception 'Exception' with message 'Nieznana kolumna 'emial' w where clause' in /home/morden/domains/morden.ayz.pl/public_html/remind.php:102 Stack trace: #0 {main}

A więc rozumiesz chociaż ten komunikat? Zakładam, że kolumna powinna się nazywać email, a nie emial.

Postaraj się też sam przeanalizować błędy, które ci się wyświetlają. To naprawdę nic trudnego.

komentarz 3 kwietnia 2016 przez saliwan22 Gaduła (3,110 p.)
Wielkie dzięki!

Sorry że tak bezczelnie wykorzystuję ale wiesz po kilku godzinach siedzenia nie widzę nawet głupiego błędu...
1
komentarz 3 kwietnia 2016 przez writen Nałogowiec (29,060 p.)
Nie ma problemu. Ja zawsze pomagając komuś staram się też go zachęcić do samodzielnej analizy problemu, bo po prostu niektórzy tego nie robią. Powodzenia w dalszej pracy :)
+1 głos
odpowiedź 3 kwietnia 2016 przez SyntaxError Pasjonat (17,170 p.)
Myślę, że $mail->from powinien zawierać adres nadawcy. ;)

EDIT: Teraz patrzę: ścieżka do require powinna być w ciapkach jako string przekazana.
komentarz 3 kwietnia 2016 przez saliwan22 Gaduła (3,110 p.)
Wiem ale nie chciałem go pokazywać on normalnie tam jest.
+1 głos
odpowiedź 3 kwietnia 2016 przez writen Nałogowiec (29,060 p.)
Może powiesz jaka jest treść tego błędu?

I czy na pewno nie widzisz, że w linii 54 jest coś nie tak? Na przykład brakuje cudzysłowu? :p
0 głosów
odpowiedź 3 kwietnia 2016 przez saliwan22 Gaduła (3,110 p.)
No to jedziemy do lini 67 Parse error: syntax error, unexpected '$newpassword' (T_VARIABLE)

(jak już wspominałem w kodzie jest na pewno więcej błędów)
1
komentarz 3 kwietnia 2016 przez writen Nałogowiec (29,060 p.)
edycja 3 kwietnia 2016 przez writen

Brakuje takich kropeczek, które służą do łączenia zmiennych, itd. - inaczej - nie użyłeś operatora konkatenacji.

'.$newpassword.'

W sumie to zdawało mi się, że cały string masz w apostrofach. Więc jeśli jednak jest w cudzysłowie, to powinno być ok. Poczytaj tutaj https://php-kurs.gitbooks.io/phpkurs/content/czesc-i/Zmienne/Typy%20zmiennych/String.html

Podobne pytania

0 głosów
0 odpowiedzi 181 wizyt
pytanie zadane 8 września 2017 w PHP przez `Krzychuu Stary wyjadacz (13,940 p.)
0 głosów
0 odpowiedzi 508 wizyt
pytanie zadane 3 sierpnia 2021 w PHP przez EmilB Obywatel (1,060 p.)
0 głosów
0 odpowiedzi 394 wizyt
pytanie zadane 11 marca 2018 w JavaScript przez Ester315 Nowicjusz (170 p.)

93,733 zapytań

142,669 odpowiedzi

323,287 komentarzy

63,293 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...