Autor Zpráva
Urob
Profil *
Mam formulář i už jsem dopsal script, ale z neznámýho důvodu mi to nechce fungovat - mam to ve stejnym souboru index.php. Takhle mam nastavenej form:
<form method="POST" action="index.php?action=odeslat">

a takhle začíná script, kterej jak už jsem říkal víš v tom samém souboru, jinak řečeno, potřebuju, aby se mi pod formulář po odesláni napsalo echo, mail byl odeslán, ale mě ten script nechce proběhnout.
<?php

if ($action == "odeslat") {

Please, help me, už si fak nevim rady a chybu nevidim.
krteczek
Profil
if((!empty($_GET['action'])) && ($_GET['action'] == 'odeslat'))

1. používej $_GET a $_POST jak jsem naznačil výše
2. ověřuj že jsou správně nastavene proměnné >> if((!empty($_POST'neco'])) && (trim($_POST['neco']) != '')) << ověřeno, že proměnná není prázdná, a ani mezera, tabulátor, enter
3. atd
Urob
Profil *
Upřímě řečeno, tě nějak necháp. Zkus mi to prosimtě upravit, hodim sem celej kód formu a scriptu aby to fungovalo v jednom souboru.
<form method="POST" action="index.php?action=odeslat">

<table border="0" width="550" cellpadding="0" align="center">
<tr>
<td width="150">
<font face="Times New Roman"><b>Jméno <font color="#FF0000">(*)</font> :</b></font>
&nbsp;</td>
<td width="400">
<input name="jmeno" class="input" size="51">

</td>
</tr>
<tr>
<td width="150">

<font face="Times New Roman"><b>Váš e-mail <font color="#FF0000">(*)</font> :</b></font>
</td>
<td width="400">
<input name="mail" class="input" size="51">

</td>
</tr>
<tr>
<td width="150">

<font face="Times New Roman"><b>Předmět :</b></font>
&nbsp;</td>
<td width="400">
<input type="text" class="input" name="subject" size="51">

</td>
</tr>
<tr>
<td width="150">

<font face="Times New Roman">Jedná se o <font color="#FF0000">(*)
</font> :</font>
&nbsp;</td>
<td width="400">
<select name="co" size="1" class="input">
<option value="0" align="center">&nbsp;&nbsp;&nbsp;..... Vybrat .....
<option value="Nabídka spolupráce">Nabídka spolupráce
<option value="Obchodní záležitost">Obchodní záležitost
<option value="Pozdrav">Pozdrav
<option value="Dotaz">Dotaz
<option value="Jiné">Jiné
</select>
</td>
</tr>
<tr>
<td width="150" valign="top">
<font face="Times New Roman"><b>
Zpráva&nbsp;<font color="#FF0000">(*)
</font> :</b></font>
</td>
<td width="400"><textarea class="input" name="zprava" rows="6" cols="47"></textarea></td>
</tr>
<tr>
<td width="150"></td>
<td width="400" align="center">
<input type="submit" class="submit" value="O d e s l a t">&nbsp; <input type="reset" class="submit" value="V y m a z a t">
</td>
</tr>
</table>
</form>

</div>
<font color="#FF0000">(*) - nutné vyplnit</font></div>
<div align="center">

<?php
if ($akce == "odeslat") {
if (($co=="0")):
echo "<h6>Není vybráno pole \"Jedná se o :\"<h6>";
else : {
if (($jmeno=="") or ($zprava=="") or ($mail=="")):
echo "<h6>Nejsou vyplněny požadované údaje</h6>";
else: {
$ip_number=$_SERVER['REMOTE_ADDR'];
$ip_name=gethostbyaddr($_SERVER['REMOTE_ADDR']);
$prijemce = "uroboros@inbox.com";
$header .= "Content-Type: text/html; charset=windows-1250\n";
$text = "<b>Zpráva odeslána v</b> : ".Date(" d/m/Y H:i:s")."<br>
<b>Zpráva odeslána z IP</b> : ".$ip_number.", ".$ip_name."<br>
<b>Zprávu napsal</b> : ".$jmeno."<br>
<b>Jedná se o</b> : ".$co."<br>
<b>Předmět</b> : ".$subject."<br>
<b>Text zprávy</b> : ".$zprava."";

if (mail($prijemce,"Zpráva z webu", $text, "From: ".$mail."\r\n".$header)) {
echo "<h6>E-mail byl úspěšně odeslán!</h6>";
}
else {
echo "<h6>E-mail se nepodařilo odeslat!</h6>";
}
}
endif;
}
endif;
}
?>
krteczek
Profil
Jen tě skusím popostrčit:
místo $jmeno použiješ $_POST['jmeno']
Urob
Profil *
sorry, jsem asi deb_il, prostě mi to nejde, vždy jsem si dělal jeden soubor a odesílal to druhým, jenže teď to potřebuju v jedno a prostě s tim nedokážu hnout.
Urob
Profil *
Prosím poraďte mi někdo, potřeboval bych to dodělat, ale nějak s tim nemůžu hnout
rabbit
Profil
Ty si vážně myslíš, že když si do odkazu dáš ?action=odeslat, tak se ti po odeslání formuláře na serveru naplní proměnná $akce ???

Na to zapomeň, to ani při register_globals = on

;-D
Urob
Profil *
Rabbit--> to si samozřejmě nemyslim, je to jadna z chyb, už sem to ale vyřešil a již mi to funguje.
JanCH
Profil *
čau lidi mam problem a nevím kde je chyba
je to někde tady asi
function validate (formular){
if (formular_osobni.jmeno.value==""){
alert("Jméno musíte vyplnit!");
formular_osobni.jmeno.focus();
return false;
}
else if (formular_osobni.primeni.value=="vyplň"){
alert("Příjmení musíte vyplnit bezpodmínečně!");
formular_osobni.primeni.focus()
return false;
}
else if (formular_osobni.rok.value==""){
alert("Rok narozní také vyplňte!");
formular_osobni.rok.focus()
return false;
}
else if (formular_osobni.email.value==""){
alert("Doplňte email!");
formular_osobni.email.focus()
return false;
}
else if (window.RegExp)
{
re = new RegExp("^[^@]+@[^.]+..+$");
if (!re.test(formular_osobni.email.value))
{
alert("Zadaná adresa není platnou adresou pro email!!")
formular_osobni.email.focus();
return false;
}
}
return true;
}

Osobní údaje Přezdívka:

Jmeno:

Příjmení:

Rok narození

ICQ:

E-mail:

Jestli ne tak se mi ozvěte na icq:221-560-603
Toto téma je uzamčeno. Odpověď nelze zaslat.