Member 14463408 Ответов: 3

Синтаксическая ошибка, неожиданный T_ELSE, ожидание '}'


Пожалуйста, помогите мне исправить это сообщение об ошибке, которое я получил. Он говорит, что ошибка связана со строкой 9. Вот код.

<?php

$contacts = array("entered_email_adress@yourdomain.com", "Zoho_CRM@yourdomain.com", "Mail_Chimp@yourdomain.com");

foreach($contacts as $contact) 
{
	$to = $contact;

	else if($contact == "entered_email_adress@yourdomain.com")
	{
		$subject = 'Web Form Inquiry';
		$subject = 'the subject';
	}
	else if($contact == "Zoho_CRM@yourdomain.com")
	{
		$subject = 'the subject';
		$message = "First Name" + ", " + "Last Name", + " + " "Company", + ", " + "Email"
	}
	else if($contact == "Mail_Chimp@yourdomain.com")
	{
		$subject = 'the subject';
		$message = "First Name" + ", " + "Last Name"
	}

	mail($to, $subject, $message, $headers);
}

?>


Что я уже пробовал:

Я искал решение с тех пор, как получил сообщение об ошибке.

3 Ответов

Рейтинг:
2

phil.o

Вы можете попробовать заменить каждый из них else if с elseif.
Это утверждение не имеет пробела между словами в PHP.


0x01AA

Также a 5, похоже, нуждается в php elseif

phil.o

Да, но первый раз я пропустил.

Рейтинг:
2

0x01AA

Вы начинаете с else if

else if($contact == "entered_email_adress@yourdomain.com")

Я думаю, что это должно быть больше, только Ан if
if($contact == "entered_email_adress@yourdomain.com")

Примечание: у меня нет опыта работы с php...

[Редактировать]
Подумайте также о том, если ни одно условие не совпадает. В этом случае вам не стоит звонить mail?


Рейтинг:
1

jsc42

У вас есть 4 оператора "else if" , но нет начального оператора "if".
Ваш код должен выглядеть примерно так ...

<?php

$contacts = array("entered_email_adress@yourdomain.com", "Zoho_CRM@yourdomain.com", "Mail_Chimp@yourdomain.com");

foreach($contacts as $contact) 
{
	$to = $contact;

	if (some test)
	{
		do_something();
	}
	else if($contact == "entered_email_adress@yourdomain.com")
	{
		... as in your original code

или, возможно, то, что вы намеревались ...
<pre><?php

$contacts = array("entered_email_adress@yourdomain.com", "Zoho_CRM@yourdomain.com", "Mail_Chimp@yourdomain.com");

foreach($contacts as $contact) 
{
	$to = $contact;

	if($contact == "entered_email_adress@yourdomain.com")    // With just 'if', not with 'else if'
	{
		... as in your original code


0x01AA

Объяснил лучше меня, так что 5

Member 14463408

Спасибо вам за ваше решение, и да, удаление else, похоже, исправило ошибку в строке 9, но теперь у меня есть новое (синтаксическая ошибка, неожиданное ',') сообщение, относящееся к строке 17. Что-нибудь еще я забыл починить?

0x01AA

См решение Фил.о'. использовать elseif вместо else if