Autor Zpráva
pohoda
Profil
Ako upravit tento script, aby som spojazdnil aj "vas dotaz 2" (text2)?
Vo formulari uz je, ale este potrebujem upravit PHP-cko.
Prosim, pomozete mi?

<?php

$formulOK = true;

if (isset($_POST["text"])){

if (!ereg("^.+@.+\\..+$", $_POST["email"]) or
strlen(trim($_POST["text"])) == 0){
$formulOK = false;
}
}

if (isset($_POST["text"]) and $formulOK){

mail("icic@azet.sk", "Predmet", $_POST["text"], "From:
".$_POST["email"]."\nReply-To: ".$_POST["email"]."\nContent-Type:
text/html; charset=windows-1250\n");

}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Napište nám</title>
<link rel="stylesheet" href="css.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1250">
</head>
<body>
<br>
<center>
<div class="okolo">
<div class="nadpis">
Napište nám
</div>
<div class="text"><br><br><br>

<p align="center">
<table border="0" cellpadding="5" width="400">

<form action="napiste.php" method="post" name="formul"
onSubmit="document.formul.odesli.disabled = true">

<?php if (isset($text)){ ?>

<tr align="center">
<td><b>Vaše zpráva byla vpořádku odeslána.</b></td>
</tr>

<?php }else{ ?>

<tr align="left">
<td>Váš E-mail: </td>
<td><input type="text" size="20" name="email"
maxlength="50"></td>
</tr>
<tr align="left" valign="top">
<td>Váš dotaz: </td>
<td><textarea name="text" rows="8" cols="30"></textarea></td>
</tr>



<tr align="left" valign="top">
<td>Váš dotaz 2: </td>
<td><textarea name="text2" rows="8"
cols="30"></textarea></td>
</tr>



<tr align="left">
<td>&nbsp;</td>
<td><input type="submit" name="odesli" value=" O d e s l
a t " OnClick="document.formul.odesli.value=' Prosím čekejte!
'"></td>
</tr>

<?php } ?>

</form>

</table>
</p>
<br>

</div>
</div>
</center>
</body>
</html>
finc
Profil
Upřímně, ten kod je hroznej hnus :)

Jinak pokud to nechcete celé přepsat (což doporučuji).

Tak:


mail("icic@azet.sk", "Predmet", $_POST["text"], "From:
".$_POST["email"]."\nReply-To: ".$_POST["email"]."\nContent-Type:
text/html; charset=windows-1250\n");

// nahradit

mail("icic@azet.sk", "Predmet", $_POST["text"] ."\n-----------------\nVáš dotaz 2: \n". $_POST["text2"], "From:
".$_POST["email"]."\nReply-To: ".$_POST["email"]."\nContent-Type:
text/html; charset=windows-1250\n");
pohoda
Profil
Jinak pokud to nechcete celé přepsat (což doporučuji).


Dik, naozaj velmi pekne ti chcem podakovat, velmi si mi pomohol, lebo phpcko sa zatial len ucim a este nie som v tom taky dobry, aby som vytvaral vlastne scripty (mam 17 rokov) (tento script mi poslal kamos). Vies, potrebujem jeden script, ktory ma obsahovat zakladne funkcie textarea, text, checkbox a radio. Potreboval by som nejaky prehladny script, ktory by obsahoval funkcie, ktore som vyssie spominal.
Potreboval by som to tak, aby som si mohol kedykolvek niektoru zo spominanych funkcii kedykolvek doplnit.
Prosim ta pekne, nevies o nejakom scripte, ktory by mi to umoznil a takto mozno aj skor sa prakticky naucim robit s formularmi.(Zatial trochu studujem teoriu, ale praxe vela nemam.)

Ci mu este viec pomozes, alebo nie, necham to uz na teba, ale aj tak Ti velmi pekne dakujem. Uz si mi aj tak dost pomohol.
[b][/b]
finc
Profil
Co se týče formulářových prvků, tak je dobré se naučit základní HTML kod. Není o PHP ale jen o statickém XHTML.
Pokud to začneš používat php, je dobré si na spoustu věcí vytvořit své vlastní funkce. Za prvé ti to usnadní práci, zpřehlední kod a také nebudeš muset jednu věc opravovat na deseti místech najednou.
Můžeš si třeba udělat i fce na formulářové prvky.


function getFormInput($name, $request, $maxlength = 20, $size = 20, $type = "text")
{
$zobraz = "<input type='". $type ."'name='". $name ."' maxlength='". $maxlength ."';
$zobraz .= " size='". $size ."' value='". htmlspecialchars($request) ."'> ";
return $zobraz;
}

.....

Tímto způsobem si předem můžeš definovat cokoli.
Existují sice šablonovací systémy (např. Smarty), ale jsou výhodné spíše tam, kde potřebuješ oddělit php programátora od webkodera. Osobně moc zastánce těchto šablon nejsem. Raději si tvořím třídy sám na jednotlivé problémy.

Př.: Třída pro zobrazení stránkování, třída pro uložení souboru, třída pro odeslání mailu, apod. Tím si zajistíš to, že ve finále nebudeš muset řešit věci stále dokola, ale budeš ve svých skriptech volat jen jednotlivé metody (neboli funkce) definovaných tříd.
Toto téma je uzamčeno. Odpověď nelze zaslat.