Autor Zpráva
gully
Profil
Ahoj vsem,

resim zrejme jednoduchy problem, jak vlozit promennou do odkazu na stranku.
Na php strance mam definovanou a naplnenou promennou $zprava a potreboval bych obsah teto promenne vlozit do odkazu.
Konkretne mam na mysli nasledujici kod:
<a href="./email.php?text_zpravy=$zprava"><p align="center">- Zpět -</p></a>';

Proto bych se chtel zeptat, jestli byste mi mohli poradit, jak upravit tuto cast kodu, abych dostal do odkazu obsah promenne $zprava ?

Predem diky.
Timy
Profil
gully
<a href="./email.php?text_zpravy=<?php echo $zprava ?>"><p align="center">- Zpět -</p></a>

takhle?
peta
Profil
a nebo jeste takto, ale funkcnost zavisi na nastaveni hostingu
<?=$zprava?>
Anonymní
Profil *
<a href=\"./email.php?text_zpravy=$zprava\"><p align=\"center\">- Zpět -</p></a>';
nebo
<a href="email.php?text_zpravy<? echo "$zprava"; ?>"><p align="center">- Zpět -</p></a>';
krteczek
Profil
podle toho apostrofu a středníku na konci tipuji žese jedná o php...


echo '<a href="./email.php?text_zpravy=' . $zprava . '">- Zpět -</a>';

ten odstavec v odkazu být nemůže, protože odkaz je řádkový a odstavec blokový prvek
pokud chceš aby se odkaz choval jako nějaká plocha, tak použij css:
a {display:block; width:60px; height:30px}
toto udělá z odkazu tlačítko velikosti 60x30px
krteczek
gully
Profil
Diky vsem,

echo '<a href="./email.php?text_zpravy=' . $zprava . '">- Zpět -</a>';

tohle reseni jsem pouzil i s doporucenym css.

Jen jeste jedna vec, a sice jde o ten text, ktery chci vratit. Pokud je text e-mailu delsi, nedostanu ho do toho dkazu cely - jen jeho cast, i kdyz je v promenne $zprava. Nevite, v cem muze byt problem?

Pro uplnost posilam cely skript:



<?php

session_start();

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Poslat email</title>
<link rel="stylesheet" type="text/css" href="styly.css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>
<body background="images/background.gif">
<
<?php
$kontrola=$_POST["kontrola"];
$zprava = Trim($_POST['zprava']);
if(IsSet($kontrola))
if($kontrola==$_SESSION['znak'])
{
$email = 'offline.verze@gmail.com';
$zprava = StrTr($zprava,"\x8A\x8D\x8E\x9A\x9D\x9E",
"\xA9\xAB\xAE\xB9\xBB\xBE");
$zprava = Base64_Encode($zprava); // text do Base64
$hlavicky .= "MIME-Version: 1.0\n".
"Content-Type: text/plain; charset=\"iso-8859-2\"\n".
"Content-Transfer-Encoding: base64\n";
$delka = strlen($zprava);
if ($delka > 15)
$vysledek = mail($email, 'Umíme ve Flashi: email', $zprava, $hlavicky);
if ($delka < 16)
echo '<p align="center"><font color="#FF0000">Vaše zpráva obsahuje příliš málo znaků.</font></p><a href="javascript: history.go(-1);"><p align="center"></p><p align="center">- Zpět -</p></a>';
else
if ($vysledek)
echo '<p align="center">Vaše zpráva byla úspěšně odeslána autorovi.</p><a href="javascript: window.close();"><p align="center"></p><p align="center">- Zavřít okno -</p></a>';
else
echo '<p align="center"><font color="#FF0000">Vaše zpráva nebyla odeslána, nastala neznámá chyba.</font></p>';
}
else
{
echo '<p><center><font color="#FF0000">Zadali jste špatný kontrolní kód. Vaše zpráva nebyla odeslána!';
echo '<a href="./email.php?text_zpravy=' . $zprava . '">- Zpět -</a>';
}
?>
</body>
</html>
gully
Profil
Tak jsem zjistil, ze je problem v nekterych znacich (v uvozovkach), takze by asi stacilo ten text nejak preformatovat . Ale nevim - mozna rikam nesmysly ...
mysha00
Profil *
Do $_GET[] / (adresního řádku) se vejde jen omezený počet znaků. Většinou jen pro parametry apod. Pro odesílání textu zprávy a jiné delší věci apod. použijte metodu POST, tj. mimo adresní řádek.

Místo klasického tagu A použitje například jednoduchý formulář s metodou POST se skrytýmy tlačítky které odešlou onu proměnou, ale nebude to přes adresní řádek.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0