
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)
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?
message sem spravil ale stále to píše chybu u řádku kterým sem posílal
Tak už dej sem spravený origo kód

Jakou chybu to v originálu píše
<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"; ?>
Parse error: syntax error, unexpected T_VARIABLE in /home/users/anonym/anonym.jecool.net/web/post.php on line 32
Dej sem kompletní kód ne jen nějakej bezcenej výcuc
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 ji
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
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:
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:
nesedí pocet zavorek a za if se nedela strednik
http://cz2.php.net/manual/en/control-structures.if .php
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";
}
?>
No když proměnnou $zprava použije dřív, než ji naplníš, tak se nediv.
V javascriptu to ale určitě nevadí....
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še funguje díky za váš čas...
Principy jsou naprosto stejné, i základní syntaxe je podobná. Člověk, který tvrdí, že ovládá JS (nebo libovolný jiný jazyk s C-like syntaxí), musí podobné chyby odhalit na první pohled.
Ano, JS a PHP je něco jiného. Některé konvence jsou ale stejné ve všech programovacích jazycích, např. že se proměnná nejdřív nadeklaruje (přiřadí hodnota) a pak použije. Ale to jako profík v javascriptu určitě víš.
Víš jak už napovídá název lamborghini a trabant je pouze dopravní prostředek, ikdyž je to něco jiného.