Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PhP skoro fukční kod

ZDravím :) jdělám jen tak pro sebe na web formulář pro odesílání otázek atd na svůj mail... bohužel odesílá jen 1 a 4 input a text area.. kod posílám :

PHP

<?php
$to="my mail";
$subject="Stranky";
$message="
 




if(isset($_POST[1])){$1 = htmlspecialchars($_POST[meno]);} // 1
if(isset($_POST[2])){$2 = htmlspecialchars($_POST[nadpis]);} // 2
if(isset($_POST[4])){$4 = htmlspecialchars($_POST[zprava]);} // 4
if(isset($_POST[3])){$3 = htmlspecialchars($_POST[4]);} // 3
if(isset($_POST[submit])){$submit = htmlspecialchars($_POST[submit]);} // příjme submit
 
$headers="From: 00 web <$email>\n"; 
$headers.="Content-Type: text/html; charset=windows-1250\n"; 

if(isset($submit) && isset($1) && isset($2) && isset($4) && isset($3))

 $4 = (StrTr($zprava, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz"));
 
if ( Mail("my mail", $1, $2, $4, $3))
 echo "Mail byl odeslan";
else
 echo "Mail se nepodařilo odeslat";

?>

a HTML:

<form action="post.php" method="post">
 1 <input name="1"><br>  // odesílá
 2: <input name="2"><br> //ne
 3: <input name="3"><br> //ne
 4: <textarea name="4"></textarea><br>  //odesílá
 <input type=submit value="Odeslat" type="submit" >
 </form>

potřeboval bych sporovznit eště 2 a 3 :) nevidím nikde proč by to nemnělo fungovat..díky
Změna kategorie, původně: Internet (Kurt)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
nevidím nikde proč by to nemnělo fungovat Nevidím nikde proč by to mělo fungovat, když ten kód nejd…
ERASER 24.08.2012 19:14
ERASER
message sem spravil ale stále to píše chybu u řádku kterým sem posílal
Sp1k3e 24.08.2012 20:19
Sp1k3e
Bez originálního kódu ti těžko někdo poradí. Ale jak chceš. Tak už dej sem spravený origo kód :!: J…
ERASER 24.08.2012 20:35
ERASER
<?php $to="lol@seznam.cz"; $subject="Stranky"; $message=" <html> <head><title></title></head> <body…
Sp1k3e 24.08.2012 20:44
Sp1k3e
Parse error: syntax error, unexpected T_VARIABLE in /home/users/anonym/anonym.jecool.net/web/post.ph…
Sp1k3e 24.08.2012 20:46
Sp1k3e
Dej sem kompletní kód ne jen nějakej bezcenej výcuc :!:
ERASER 24.08.2012 20:59
ERASER
jinak díky ale vy tu řešíte ty nejmenší problémy...se mi zdá že mám asi závorku navíc :D ale nevidím…
Sp1k3e 24.08.2012 21:30
Sp1k3e
Chtěl bych vidět ty hodinky v Javascriptu, tam je to také o závorkách a o spojování proměnných, to s…
marekdrtic 24.08.2012 21:36
marekdrtic
3-[ píše chybu zase v if ( mail("lol@seznam.cz",$predmet,$message,$headers); už nevím... dal jsem vš…
Sp1k3e 24.08.2012 21:45
Sp1k3e
Tvrdíš, že skvěle ovládáš Javascript, tak si představ, že bys tohle napsal v JS. Co by tam bylo za c… nový
Wikan 24.08.2012 21:54
Wikan
nesedí pocet zavorek a za if se nedela strednik http://cz2.php.net/manual/en/control-structures.if .… nový
ERASER 24.08.2012 21:54
ERASER
Ne, nedal jsi to přesně jak jsem napsal. Opět jsi zmrvil závorky. Navíc odkdy se po podmínce dává st… nový
marekdrtic 24.08.2012 21:55
marekdrtic
díky..konečně to znovu posílá email ale zase odesílá jen -Jmeno: -Zprava: tu je znovu celý kod <?p… nový
Sp1k3e 24.08.2012 22:07
Sp1k3e
No když proměnnou $zprava použije dřív, než ji naplníš, tak se nediv. nový
Wikan 24.08.2012 22:10
Wikan
V javascriptu to ale určitě nevadí.... ;-) nový
host 24.08.2012 22:12
host
Víš jak už napovídá název php a JS je něco jiného...K tématu.: Ano díky stačilo přehodit pozice.. vš… nový
Sp1k3e 24.08.2012 22:15
Sp1k3e
Principy jsou naprosto stejné, i základní syntaxe je podobná. Člověk, který tvrdí, že ovládá JS (neb… nový
Wikan 24.08.2012 22:18
Wikan
Ano, JS a PHP je něco jiného. Některé konvence jsou ale stejné ve všech programovacích jazycích, nap… nový
host 24.08.2012 22:21
host
Víš jak už napovídá název php a JS je něco jiného Víš jak už napovídá název lamborghini a trabant j… poslední
ERASER 24.08.2012 22:24
ERASER

nevidím nikde proč by to nemnělo fungovat

Nevidím nikde proč by to mělo fungovat, když ten kód nejde ani spustit. Co máš uloženého v proměnné na řádku číslo 4 v proměnný $message?

Bez originálního kódu ti těžko někdo poradí. Ale jak chceš.

Tak už dej sem spravený origo kód :!:
Jakou chybu to v originálu píše :?:

Měl by sis to sjednotit podle toho, jak to máš pojmenované v HTML

<input type=submit value="Odeslat" type="submit" >
if(isset($_POST[submit])){$submit = htmlspecialchars($_POST[submit]);} // příjme submit
if(isset($submit) && isset($1) && isset($2) && isset($4) && isset($3))

(TO byly hrubé chyby!)

<?php
$to="lol@seznam.cz";
$subject="Stranky";
$message="

<html>
<head><title></title></head>
<body>
</body>
</html>";

if(isset($_POST[meno])){$meno = htmlspecialchars($_POST[meno]);} // příjme meno
if(isset($_POST[email])){$email = htmlspecialchars($_POST[email]);} // příjme email
if(isset($_POST[predmet])){$predmet = htmlspecialchars($_POST[predmet]);} // příjme predmet
if(isset($_POST[zprava])){$zprava = htmlspecialchars($_POST[zprava]);} // příjme zprava
if(isset($_POST[submit])){$submit = htmlspecialchars($_POST[submit]);} // příjme submit

$headers="From: lol\n";
$headers.="Content-Type: text/html; charset=windows-1250\n";

if(isset($meno) && isset($email) && isset($predmet) && isset($zprava) && isset($submit))

$zprava = (StrTr($zprava, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz"))

if ( Mail("lol@seznam.cz", $meno, "From: "$email, $zprava, $predmet, $zprava) )
echo "Mail byl odeslán";
else echo "Mail se nepodařilo odeslat"; ?>

Chtěl bych vidět ty hodinky v Javascriptu, tam je to také o závorkách a o spojování proměnných, to se nemění, jen tam jsou lehké nuance. Takže se pokusím pomoct ještě jednou. Jestli mě i po tomhle odpálkuješ, tak je evidentní, že pomoc nechceš a že ses tu potřeboval pouze podělit o to, že seš master v JS

Mail("lol@seznam.cz", $meno, "From: "$email, $zprava, $predmet, $zprava)

Pokud ses již podíval na php.net (velká výhoda PHP, narozdíl od JS má obsáhlou dokumentaci na jednom místě), tak tam uvidíš tohle:

mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

Už na první pohled je vidět, že tam máš nějak moc parametrů. Pokud se tedy snažíš odeslat email uživateli lol@seznam.cz na email $email s předmětem $predmet a textem, kde budou nějaké údaje, tak by to mělo vypadat asi takto:

$headers = 'From: '.$email. "\r\n" .
'Reply-To: '.$email. "\r\n" .
'X-Mailer: PHP/' . phpversion();

$message = "Jmeno: ".$jmeno."\n\n"."Zprava: ".$zprava;

mail("lol@seznam.cz",$predmet,$message,$headers);

Ne, nedal jsi to přesně jak jsem napsal. Opět jsi zmrvil závorky. Navíc odkdy se po podmínce dává středník? Ten se nedává ani v Javascriptu.

if( mail("lol@seznam.cz",$predmet,$message,$headers) )
{
echo "ok";
}
else
{
echo "něco je špatně";
}

Tohle jsou absolutní základy programování. Tohle tě čeká v PHP, JS, C++, Javě, Pythonu, Visual Basicu, prostě všude.

díky..konečně to znovu posílá email ale zase odesílá jen -Jmeno: -Zprava:

tu je znovu celý kod

<?php
$to="lol@seznam.cz";
$subject="Stranky";
$message = "Jmeno: ".$meno."\n\n"."Zprava: ".$zprava; // odesílá jen Jmeno , Zprava bez textu i když je vyplněný

if(isset($_POST[meno])){$meno = htmlspecialchars($_POST[meno]);}
if(isset($_POST[email])){$email = htmlspecialchars($_POST[email]);}
if(isset($_POST[predmet])){$predmet = htmlspecialchars($_POST[predmet]);}
if(isset($_POST[zprava])){$zprava = htmlspecialchars($_POST[zprava]);}
if(isset($_POST[submit])){$submit = htmlspecialchars($_POST[submit]);}

$headers = 'From: '.$email. "\r\n" .
'Reply-To: '.$email. "\r\n" .
'X-Mailer: PHP/' . phpversion();

if(isset($meno) && isset($email) && isset($predmet) && isset($zprava) && isset($submit));

if( mail("lol@seznam.cz",$predmet,$message,$headers) )
{
echo "email byl odeslán";
}
else
{
echo "Email se nepodařilo odeslat";
}
?>

Zpět do poradny Odpovědět na původní otázku Nahoru