Neomezený e-shopový systém s jednotnou administrací
Zobrazují se odpovědi 1 až 17 z 17

Podmínka u vkládaného textu do formuláře -text musí začínat

  1. Zdravím, mohli by jste mi poradit jak udělat podmínku která by zkontrolovala vkládaný text-odkaz na fb stránky ?

    Ve formuláři mám políčko pro vyplnění webové adresy na facebook.

    Tudíž podmínka by kontrolovala to že vkládaný odkaz na facebook začíná textem

    (wéwéwé.facebook.com)....libovolný......text)

    tím pádem by mi i odpadla kontrola vkládání http:// na začátku

  2. Co se právě děje na Webtrhu?
  3. Udělat v čem?

  4. php, zapomněl jsem

  5. Kód:
    if (mb_strpos($url, 'wéwéwé.facebook.com') !== false)
            echo "Je to Facebook odkaz";
    else
            echo("Není to Facebook odkaz");
    :-)

  6. Jakpot: mohl by jste mi tu podminku napsat přímo do kodu? děkuji

    //********facebook Webovka**************
    $fbwebovka = $_POST['fbwebovka'];
    $fbwebovka = strip_tags($fbwebovka);
    $fbwebovkapocetname = strlen($fbwebovka);

  7. Nebo použij regulární výraz

    Kód:
    if(preg_match('/^(?:https?:\/\/)?(?:www\.)?facebook\.com/i', $url)>0) {
    	echo "ok";
    }
    viz. https://regex101.com/r/gP7uS0/1

  8. Fido: děkuji, já to jen neumím vložit do php kodu.

    //********facebook Webovka**************
    $fbwebovka = $_POST['fbwebovka'];
    $fbwebovka = strip_tags($fbwebovka);
    $fbwebovkapocetname = strlen($fbwebovka);

  9. Je v tom formuláři více polí, kde se něco kontroluje?

    Kód:
    if (mb_strpos($fbwebovka, 'facebook.com') === false) $errors[] = "odkaz musí směřovat na fb";
    
    if(count($errors) == 0){
    echo "Úspěšně odesláno...";
    //odeslání formuláře...
    }
    else
    {
    echo "Opravte prosím následující chyby: <br/>";
    foreach($errors as $error) echo "$error <br/>";
    }
    Pokud ne, tak to bude stačit asi jednoduše:
    Kód:
    if (mb_strpos($fbwebovka, 'facebook.com') === false){
    echo "odkaz musí směřovat na fb";
    } else {
    echo "Úspěšně odesláno...";
    //odeslání formuláře...
    }
    Jedno z toho by mělo stačit vložit za ten kód, který jsi teď poslal a doplnit tam to odeslání formuláře (respektive přesunout, pokud už v kódu je).

  10. No já netuším, co má ta podmínka dělat, zkus to alespoň popsat slovy.

  11. Mám formulář pro registrovaného uživatele a ten si zadává své údaje jako jméno, své webovky plus facebook webovky a podmínka by měla kontrolovat to -že uživatel nebude vkládat místo odkazu na fb nějaké jiné odkazy. přikládám kód formuláře plus kod zpracování ´,
    Formulář:


    <?
    include ("../nastaveni/config.php");
    // vlozime scripty function
    include ("../nastaveni/funkce.php");
    include ("../domena.php");

    //*************ODESLANI A ZPRACOVANI FORMULARE********************
    if (isset($_POST["editace"])) {
    include ("nastaveni_add.php");

    if (empty($error))
    {
    if ($pass1 == "")
    {
    // bez hesla
    $id = $_POST["id"];
    sql("UPDATE registrace SET jmeno='$name', lokalita='$lokalita', predvolba='$predvolba', telefon='$povolba', webovka='$webovka', profilpopis='$profilpopis', fbwebovka='$fbwebovka', espoznamka='$espoznamka' WHERE id='$id'");
    } else {
    $id = $_POST["id"];
    $pass == MD5($pass1); // s novym heslem
    sql("UPDATE registrace SET pass='$pass', jmeno='$name', lokalita='$lokalita', predvolba='$predvolba', telefon='$povolba', webovka='$webovka', profilpopis='$profilpopis', fbwebovka='$fbwebovka', espoznamka='$espoznamka' WHERE id='$id'");
    }
    $ok = "<li>Editace mojeho účtu proběhla v pořádku.</li>";

    /***Nastavime nove cookies****/
    SetCookie ("jmeno", $name, time()+14*60*60*1, "/", "www.$domurl");
    SetCookie ("profilpopis", $profilpopis, time()+14*60*60*1, "/", "www.$domurl");
    SetCookie ("espoznamka", $espoznamka, time()+14*60*60*1, "/", "www.$domurl");
    SetCookie ("webovka", $webovka, time()+14*60*60*1, "/", "www.$domurl");
    SetCookie ("fbwebovka", $webovka, time()+14*60*60*1, "/", "www.$domurl");
    SetCookie ("predvolba", $predvolba, time()+14*60*60*1, "/", "www.$domurl");
    SetCookie ("povolba", $povolba, time()+14*60*60*1, "/", "www.$domurl");
    SetCookie ("email", $email, time()+14*60*60*1, "/", "www.$domurl");
    SetCookie ("lokalita", $lokalita, time()+14*60*60*1, "/", "www.$domurl");

    }
    }
    //*************ODESLANI A ZPRACOVANI FORMULARE********************


    // nacteme HTML stranku
    $title = "Moje statistika inzerátů";
    $keywords = "statistika, inzeráty";
    $description = "Moje statistika inzerátů slouží pro přehled počtu zobrazení mojich inzerátů.";
    $robots = "index, follow";

    $umisteni = "../";
    include ("../user-prihlasovani.php");
    include ("../web/hlavicka-form.php");

    include ("../web/vyhledavac.php");
    include ("../web/user-login.php");
    ?>

    <div id="content" class="form">
    <?
    // kontrola prihlaseneho
    if (isset($_SESSION["login"]) AND isset($_SESSION["uid"])) {

    //nacteme z profilu uzivatele id, email a telefon
    $user = sql("SELECT * FROM registrace WHERE email='$_SESSION[login]' AND pass='$_SESSION[uid]'");
    ?>

    <script>
    $(document).ready(function(){

    $("a.prvni").click(function () {
    $("#platby").toggle("slow");
    });
    $("a.druhy").click(function () {
    $("#editace").toggle("slow");
    });
    $("a.heslo").click(function () {
    $(".heslo2").toggle("slow");
    });
    $("a.treti").click(function () {
    $("#nastaveni").toggle("slow");
    });

    });
    </script>

    <?
    //********Vypis ERROR*******************
    if (isset($error)) {
    echo '<div id="error">
    <ul>
    '.$error.'
    </ul>
    </div>
    ';
    }

    if (isset($ok)) {
    echo '<div id="ok">
    <ul>
    '.$ok.'
    </ul>
    </div>
    ';
    }
    //********Vypis ERROR*******************
    ?>

    <h2><a href="#" class="druhy">Editace mého účtu</a></h2>
    <p>V editaci lze změnit Vaše jméno, telefon, web, lokalitu, nového heslo atd.. </p>

    <div id="editace">

    <form method="post" id="vlozit" action="/nastaveni/">
    <fieldset>
    <legend>Formulář pro editaci Vašeho účtu</legend>
    <h3>Osobní údaje</h3>
    <div class="levy">
    <p><label for="name">Jméno a příjmení</label> <input type="text" name="name" id="name" value="<?echo $user[7];?>" /></p>
    Přidal(a) jste se k nám: <strong><?php $datum = Date("j/m/Y H:i:s", $user[12]); echo($datum);?> </strong>
    <p>&nbsp;</p>
    <p><label for="profilpopis">Osobní popis</label>
    <p>Popište svůj obchod, čím se zabýváte, prostě zdělte ostatním něco o sobě. Nevkládejte HTML znaky a kódy.</p>
    <textarea name="profilpopis" id="profilpopis"><?echo $user[14]?></textarea></p>
    <p>&nbsp;</p>




    <p><label for="webovka">Vaše webovka</label> <input type="text" name="webovka" id="webovka" value="<?echo $user[13];?>" /></p>
    <p>bez http:// nazačátku!</p>
    <p>&nbsp;</p>

    <p><label for="fbwebovka">Link na Váš obchod či skupinu na facebooku.</label>
    <input type="text" name="fbwebovka" id="fbwebovka" value="<?echo $user[15];?>" /></p>
    <p>bez http:// nazačátku!</p>
    <p>&nbsp;</p>

    <?
    $kraje = array (4=>"Jihočeský", "Jihomoravský", "Karlovarský", "Královéhradecký", "Liberecký", "Moravskoslezský", "Olomoucký", "Pardubický", "Plzeňský", "Praha", "Středočeský", "Ústecký", "Vysočina", "Zlínský");
    $okresy = array (18=>"Benešov", "Beroun", "Blansko", "Břeclav", "Brno", "Brno venkov", "Bruntál", "Česká Lípa", "České Budějovice", "Český Krumlov", "Cheb", "Chomutov", "Chrudim", "Děčín", "Domažlice", "Frýdek - Místek", "Havlíčkův Brod", "Hodonín", "Hradec Králové", "Jablonec nad Nisou", "Jeseník", "Jičín", "Jihlava", "Jindřichův Hradec", "Karlovy Vary", "Karviná", "Kladno", "Klatovy", "Kolín", "Kroměříž", "Kutná Hora", "Liberec", "Litoměřice", "Louny", "Mělník", "Mladá Boleslav", "Most", "Náchod", "Nový Jíčín", "Nymburk", "Olomouc", "Opava", "Ostrava", "Pardubice", "Pelhřimov", "Písek", "Plzeň", "Prachatice", "Praha - východ", "Praha - západ", "Praha 1", "Praha 2", "Praha 3", "Praha 4", "Praha 5", "Praha 6", "Praha 7", "Praha 8", "Praha 9", "Praha 10", "Přerov", "Příbram", "Prostějov", "Rakovník", "Rokycany", "Rychnov nad Kněžnou", "Semily", "Sokolov", "Strakonice", "Šumperk", "Svitavy", "Tábor", "Tachov", "Teplice", "Třebíč", "Trutnov", "Uherské Hradiště", "Ústí nad Labem", "Ústí nad Orlicí", "Vsetín", "Vyškov", "Žďár nad Sázavou", "Zlín", "Znojmo");

    switch ($lokalita){
    case "0": $lokalsel0 = ' selected="selected"'; break;
    case "1": $lokalsel1 = ' selected="selected"'; break;
    case "2": $lokalsel2 = ' selected="selected"'; break;
    case "3": $lokalsel3 = ' selected="selected"'; break;
    }
    ?>
    <p><label for="lokalita">Lokalita</label> <select name="lokalita" id="lokalita">
    <option value="0"<?echo $lokalsel0;?>>Celá ČR</option>
    <optgroup label="Kraje">
    <?
    for ($aa=4; $aa<count($kraje)+4; $aa++){
    if($user[6] == $aa) {$lokalselk = ' selected="selected"';} else { $lokalselk = '';}
    echo '<option value="'.$aa.'"'.$lokalselk.'>'.$kraje[$aa].'</option>';
    }
    ?>
    </optgroup>
    <optgroup label="Okresy">
    <?
    for ($bb=18; $bb<count($okresy)+18; $bb++){
    if ($user[6] == $bb) {$lokalselo = ' selected="selected"'; } else {$lokalselo = '';}
    echo '<option value="'.$bb.'"'.$lokalselo.'>'.$okresy[$bb].'</option>';
    }
    ?>
    </optgroup>
    </select>
    </p>

    <p><label for="tel-1">Tel.číslo uvádějte vždy bez předvolby!(+420)</label><input type="text" maxlength="15" onkeyUp="formatPrice(this,'')" name="tel-2" id="tel-2" value="<?echo $user[5];?>" /></p>
    <p><input type="hidden" name="id" value="<?echo $user[0];?>"><input type="submit" name="editace" value="Uložit změny provedené v účtu" class="button" /></p>
    </div>
    <div class="pravy">
    <p>&nbsp;</p>
    <p><h4><a href="#" class="heslo">Nové heslo účet: <?echo $user[3]?></a></h4></p>
    <p class="heslo2" style="display:none;"><label for="pass1">Nové heslo</label> <input type="text" name="pass1" id="pass" value="" /></p>
    <p class="heslo2" style="display:none;"><label for="pass2">Znovu nové heslo</label> <input type="text" name="pass2" id="pass" value="" /></p>
    <p>&nbsp;</p>
    <p><label for="uzjmeno">Uživatelské jméno (nelze změnit)</label> <input type="text" name="user" id="uzjmeno" value="<?echo $user[1];?>" readonly="readonly" /></p>
    <p>&nbsp;</p>
    <p><label for="email">E-mail (nelze změnit)</label> <input type="text" name="email" id="email" value="<?echo $user[3]?>" readonly="readonly" /></p>
    <p>&nbsp;</p>

    <p><label for="espoznamka">Prostor pro Vaše poznámky-neveřejné</label>
    <textarea name="espoznamka" id="espoznamka"><?echo $user[16]?></textarea></p>
    <p>Zde si můžete uložit pro svou potřebu jakýkoliv text, poznámku, nápad atd..</p>
    <p>&nbsp;</p>



    </div>
    <div class="cl"></div>

    </fieldset>
    </form>

    <?

    echo '<div id="load"><img src="http://www.'.$domurl.'/web/images/load.gif">Formulář se nyní zpracovává, počkejte prosím ...</div>';
    ?>
    </div>

    <?
    } else {
    ?>
    <h1>Nastavení a editace účtu</h1>
    <p class="description">K prohlížení nastavení a editace účtu musíte být přihlášen.</p>
    <?
    }
    echo "</div>"; // content form

    include ("../web/leve-menu2.php");
    //include ("./web/vypis-subkategorii.php")

    include ("../web/footer.php");
    ?>























    Zpracování:



    <?
    include ("./domena.php");
    //********Jméno a příjmení**************
    $name = $_POST["name"];
    $name = strip_tags($name);
    $pocetname = strlen($name);

    if (empty($name) OR $pocetname <= "4") $error .= "<li>Vaše jméno nebylo vyplněno a nebo je velice krátké.</li>";
    //********Jméno a příjmení**************

    //********Webovka**************
    $webovka = $_POST["webovka"];
    $webovka = strip_tags($webovka);
    $webovkapocetname = strlen($webovka);


    //******** osobní poznámky **************
    $espoznamka = $_POST["espoznamka"];
    $espoznamka = strip_tags($espoznamka);
    $espoznamkapocetname = strlen($espoznamka);

    //********facebook Webovka**************
    $fbwebovka = $_POST["fbwebovka"];
    $fbwebovka = strip_tags($fbwebovka);
    $fbwebovkapocetname = strlen($fbwebovka);

    //********Popis obchodníka**************
    $profilpopis = $_POST["profilpopis"];
    $profilpopis = strip_tags($profilpopis);
    $profilpopispocetname = strlen($profilpopis);


    //if (empty($webovka) OR $webovkapocetname <= "4") $error .= "<li>Vaše jméno nebylo vyplněno a nebo je velice krátké.</li>";
    //********Jméno a příjmení**************

    //********Lokalita**********************
    $lokalita = $_POST["lokalita"];
    $lokalita = strip_tags($lokalita);
    //********Lokalita**********************

    //********Telefon***********************
    $predvolba = $_POST["tel-1"];
    $predvolba = strip_tags($predvolba);
    $povolba = $_POST["tel-2"];
    $povolba = strip_tags($povolba);
    $pocetpred = strpos($predvolba, "+");
    $pocetpo = strlen($povolba);
    if ((empty($pocetpred) OR !ereg("^[0-9]+$", $povolba)) AND (empty($povolba) OR $pocetpo <= "8")) $error .= "<li>Telefonní předvolba nebo telefonní číslo chybí a nebo je špatně vyplněna.</li>";
    //********Telefon***********************

    //********Password - heslo**************
    $pass1 = $_POST["pass1"];
    $pass2 = $_POST["pass2"];

    if($pass1 != "" OR $pass2 != "")
    {
    if ($pass1 == $pass2) {
    $pass1 = strip_tags($pass1);
    $passmezera1 = strpos($pass1, " ");
    $passpocet1 = strlen($pass1);

    if ($passmezera1 != "0" OR $passpocet1<= "3") $error .= "<li>Vaše heslo obsahuje mezeru a nebo je krátké (minimálně 4 slova).</li>";
    } else {
    $error .= "<li>Vaše nové heslo nesouhlasí s heslem pro potvrzení. Musí být shodné.</li>";
    }
    }

    //********Password - heslo**************

    //********E-mail************************
    $email = $_POST["email"];
    $emailpocet = strpos($email, "@");
    $emailpocet2 = strpos($email, ".");

    if ($emailpocet == "0" OR $emailpocet2 == "0") $error .= "<li>E-mail byl špatně vyplněn. Zavináč napíšete zmáčknutím CTRL+ALT+V</li>";
    //********E-mail************************
    ?>

  12. takhle by to mělo fungovat:


    Kód:
    //********facebook Webovka**************
    $fbwebovka = $_POST["fbwebovka"];
    $fbwebovka = strip_tags($fbwebovka);
    $fbwebovkapocetname = strlen($fbwebovka);
    
    if (mb_strpos($fbwebovka, 'facebook.com') === false) $error .= "<li>Odkaz musí směřovat na fb.</li>";

  13. Už to funguje dobře -jste jedničky :o)))))))
    Děkuji za pomoc!

    ---------- Příspěvek doplněn 24.04.2015 v 10:33 ----------

    Kdybych ještě mohl mít dotaz :jde udělat i to aby text nemohl začínat ( http://www....) -ale pouze www.facebook.com...atd?

    ---------- Příspěvek doplněn 24.04.2015 v 10:47 ----------

    Přidal jsem :
    if (mb_strpos($webovka, 'http://www.') !== false) $error .= "<li>Odkaz musí začínat www</li>";
    a jede to jak jsem potřeboval, ještě jednou díky!

  14. Podle mě to není dobré řešení, uživatele to bude otravovat. Pokud potřebuješ mít uložené odkazy bez http(s):// na začátku, tak si to http(s):// z toho vymaž při ukládání a uživatele nech si tam vložit jakýkoliv formát. A nezapomeň taky, že uživatel může zadat platný odkaz bez www na začátku.

  15. Jinak bych doporučoval ošetřit všechny vstupy do databáze, takhle je to docela nebezpečné.

  16. Tak jak to máš, tak ti tam taky projde třeba "http://www.twitter.com/?s=facebook.com". Buď použij regulární výrazy, jak jsem psal výše, nebo nech uživatele vkládat jenom tu část url za http://www.facebook.com.

    ---------- Příspěvek doplněn 24.04.2015 v 12:03 ----------

    Nebo to zkus takhle

    Kód:
    $pattern = "/^(?:https?:\/\/)?(?:www\.)?(facebook\.com\/[^\s]+)/i";
    preg_match($pattern, $fbwebovka, $matches);
    if (strlen($matches[1]) > 0) 
    {
        $fbwebovka = $matches[1];
    }
    else
    {
        $error .= "<li>Odkaz musí směřovat na fb.</li>";
    }
    Pokud to bude platný odkaz, tak ve $fbwebovka bys ho měl mít pokaždé ve tvaru facebook.com/neco. Psal jsem to z hlavy, tak kdyby něco nejelo, tak napiš.

  17. tomas505: děkuji za upozornění, nevím jak mám ošetřit vstupy do DB? Nejsem hacker :o)

    ---------- Příspěvek doplněn 24.04.2015 v 18:37 ----------

    Citace Původně odeslal cech Zobrazit příspěvek
    Podle mě to není dobré řešení, uživatele to bude otravovat. Pokud potřebuješ mít uložené odkazy bez http(s):// na začátku, tak si to http(s):// z toho vymaž při ukládání a uživatele nech si tam vložit jakýkoliv formát. A nezapomeň taky, že uživatel může zadat platný odkaz bez www na začátku.
    To by balo fajn jak píšete že by to prostě samo upravilo adresu tak aby zbývala nařpíklad jen adrsa bez http://www nebo https://
    jenomže na to já hlavu mám krátkou :o)

    ---------- Příspěvek doplněn 24.04.2015 v 18:46 ----------

    Fido123 : tak jsem to tam dal jak jste napsal a paráda -teď nemusím hlídat v jakém to bude uživatel ukládát tvaru -to je paráda.
    díky

    cech: takže jak jste psal tak je to tím pádem lepší a nikoho to nebude otravovat :o)

    ---------- Příspěvek doplněn 25.04.2015 v 09:45 ----------

    Stačí takto ošetřený vstup? :

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

    $_espoznamka = htmlspecialchars(trim($_POST['espoznamka']));
    $espoznamka = mysql_real_escape_string($_espoznamka);
    Naposledy upravil lahwin : 24.04.2015 v 18:51

  18. Bedroom ideas
    Come in outstanding store in Jefferson Park production for office and home use and cafe! presents over 12000 appointment furniture and goods for a country house and apartments or restaurant. Natural rattan , are used for the purposes of production our branded products , possesses strength and wear resistance, wonderful external data. All furniture processed special compounds, due to which their surface does not absorb water, stable to extremes ambient temperature air and exposure of the sun. Vya our furniture excellent retains its functions even in restaurant in open spaces . In the presented online catalog you offered photos furniture for dining room, hall, bedroom, children's room , as well as intended for organization of storage area - dressers and cabinets, cabinets and others . In our store in Fairfax you can buy everything for any your home not expensive . We invite client come to store , holding in Westwood what cares about its shopper.

Spolupracujeme: Jooble.org, Aximum - profesionální překlady Hostujeme u Server powered by TELE3