Autor Zpráva
Maj7
Profil
Zdravím, prosím o pomoc s PHP.Dělám sice stránky,ale PHP mě uplně minulo a tak jsem si udělal formulář pomocí phpFormgenerátoru.Všechno šlape až na jednu podstatnou věc.Mám tam jedno poviné pole s odesláním emailu.Ale když dám odeslat konečný formulář napíše to jen,že se musí zadat do secure pole kontrolní znaky a když se tedy zadají tak i přes poviné pole to jde odeslat.Uplně amatersky se mě zdá,že se to hádá právě s tim secure polem.
Pročítal jsem tady různý podobný problémy,ale kod je uplně jiný než co mě vygeneroval generátor takže nevím jak na to.Prosím moc o pomoc.Díky.

<?php

$where_form_is="http://".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_SELF']),"/"));
$headers = "Content-type: text/plain; charset=utf-8\n";
session_start();
if( ($_SESSION['security_code']==$_POST['security_code']) && (!empty($_POST['security_code'])) ) { 
// File upload handling
if($_FILES['field_4']['name']!=''){
$field_4_filename = "file_4_".date("sihdmY").substr($_FILES['field_4']['name'],strlen($_FILES['field_4']['name'])-4);
if(!move_uploaded_file($_FILES['field_4']['tmp_name'], "./files/".$field_4_filename)){
die("File " .  $_FILES['field_4']['name'] . " was not uploaded.");
}
}

// Checkbox handling
$field_29_opts = $_POST['field_29'][0].",". $_POST['field_29'][1];

// Checkbox handling
$field_31_opts = $_POST['field_31'][0].",". $_POST['field_31'][1].",". $_POST['field_31'][2].",". $_POST['field_31'][3].",". $_POST['field_31'][4];

// Checkbox handling
$field_34_opts = $_POST['field_34'][0].",". $_POST['field_34'][1];


mail("lter@email.cz","phpFormGenerator - Form submission","Form data:

Mám zájem o výstavbu:: " . $_POST['field_1'] . " 
.
.
.
.
Váš email " . $_POST['field_49'] . " 


 powered by phpFormGenerator.
",$headers);

include("confirm.html");
}
else {
echo "Zadejte prosím správný bezpečnostní kód.";
}

?>

Moderátor Alphard: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Alphard
Profil
Ten kód je naprosto šílený a to teď nemluvím jen o formátování. A ve vašem popisu se také ztrácím.
Jediná hlavní podmínka kontroluje správnost $_POST['security_code']. Pak už tam je jen podmínka kontrolující neprázdnost $_FILES['field_4']['name'], pokud to ale prádné je, jen se přeskočí upload a jde se dál.

Pro další diskusi sem hodím zformátovaný kód omezený na větvíci struktury a další význačné části.
if( ($_SESSION['security_code']==$_POST['security_code']) && (!empty($_POST['security_code'])) )
{ 
    if($_FILES['field_4']['name']!='')
    {
        if(!move_uploaded_file($_FILES['field_4']['tmp_name'], "./files/".$field_4_filename))
        {
            die("File " .  $_FILES['field_4']['name'] . " was not uploaded.");
        }
    }
    mail("lter@email.cz","phpFormGenerator - Form submission","Form data",$headers);
    include("confirm.html");
}
else
{
    echo "Zadejte prosím správný bezpečnostní kód.";
}
Maj7
Profil
Dobrý den,děkuju za reakci.Bohužel se s Váma nemůžu technicky o PHP bavit,opravdu tomu nerozumím a zkusím ještě vysvětlit můj problém.
http://www.aitia.cz/poptavka/form.html
Můj problém je na poslední straně.Když odmáčknu tlačítko "Odeslat" tak naskočí okno s echem "Zadejte prosím správný bezpečnostní kód."To je správně.Když security kod ,ale do pole zadám a dám znova odeslat,bez problému se to odešle ikdyž tam mám povinné pole se zadáním emailu,které by mělo upozornit na nevyplňené poviné pole a nemělo by to pustit dál.
Děkuju moc za pomoc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0