« 1 2 »
Autor Zpráva
Bones
Profil
URL: http://MojaDomena.sk/posli.php
Pise tam ze Parse error: syntax error, unexpected T_STRING in /hosting/MojaDomena/htdocs/kontakt/posli.php on line 22

Subor posli.php riadok 22 vizera takto:
Mail("ja@mojadomena.sk", $predmet, $odesilana_zprava, "From: " . $email);


Cely subor posli.php je tu:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="2;url=http://MojaDomena.sk">
<title>Kontakt</title>
</head>
<body>
<h1>Kontakt</h1>

<?
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];
$zprava2 = $_POST['zprava2'];

if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2")
{
$odesilana_zprava = $zprava."
Text: ".$zprava2."

Mail("ja@mojadomena.sk", $predmet, $odesilana_zprava, "From: " . $email);
echo "<p><strong>Email bol úspešne odoslaný. O chvílu budete presmerovaný na MojaDomena.sk</strong>.</p>";
}
else
{
echo "<p>Váš email sa <strong>nepodarilo odosla</strong>.</p>";
}
?>

</body>
</html> 
Matty
Profil
Bones
$odesilana_zprava = $zprava." Text: ".$zprava2.";
Chybí ti tam ukončení (nebo jak se tomu správně řiká).
Měsíček
Profil
Zkus tu podmínku udělat takhle:

if($predmet != "" && $email != "" && $zprava != "" && $spam == "2")


nebo

if(($predmet != "") and ($email != "") and ($zprava != "") and ($spam == "2"))


nebo

if(!empty($predmet) && !empty($email) && !empty($zprava) && $spam == "2")


jen tě upozorňuji, že se mi moc nelíbí =="2" nebude to mít nejspíše vliv, ale nechceš tam dát jen == 2 nebo spíše nějáký řetězec? třeba == "dva"? Zadalší ti tam chybí středník jak předemnou napsal tuším Matty, krom toho ti to říká i chybová hláška "String" chyba při parsování řetězce.
Bones
Profil
nejde ani jedno ani druhé ani tretie

$odesilana_zprava = $zprava." Text: ".$zprava2.";
Chybí ti tam ukončení (nebo jak se tomu správně řiká).

neni nieco tam? nejaka chyba?
Matty
Profil
Bones
neni nieco tam? nejaka chyba?
Vlastně taky. $zprava." Text: ".$zprava2."; - máš tam lichý počet uvozovek. Smaž ty poslední:
$zprava." Text: ".$zprava2;
Nox
Profil
proč si tu větu nepřečteš? ještě je to v tom tučně - chybí ti středníky na koncích 19. a 20. řádku
Nox
Profil
A tohle hoď do pryč
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];
$zprava2 = $_POST['zprava2'];
vertigo4
Profil
Bones
http://cz2.php.net/manual/en/function.mail.php
» podívej se kolik a především jaké má funkce mail parametry... (já tam žádné "from" nevidím...)
» funkci mail zapiš malými písmeny
Bones
Profil
ked to vimazem tak mi to neodosle na mail
Matty
Profil
Nox
$odesilana_zprava = $zprava." Text: ".$zprava2; - tohle celé je jedna proměnná, čili tam má být jen jeden středník.
Nox
Profil
vertigo4
From má dobře, je to argument Additional headers

Matty
Aj, jasny, pravda

Bones
ked to vimazem tak mi to neodosle na mail
tak samozřejmě musíš upravit zbytek proměnných

co ti to teďka po těch opravách píše?
vertigo4
Profil
Nox
Ok, beru zpět...
Bones
Profil
A este s tim posli.php je nieco lebo ked mi to dojde na mail tak mi tam nejde diakritika.. neviete ako to opravim?
Měsíček
Profil
Ano přidáš hlavičky .. Additional headers.
Bones
Profil
ako? čo?
Měsíček
Profil
<?php

.... tvůj skript

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

mail("ja@mojadomena.sk", $predmet, $odesilana_zprava, $headers);

?> 


V té hlavičce to označené je kódování, které se musí shodovat s kódováním (metatagu) + kódováním souboru.
Bones
Profil
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";

to mozem zmenit?
a co je to Cc a Bcc?
Měsíček
Profil
To je kopie .. můžeš to dát pryč .. stačí
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";

Samozřejmě, že e-mail můžeš změnit na svůj je to tam jen jako ukázka ..
Bones
Profil
dal som tam aj utf aj windows aj to iso som tam nechal a nejde nic
Měsíček
Profil
Ukaž celý skript.
Bones
Profil
index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Kontakt</title>
</head>
<body bgcolor="#222222">
<style>
body	{
	color:#EEEEEE;
}

input	{
	border-width:1px solid #777777;
	border-top:1px solid #777777;
	border-bottom:1px solid #777777;
	border-left:1px solid #777777;
	border-right:1px solid #777777;
	background-color:#111111;
	color:#FFFFFF;
}

textarea	{
	border-width:1px solid #777777;
	border-top:1px solid #777777;
	border-bottom:1px solid #777777;
	border-left:1px solid #777777;
	border-right:1px solid #777777;
	background-color:#111111;
	color:#FFFFFF;
}

select	{
	border-width:1px solid #777777;
	border-top:1px solid #777777;
	border-bottom:1px solid #777777;
	border-left:1px solid #777777;
	border-right:1px solid #777777;
	background-color:#111111;
	color:#FFFFFF;
}

table	{
	border-width:1px solid #777777;
	border-top:1px solid #777777;
	border-bottom:1px solid #777777;
	border-left:1px solid #777777;
	border-right:1px solid #777777;
	background-color:#212121;
	color:#FFFFFF;
}
</style>
<div align="center">
<h1><u>Kontaktný formulár</u></h1>
<font size=2>Vyplňte tento formulár ak chcete kontaktovať administrátora stránky ****</font>
<form action="posli.php" method="post">

<table width="700" height="350">
	<tr>
		<td><b>Váš email</b>:<br><font size="2"><i>Tu zadaj tvoj platný email<br>na ktorý odpovieme.</i></font></td>
		<td><input name="email" size="25" value="@"></td>
	</tr>
	<tr>
		<td><b>Vaše meno a priezvisko:</b><br><font size="2"><i>Tu zadaj tvoje meno<br>a priezvisko.</i></font></td>
		<td><input name="predmet" size="25" value=""></td>
	</tr>
	<tr>
		<td><b>Spam ochrana:</b><br><font size="2"><i>Tu napíš císlicu 2</i></font></td>
		<td><input name="spam" size="25"></td>
	</tr>
	<tr>
		<td><b>Typ otázky/problému:</b></td>
		<td>
<select name="zprava" size="1">
<option name="zprava" value="Sponzoring">Sponzoring
<option name="zprava" value="Výmena reklamy">Výmena reklamy
<option name="zprava" value="Subdoména">Subdoména
<option name="zprava" value="Iné">Iné
</select>	</td>
	</tr>
	<tr>
		<td><b>Text:</b><br><font size="2"><i>Tu napíš tvoju otázku podla<br>toho aký typ otázky si zvolil.</i></font></td>
		<td><textarea name="zprava2" rows="3" cols="40"></textarea></td>
	</tr>
</table>
<input type="submit" value="Odeslat">
</form>

</body>
</html> 


Posli.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="2;url=http://****">
<title>Kontakt</title>
</head>
<body>
<h1>Kontakt</h1>

<?
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];
$zprava2 = $_POST['zprava2'];

if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2")
{
$odesilana_zprava = $zprava."
Text: ".$zprava2;

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=windows-1250' . "\r\n";
$headers .= 'From: Kontaktný formulár <kontakt@****>' . "\r\n";


Mail("****", $predmet, $odesilana_zprava, "From: " . $email);
echo "<p><strong>Email bol úspešne odoslaný. O chvílu budete presmerovaný</strong>.</p>";
}
else
{
echo "<p>Váš email sa <strong>nepodarilo odoslať</strong>.</p>";
}
?>

</body>
</html> 


moju stranku som zacenzuroval (****)
oba subory su ulozene v UTF-8 kodovani
Měsíček
Profil
Takže jsou

1.) Uloženy jako UTF-8
2.) Mají stejný META tag - UTF-8
3.) Mají rozdílný Charset (windows-1250) => V tom bude chyba sjednoť to na UTF-8.

Jinak doufám, že si nepleteš kódováním souboru s kódováním dokumentu pomocí META tagu - jsou to rozdílné věci.
Matty
Profil
Bones
To je hezký, že sis tam deklaroval tu proměnnou header, ale je ti nanic, když ji nepoužiješ v té funkci mail().
Mail("****", $predmet, $odesilana_zprava, $header);
Bones
Profil
uz aj to je na utf-8 a stale mi to nejde
Bones
Profil
To je hezký, že sis tam deklaroval tu proměnnou header, ale je ti nanic, když ji nepoužiješ v té funkci mail()
čo?
vertigo4
Profil
Bones
čo?
tohle:
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=windows-1250' . "\r\n";
$headers .= 'From: Kontaktný formulár <kontakt@****>' . "\r\n";
...
Bones
Profil
co s tim? sak to mi tam kazal dat Měsíček
Matty
Profil
Bones
Přečti si ještě jednou tu moji odpověď, kde jsem ti i napsal řešení.
Měsíček
Profil
"sak to mi tam kazal dat Měsíček"

Nelži. Dal jsem ti $headers, ale ty tam máš jen $header.
Bones
Profil
sak ja tam mam headers
« 1 2 »
Toto téma je uzamčeno. Odpověď nelze zaslat.