Caut riesim jeden problem. Mam vo forme dve veci : 2 zaskrkavacie policka radio
(ANO A NIE) a jedno normalne textove pole. Chcem cez php zaistit to , aby sa
dalo do tohto textoveho policka pisat iba vtedy ked je zaskrknute policko
ANO.Cosi som spravil, ale dalo sa donho pisat az po odoslani formulara... Please
help...
Fórum › PHP
Radio a text
To se da udelat jen pres nejaky scriptovaci jazyk, ktery pracuje na strane klienta. Tedy pravdepodobne Javascript
Vyznas se v JS alespon trochu nebo to potrebujes pismenko od pismenka?
Btw, JS se doporucuju naucit, toto je typicky priklad, na ktere se PHP proste nehodi a pri psani poradnych stranek je casto trena delat prave na strane klienta.
Chalani som tu nový a potrebujem pomôcť. Potrebujem vytvoriť hlasovací formulár kde budú výberové políčka radio a tiež klasické textové polia pre vyplnenie osobných údajov.
Formulár je takýto:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dokument bez názvu</title>
</head>
<body>
<form action="radio.php" method="post">
<input type="radio" name="element_6" value="1">aa<br>
<input type="radio" name="element_6" value="2">bb<br>
<input type="radio" name="element_6" value="3">cc<br>
<input type="radio" name="element_6" value="4">dd<br>
<input type="radio" name="element_6" value="5">ee<br>
<input type="radio" name="element_6" value="6">ff<br>
<input type="radio" name="element_6" value="7">gg<br>
<input type="radio" name="element_6" value="8">hh<br>
<input type="radio" name="element_6" value="9">ii<br>
<input type="radio" name="element_6" value="10">jj<br>
<input name="odoslat" type="submit" value="Hlasuj"></div>
</form>
</body>
</html>
odosielací súbor:
<? if ( Mail("moja@adresa.sk", $element_6, $element_6, $element_6, $element_6, $element_6, $element_6, $element_6, $element_6, $element_6, $element_6) )
echo "Mail byl odeslán";
else echo "Mail se nepodařilo odeslat"; ?>
po odoslaní formulára mi vypíše následovne:
Warning: mail() expects at most 5 parameters, 11 given in W:\domains\www.mojadomena.sk\public\cesta k odosielaciemu súboru\radio.php on line 1
Mail se nepodařilo odeslat
V čom je chyba? Ak tam dám len povedzme len dve výberové políčka tak to ide bez problémov.
Ďakujem za odpovede chalani.
Warning: mail() expects at most 5 parameters, 11 given in W:\domains\www.mojadomena.sk\public\cesta k odosielaciemu súboru\radio.php on line 1
Zkousel jsi google translator? https://translate.google.com
Varování: mail () očekává na většině 5 parametrech, 11 uvedeny v W: \ domén \ www.mojadomena.sk \ public \ cesta k odosielaciemu súboru \ radio.php na řádku 1
Pak si otevres dokumentaci http://php.net/mail
a zjistis, ze funkce mail ma skutecne definovanych 5 parametru
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
Ty tam mas:
$to = "moja@adresa.sk";
$subject = $element_6;
$message = $element_6;
$header = $element_6;
$params = $element_6;
? = $element_6; dalsich n-krat
mail ( $to , $subject , $message ) // takhle by to melo spravne vypadat
mail ( $to , $subject , $message, $header ) // nebo takhle
mail ( $to , $subject , $message, $header, $params ) // nebo takhle
mail($to , $subject , $message, $header, $params, $element_6, $element_6, $element_6, $element_6, $element_6, $element_6, $element_6) // a takhle jsi to napsal ty :)
Otevirani bubaku? Toto tema "Radio a text" zalozili v roce 2006. Tys k tomu tematu reagoval prispevkem v roce 2017, coz ho zviditelnilo a navic mluvis uplne z cesty, nekomentujes dane tema.
Mail?
Ta php chybova hlaska ti pise, ze funkce mail potrebuje max 5 parametru a ty, ze ji cpes parametru 11
mail($to, $subject, $message, $header, $params) mail($to, $subject, $message, $header, $params, $element_6, $element_6, $element_6, $element_6, $element_6, $element_6, $element_6) // Je to podobne, jako bys napsal function vynasobDveCisla($a,$b) {return $a * $b;}
vynasobDveCisla(1,2,3,4,5,6,7,8); // a napsal tam cisel 8
Mail mail-box? Treba na zoznam.sk? Prihlas se tam. Klikni na Novy mail a co muzes vyplnit?
komu ($to)
predmet ($subject)
text zpravy ($message)
$header a $params tam doplnuje automaticky zoznam.sk
Tak tvuj program na fungovat podobne. Tez ti staci vyplnit 3 polozky. Ale podle php.net/mail dokumentace jich muze byt az 5.
No, a ted, co s tim? Tak jako tajne ocekavam, ze blik a budes vedet. Tak zda se, ze ani zablesk nadeje. Jeste zkusim napovedet
$message = $element_6 . $element_6 . $element_6; // spojis to do jednoho retezce
mail($to, $subject, $message); // a pak odesles mail
http://php.net/mail - tam mas nekolik prikladu, jak se takovy mail posila. Kdybys to zkusil podle toho zkopirovat a upravit, usetril bys furu casu
google php mail example - kdyby sis vygoogloval priklady a upravil, take spousta casu a trapnych poznamek :)
Ako by mohol vyzerať PHP súbor pre odoslanie konkrétne tohto formulára na email?
<form style="background-color:#e6e6e6;font-size:14px;font-family:Arial,Helvetica,sans-serif;color:#666666;width:480px" title="HLASOVACIA SÚŤAŽ" action="odosli.php" method="post" novalidate>
<div><h2>HLASOVACIA SÚŤAŽ</h2></div>
<div><h3>"Objav poklad"</h3></div>
<div><label class="title">hlasujte pre jednu z možností<span class="required">*</span></label>
<div class="column" style="width:100%">
<input type="radio" name="radio" value="1. možnosť" required><span>1. možnosť</span><br>
<input type="radio" name="radio" value="2. možnosť" required><span>2. možnosť</span><br>
<input type="radio" name="radio" value="3. možnosť" required><span>3. možnosť</span><br>
<input type="radio" name="radio" value="4. možnosť" required><span>4. možnosť</span><br>
<input type="radio" name="radio" value="5. možnosť" required><span>5. možnosť</span><br>
<input type="radio" name="radio" value="6. možnosť" required><span>6. možnosť</span><br>
<input type="radio" name="radio" value="7. možnosť" required><span>7. možnosť</span><br>
<input type="radio" name="radio" value="8. možnosť" required><span>8. možnosť</span><br>
<input type="radio" name="radio" value="9. možnosť" required><span>9. možnosť</span><br>
<input type="radio" name="radio" value="10. možnosť" required><span>10. možnosť</span><br>
</div><span class="clearfix"></span>
</div>
<div>
<label class="title">Meno<span class="required">*</span></label>
<input type="text" name="input4" required></div>
<div><label class="title">Priezvisko<span class="required">*</span></label> <input type="text" name="input3" required></div>
<div><label class="title">Mesto/obec<span class="required">*</span></label> <input type="text" name="input2" required></div>
<div><label class="title">Telefónny kontakt<span class="required">*</span></label>
<input type="text" name="input1" required></div>
<div><label class="title">Email</label>
<input type="email" name="email2" value=""></div>
<div class="element-submit"><input type="submit" value="Odoslať"></div>
</form>
Ty mi asi stale nerozumis, jinak si to neumim vysvetlit.
1. Otevres si stranku http://php.net/mail
2. Tam se podivas do zapisu, jake ma funkce vstupy a vystupy, jakeho typu
3. Podivas se tam na priklady
4. otevres si google.com a zadas tam slova: php mail example, zmacknes enter, a vypise ti furu stranek s priklady
Neni v tom nic zakomplexovane. Proste tak obvykle postupuji. Bud to najdu v dokumentaci (php.net/jmeno_funkce) a nebo googlem.
http://php.net/mail - "Example #2 Sending mail with extra headers."
Kdyz z tama smazu zbytecnosti pro prvni test... To je ukazkovy priklad, jak se z php odesila mail.
<?php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
mail($to, $subject, $message);
?>
1. http://php.net/…les.post.php - tady priklady stoti za prd
2. google.com : php post form example -w3schools.com
http://www.the-art-of-web.com/…orm-handler/ - jakysi navod na mail
3. google.com : php post form example simple -w3schools.com
http://php.net/…al.forms.php - taky nic moc priklady
http://www.html-form-guide.com/…utorial.html - to ujde
<?php
function getPost($key,$def='') {return isset($_POST[$key]) ? $_POST[$key] : $def;}
function escapeHtml($str) {return htmlspecialchars($str);}
if(getPost('formSubmit') == "Submit")
{
$form = array();
$form['formMovie'] = getPost('formMovie');
$form['formName'] = getPost('formName');
}
// <?=$varMovie;?> by se muselo prepsat na
// <?php echo escapeHtml($form['formMovie']);?>
?>
<form action="myform.php" method="post">
Which is your favorite movie?
<input type="text" name="formMovie" maxlength="50" value="">
What is your name?
<input type="text" name="formName" maxlength="50" value="">
<input type="submit" name="formSubmit" value="Submit">
</form>
Odeslani mailu zustava pak stejne. A cely trik pak spociva v tom, ze udelas
$message = implode("\n",$form); nebo
$message = $form['formMovie'] . $form['formName'];
To jsem ti ale uz psal!
google = php read form elements
http://stackoverflow.com/…ue-using-php
Using $_POST method:
<form name="form" action="" method="post">
<input type="text" name="subject" id="subject" value="Car Loan">
</form>
To show the value:
<?php echo $_POST['subject']; ?>
V podstate by slo pouzit, ale neni to bezpecne, ...
$form = array();
foreach ($_POST as $key=>$value)
{$form[] = $key . ' = ' . $value;}
$message = implode("\n", $form);
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Select Radio onclick na jiný radio — založil Tombom
Radio — založil leon
Radio Buttony — založil Tomas
Internetové rádio — založil Like
Propojení radio button — založil NeedHelo
Moderátoři diskuze