Registrace: Zpracování dat z formuláře

Chcete-li získat od náštěvníka psaný text pro další zpracování, musíte nejprve vědět, jak formulář udělat. A pak jak z něho zpracovat data, nejlépe do databáze.

Formulář

Nejdříve trochu obecně. Formulář by měl být jednoduchý, přehledný a hlavně by měl obsahovat jen to, co opravdu potřebujete/chcete vědět. Formulář může obsahovat i další pole, nicméně u nich by mělo být hned na první pohled vidět, že jsou nepovinné. Pokud sbíráte spoustu informací a formulář je rozdělen na více stran, vždy přehledně piště na které straně z kolika se člověk nachází. Je otrava vyplňovat něco, u čeho nevím, kolik toho vlastně bude. Také zvažte používání tlačítka „reset“. Ne každý ví, co toto tlačítko znamená. Může to být nepříjemné překvapení.

Jak by mohl vypadat zdrojový kód formuláře
<form action="reg_zpracuj.php" method="post">
  <input type="hidden" name="sent" value=""/>
    <input type="text" name="jmeno" maxlength="32"/> Už. jméno <br/>
    <input type="password" name="heslo" maxlength="32"/> Heslo <br/>
    <input type="password" name="heslo_znovu" maxlength="32"/> Heslo znovu <br/>
    <input type="text" name="mail" value="" maxlength="64"/> Email<br/>
    <input type="text" name="web" value="http://" maxlength="128"/> Web<br/>
  <input type="submit" name="send" value="Registruj"/>
</form>

Doporučení pro tvorbu sémantických formulářů: http://www.semantika.name/formulare.html

Zadaný formulář se pošle metodou post na stránku reg_zpracuj.php, kde bude probíhat zpracování zadaných údajů. Pokud by stránka s formulářem měla zpracovat i data, v tagu form by se nastavil action=„#“. To je odkaz na aktuální stránku i v html. Nicméně spíše doporučuji posílat data na zpracování do jiného formuláře – minimalizují se tak potíže se znovuodesláním formuláře po obnovení stránky.

Teorii kolem celkem nudných formulářů by jsme měli za sebou, nyní je potřeba si připravit tabulku v databázi, kam budeme data ukládat.

Vytvoření MySql tabulky

Asi nejjednodušší způsob jak vytvořit tabulku je položit SQL dotaz na databázi přes phpmyadmina. (Práce s ním je popsána ZDE). Nebo v něm tabulku vytvořit.
Návrh tabulky má velký vliv na celou aplikaci, od výkonu přes jednoduchou aktualizaci dat až po možnosti rozšíření atd…
Doporučuji se tedy nad novou tabulkou řádně zamyslet než na ní začnete pracovat, protože pokud něco přehléhnete, většinou to sebou nese nudné přepisování již „sesmolených“ zdrojáků.

Mám tu jeden takový velmi jednoduchý vzorový příklad, jak by tabulka uzivatele mohla vypadat. Čili:

CREATE TABLE `uzivatele` (
   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
   `jmeno` VARCHAR( 32 ) NOT NULL ,
   `heslo` VARCHAR( 32 ) NOT NULL ,
   `mail` VARCHAR( 64 ) NOT NULL ,
   `web` VARCHAR( 128 ) NOT NULL ,
   `prava` TINYINT NOT NULL ,
    UNIQUE (`jmeno` , `mail` )
) ENGINE = innodb CHARACTER SET utf8 COLLATE utf8_czech_ci;

Vysvětlení

id unikátní číslo uživatele, primární, automaticky přiřazované celé číslo
jmeno jméno uživatele, délka 32 znaků, unikátní – v tabulce může takový záznam být jen jeden
heslo heslo uživatele, bude zde uložené zaheslované přes funkci md5(), která vrací 32 znakový hash.
mail mail, unikátní – v tabulce může být jen jeden takový záznam ať můžete posílat zapomenuté heslo
web web uživatele
prava Můžeme rozdělit uživatele podle práv. Uvedu zde číslo ID s právy k jednotlivým akcím, které mohou být v jiné tabulce. Zadal jsem typ TINYINT – může nabývat hodnot od –128 do +128. Pochybuju, že ale budete mít větší tabulku práv ;-)

PHP

Vytvoříme tradičně soubor pro připojení k databázi, ve které jste vytvořili tabulku.
db.php

<?php
 $spojeni = mysql_connect("SERVER","UZJMENO","HESLO" ) or die ('<b>Critical error!</b><br>Nepodarilo se pripojit k databazi!');
  mysql_select_db("DATABAZE", $spojeni) or die ('Spatne zadana databaze v db.php');
  mysql_query("SET character_set_client=utf8");
  mysql_query("SET character_set_connection=utf8");
  mysql_query("SET character_set_results=utf8");
?>

U tohoto kódu si změňte údaje SERVER, UZJMENO, HESLO a DATABAZE dle skutečnosti!

Další soubor co budeme potřebovat je ten, co se postará a poslaná data.
reg_zpracuj.php

<?php
ob_start();               // cachujeme vystup
  if(isset($_POST['sent'])){      // pokud byl odeslan formular pokracuj timto
    $jmeno=trim($_POST['jmeno']);
    $heslo1=$_POST['heslo'];
    $heslo2=$_POST['heslo_znovu'];
    $mail=trim($_POST['mail']);
    $web=trim($_POST['web']);
    if($jmeno=="" or $heslo1=="" or $mail==""){ // pokud nebylo vyplněno něco z toho, co je povinné, dáme vědět a skript ukončíme
      echo "Nebyly vyplněny všechny povinné údaje!";
    }else{              // povinné udaje vyplněny vsechny
      require "db.php";     // pripojime se k databazi
      $PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `uzivatele` WHERE `jmeno`='$jmeno' OR `mail`='$mail'"),0);
      if($PocetStejnych!=0){    // pokud v db je jiz takove jmeno nebo heslo...
        echo "Zadané jméno nebo email je již používán někým jiným!!!";
      }elseif($heslo1 != $heslo2){    // pokud se hesla nerovnají
        echo "Zadané hesla se neshodují!!!";
      }else{            // hesla se shoduji, vlozime tedy data do databaze
        $heslo=md5($heslo1);  // zahashujeme heslo
        if($web=="http://" or $web==""){ //pokud nezadal web tak dame promennou web prazdnou
          $web="";
        }
        $VlozData=mysql_query(" INSERT INTO uzivatele (`jmeno`,`heslo`,`mail`,`web`,`prava`)
                      VALUES
                    ('$jmeno', '$heslo', '$mail', '$web', '0')  ") or die (mysql_error());
        // Jako posledni hodnota je "0", to jsou ty prava uzivatele.
        if($VlozData){
          echo "Data byla uložena";
        }
      }

    }
  }else{
    echo "Nebyl odeslán formulář";
  }
// pokud pouzijete HEADER LOCATION tak by pred nim nemelo byt zadne platne ECHO
echo "<a href='index.php'>index</a>";
// samozrejme zde muze byt presmerovani na jinou stranku pomoci
// header ("Location: index.php");
ob_end_flush();
?>

Takže to by bylo zpracování dat. Samozřejmě kód by šel značně vylepšit, je to jen demonstrativní ukázka. Pokud nemáte na hostingu magic_quotes_gpc=On doporučuji ještě data před vložením do databáze ošetřit (čti i diskuzi).
Pokud neznáte nějakou funkci, doporučuji manuál.

Seznam použitých funkcí a konstrukcí:

No a možná se tu někdy objeví pokračování:-D

Ukázka: Registrace v PHP – ukázka

Navazující články


<Starší | tento článek | Novější>

Napsáno: 11. 8. 2006, 11:31 | Přečteno: 23463x | Kategorie: PHP School | Napsal: peCan.cz |
Komentáře: 102
.:. Acci | www
If, else, require a echo nejsou funkce ale jazykové konstrukce ;-)
Odpověď | 2006-08-11 13:08:10
.:. peCan | www | mail
Acci: :-D. Ok opravím. Ach ta terminologie.
Odpověď | 2006-08-11 13:11:19
Pekny neco s tim potom zkusim!!;-)
Odpověď | 2006-08-11 17:18:30
tohle si musím dát do záložek, to se bude hodit od září ve škole :-)
Odpověď | 2006-08-11 17:19:13
.:. James | www | mail
tesim sa na pokracovanie ;)
Odpověď | 2006-08-11 18:05:48
.:. James | www | mail
som zaciatocnik a mysql sa iba ucim, tak by som sa chcel spytat, ze ked chcem slovenske kodovanie co mam napisat namiesto ENGINE = innodb CHARACTER SET utf8 COLLATE utf8_czech_ci; diki moc ;-)
Odpověď | 2006-08-11 18:14:08
Cashujeme, cashujeme. Kdybych měl k dispozici cash místo cache, tak už bych byl určitě někde jinde, než u notebooku na tomhle blogu :-D

(PS: A jsou to konstrukce, ne konstukce :-) )

Jinak ještě dotaz k vytváření spojení s MySQL, jaký je rozdíl mezi Tvými třemi dotazy character_set_* a jediným 'SET NAMES utf8'? Protože já používám to druhé a funguje to taky bez problémů (MySQL 4.1) ;-)
Odpověď | 2006-08-11 18:31:11
.:. error414
SET NAMES je jakoby agregacni konstrukce, ta nastavuje kodovani pro
character_set_client, character_set_connection a character_set_results

takze
SET NAMES UTF-8 je uplne stejne jako

character_set_client = utf-8
character_set_connection = utf-8
d character_set_results = utf-8
Odpověď | 2006-08-11 19:10:03
Díky, myslel jsem si to. Takže bych používal raději 1 SQL dotaz, než 3, ne?
Chtělo by to benchmark.
Odpověď | 2006-08-11 19:20:52
.:. Acci | www
1) proč cachuješ výstup?
2) místo $jmeno=="" je lepší použít funkci empty
3) nemá být na 16 řádku elseif?
4) může se stát, že se zaregistrují dva lidé se stejným jménem
Odpověď | 2006-08-11 21:45:37
.:. Acci | www
Oprava:
Stát se to nemůže, ale systém vypíše SQL chybu, což není zrovna dvakrát pěkné.
Odpověď | 2006-08-11 21:47:39
.:. peCan | www | mail
Acci:
1.) Vetsinou vystup cachuju - vystup se vypusti naraz, minimalizuje se headers already send...
2.) Ano je, bohuzel jsem si na to nezvykl a pouzivam toto. Vysledek je tentyz.
3.) Je preci jedno jesli pouziju if(){}elseif(){}else{} nebo 2x if..
4.) Je to spravne a ani chybu to nevyhodi. V pripade, ze je mail (nebo jmeno) jiz zadany result vrati 1. Pokud tam je takove jmeno i email, result vrati 2ku.

James: utf8_slovak_ci

The Zero: ok, 2 preklepy, pokud to tak hrozne vadi tak se omlouvam:-)
Jinak s tim SET NAMES - ano, pokud mam 3x query tak je to asi o 1/3 pomalejsi, pokud ale dam moje 3 dotazy do jednoho, vysledky jsou naprosto indenticke. Pri opakovani 2000x skript se 3 dotazy trval 9.12s a ten tvuj 6.2s. Pokud jsem do dal do jednoho dotazu, vysledek byl stejny 6.2s.
Z toho tedy plyne, ze je jedno co se pouzije, ty mas kratsi zapis a tak jsi vyhral:-)
Odpověď | 2006-08-11 23:30:49
.:. někdo
no nechci se hádat, když vidim, co jsi vytvořil za redakční systém, ale přecejen si myslím, že Acci má s tím elseif pravdu... tam ta podmínka říká: pokud je takové jméno a email již v databázi, vypiš, že již existuje. pokračovat by se tady mělo jen pokud tam to jméno a email neni, to znamená else. ale ty tam else nemáš, takže se pokračuje vždycky... registraci pak sice zastaví databáze při snaze zapsat stejnou hodnotu do unikátního sloupečku, ale to asi Acci myslí, že pak vyhodí ten error... no nevím... ;-)
Odpověď | 2006-08-12 00:55:07
.:. peCan | www | mail
někdo: Aha, ja jsem dilina, prvni jsem tam mel u te podminky exit; ale pak jsem to jeste nejak predelaval a zapomel na to. JJ to je bug jak prase, opravil jsem to. Dik
Asi budu muset napsane skripty nejdrive vyzkouset jesli hlava dobre myslela a ruce dobre psaly:-D
Odpověď | 2006-08-12 09:40:25
funguje...este prihlasovani a je to ok :-D
Odpověď | 2006-08-13 00:07:48
.:. medik
v jakem časovém horizontu plánuješ přihlašování a rozdělování prav?
Odpověď | 2006-09-04 16:58:11
.:. peCan | www | mail
medik: odkaz a má to ještě jeden díl.
Rozdělení práv je už jen testování jedné proměnné.
Odpověď | 2006-09-04 19:02:07
.:. max_lama
cest, nevim proc ale ta registrace mi porad hazi chybu ze nebyly vyplneny vsechni udaje. nevim co s tim. poradi mi nekdo pls ??
Odpověď | 2006-10-24 16:53:12
.:. peCan | www | mail
max_lama: No a vyplnil jsi je?;-) Ukaž stránku kde to máš...
Odpověď | 2006-10-25 08:18:50
.:. dix
Pořád mi to píše:
Spatne zadana databaze v admin/db.php

Co s tim, vždyt tam ani adresář admin neni, ne?
Odpověď | 2006-12-17 08:46:09
.:. luko | mail
Nevies mi poradit ako sa pripojim na mysql databazu ale z ineho serveru? Prakticky priklad: mam web na serveri ktory nepodporuje mysql a potrebujem tam pouzit prihlasenie s pouzitim myqsl, ibaza tu databazu by som chcel pouzit z ineho servera. ide to? 8-o
Odpověď | 2007-01-19 23:03:13
.:. Petr | mail

CHci se optat jak je to s těmi právy jako ty se dají použít např jako pro admina uživatele autora a tak. Nebo jak??? Či jak udělat asministrátora který bude moci články mazat a přidávat?? (asi trochu moc najednou ale děkuji za odpovědi. Také se učím tak pls co nejjednodušeji.;-)

Odpověď | 2007-05-07 12:41:11
.:. peCan | www | mail

Stáhni si ten příklad a podívej se na to. Princip je takový, že umožníš zobrazit stránku (přidávací formulář..) jen takovému uživateli, který na to má právo.

Odpověď | 2007-05-07 12:55:36
.:. cupik

muzu se zeptat proc se mi pri pokusu o vytvoreni tabulky uzivatelu zobrazuje tato hlaska?

#1064 – You have an error in your SQL syntax near ‚ENGINE = innodb CHARACTER SET utf8 COLLATE utf8_czech_ci‘ at line 9

Odpověď | 2007-05-19 15:02:52
.:. peCan | www | mail

Nejspíš máš nejakou starší verzi SQL serveru.

Zkus

CREATE TABLE `uzivatele` (
   `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
   `jmeno` VARCHAR( 32 ) NOT NULL ,
   `heslo` VARCHAR( 32 ) NOT NULL ,
   `mail` VARCHAR( 64 ) NOT NULL ,
   `web` VARCHAR( 128 ) NOT NULL ,
   `prava` TINYINT NOT NULL ,
    UNIQUE (`jmeno` , `mail` )
) ENGINE =MyIsam;
Odpověď | 2007-05-21 08:19:23

1)Zdravim, sem začátečník kapánek, takže se ten log script snažim pochopit, atak bych chtěl poprosit o radu nebo nějaký další díl, jak pokračovat s nastavováním práv, co s tím jde dokázat (s těmi právy)atd.

2)Potřeboval bych poradit, jak udělat, aby mi po přihlášení script přesměroval na stránku index2.php místo zpět na index jenom s tím rozdílem, že by byly přístupně další sekce

Díky moc za odpovědi

Odpověď | 2007-05-20 20:51:18
.:. peCan | www | mail

Ad 1). Zdyz si stahnes ten skript, vytvor si uzivatele, dej mu do sloupce prava hodnotu 0 1 nebo 2. Podle toho si poznacis, k cemu ma uzivatel pristup. Ve skriptu pak kontrolujes, zda muze k danemu souboru pristoupit. Viz stazeny skript.

ad 2). V souboru logout.php je na radku 7 header („location: index.php?Aler­t=7“); Prepis si to na ten index2.php..

Odpověď | 2007-05-21 08:26:33
  1. a to tam ty práva můžou mít jenom 0 1 nebo 2 ???

Dyk nahoře je napsáno, že může nabývat hodnot od –128 do +128.

  1. To je sice hezký, ale já sem chtěl po přihlášení a ne odhlášení ;-)
Odpověď | 2007-05-21 19:20:24
.:. peCan | www | mail

Můžeš tam mít i těch 128, záleží jen na tobě, kolik jich použiješ. Pokud by jsi potřeboval víc, stačí změnit datový typ toho sloupce.

Pokud přihlášení, tak to je v login_zpracuj­.php na řádku 25.

2007-05-22 08:28:56
.:. tomcon | www | mail

Prima. Díky moc, právě jsem si stáhnul celý tvůj kód a snažím se procházet řádek po řádku a porozumět mu, protože ho chci přidat na stránky. Děkuji Ti moc a poslal bych Ti i příspěvek, pokud bys měl účet:)

Odpověď | 2007-06-04 22:21:31
.:. peCan | www | mail

Ucet samozrejme mam a prispevek by se hodil, ale verejne tu cislo uctu psat radeji nehodlam:-)

Odpověď | 2007-06-05 08:07:54
.:. tomcon | www | mail

No, pokud by ten příspěvek nepřesahoval 3000,– Kč, tak to nemusíš uvádět ani jako dar. Jinak nevím, myslím že máš zbytečné obavy. Jako dobrovolný příspěvek, víš. Jeden známý to má tak zařízené. Nevím, co v tom vidíš ty?

Odpověď | 2007-06-05 23:49:01
.:. peCan | www | mail

Tak mě je to celkem jedno, že? :-) Akorát se divím – v ČR totiž co není přibité hřebíkem pomalu už není tvoje a ty mi chceš přispět jen tak. Asi jsi za 2 roky první:-D.

Pro všechny:

Kdo by mi náhodou chtěl dobrovolně přispět do výše 3 000kč, může tak učinit na č.ú. 2352142001/2400. Doufám, že zítra nebudu milionář, to bych si muset trhat vlasy, že jsem tu nedal účet už dřív;-)

2007-06-06 08:12:22
.:. jirka

ahoj. jsem v programování PHP tak trochu lama. Stáhnul jsem si tvůj praktick ý příklad registrace, přepsal jsem si název databáze v inc/db.php a spouštím index.php. Pokaždé mi ale zobrazí tuto nesmyslnou hlášku: „Volaný soubor neexistuje“. Poraď mi co mám dělat a co mám blbě v index.php? K čemu slouží přesně $soubor2= dirname($_SER­VER[‚SCRIPT_FI­LENAME‘]).„/“­.$soubor.„.php“; tento řádek – jak to dirname přesně pozná, že má vybrat registrace.php. Díky moc

Odpověď | 2007-06-05 15:11:57
.:. JIRKA | www | mail

Pokaždé mi ale zobrazí tuto nesmyslnou hlášku: „Volaný soubor neexistuje“. Poraď mi co mám dělat a co mám blbě v index.php? Co s tím, poraďte mi i ostatní zkušenější, prosím.

Odpověď | 2007-06-06 21:09:07
.:. peCan | www | mail

No a jak ten soubor volas?

Odpověď | 2007-06-07 08:06:07
.:. jirka | www | mail

Ahoj. No ja jsem asi fakt lama. Ale já normálně kliknu jen na odkaz registrace z tvého formuláře. Vše zůstává zachováno stejné jak v tvém příkladu. Běží mi to na localhostu/stran­ky/index.php. V nastaveni v adresari APACHE/httdc/str­anky/inc/db.php mam zmeneno jmeno databaze na sdruzenizeme. V PHPmyadminu mam vytvorenou databazi sdruzenizeme a v ni tabulku uzivatele. Trochu jsem tvuj kod predavani dat z formulare upravil – pridal jsem tam prijmeni, ale taky jsem tuto promennou pridal do reg_zpracuj.php jak do promenne, tak i do funkce Vlozdata. Takye tyto upravy jsou korektni. Jedine co nevim kdyz je v index.php adresa odkayzu http://localhost/…ky/index.php?… tak proc mi to pak v kodu nevlozi/neincluduje do index.php registrace.php. Ani u ostatnich odkazu – treba kdyz znovu odmacknu uvod.php – opet proces nekde zabloudi a nahraje tam podminka hlasku „Volany soubor neexistuje“. Víš v čem může být zakopaný pes? Kdyžtak bych to mohl hodit na web na domenu a ukazat ti to;-)

Odpověď | 2007-06-07 10:53:56
.:. jirka | www | mail

Ahoj. Tak, teď jsem to překopíroval na web a tam už to tuto nesmyslnou hlášku nepíše, Super! Ale ouha, když vyplním formulář, tak tam zase vyskočí hláška „Formulář nebyl odeslán“. Kua, proč? Co mám zase blbě8-o Jinak tuto mám ten soubor na webu „http://brno.sdru­zenizeme.cz/in­dex.php?page=re­gistrace“ Pokud mi to vysvětlíš pošlu ti příspěvek na účet – nekecám, fakt.;-)

Odpověď | 2007-06-07 11:05:19
.:. peCan | www | mail

V tom formuláři bylo:

<input type="hidden" name="sent" value=""/>

a ty jsi to z tama oddělal. V souboru reg_zpracuj.php je podmínka

if(isset($_POST['sent'])){

a tím si testuju, jestli byl formulář odeslán. Pokud nebyl, hlásím hlášku co ti to píše.

Odpověď | 2007-06-07 13:16:06 | Příspěvek upraven: 2007-06-07 13:16:54
.:. jirka

Jo dIky, pomohlo mi to. Ale, ještě mi toáže chybu. Tentokráte jinou. A to s heslem. Když vyplním správně všechny požadované údaje, tak mi to zase zahlásí „Nebyly vyplněné všechny požadované pdaje“ – error hlášku error404.php a pokud upravím soubor registrace a přepíšu name=„heslo“ na name=„heslo1“, protože mám pocit, že v reg_zpracuj se vyhodnocují hodnoty heslo1 a heslo1 a odesílají těmito řádky $heslo1=$_POS­T[‚heslo1‘];
$heslo2=$_POS­T[‚heslo2‘]; – pak mi to vypíše error Warning: mysql_connect(): Access denied for user ‚jmeno‘@‚localhost‘ (using password: YES) in /srv/mathopd/www/brno­.sdruzenizeme­.cz/public_html/in­c/db.php on line 2 Spatne zadane udaje (asi heslo, server nebo jmeno.) v inc/db.php. Já fakt nevím kde mám chybu?8-|

Odpověď | 2007-06-07 17:15:59
.:. admin | www | mail

Myslím že v originále se ty posty nejmenují $_POST[‚heslo1‘] a $_POST[‚heslo2‘], ale $_POST[‚heslo‘] a $_POST[‚heslo_zno­vu‘].

Jinak ten warning značí, že se nepodařilo připojit k databázi. Máš správně zadané údaje v DB.php?

2007-06-11 10:55:34

Omlouvám se že ruším vaši diskuzi ale zřejmě bych potřeboval poradit. Stáhnul jsem si celý ten příklad. Rozjel Apache, MySQL. Registrace funguje bez problemu (údaje uloží do databaze) ale kdyz se chci prihlasit tak nelze (Zadal jsi nesprávné údaje !) Kde dělám chybu ? Databaze : tutorial Tabulka : uzivatele…. prosím o radu. Děkuji

Odpověď | 2007-06-11 22:43:51
.:. peCan | www | mail

A zadáváš tam správné údaje? (Popřípadě i case-sensitive?) Registrace proběhla v pořádku?

Odpověď | 2007-06-12 08:11:10

Jsem si stoprocentně jist že údaje zadávám správně. Jak jsem jiz psal registrace probela uspesne a data byly zapsany do příslušné databaze. Kdyz projdu krok za krokem login_zpracuj.php tak si myslím že údaje z databáze přečte ale ta promena uz nemá správné data. Malý test pokud do promene natvrdo napisu „jirka“ ($Vysledek=„jir­ka“;) a prihlasim se jako uzivatel jirka tak je vse ok ? Urcite je to nejaka prkotina … :o( jen ji proste nevidim ( pascal nebo ms access nejak zvladunu ale php je pro me uplne nove )

Odpověď | 2007-06-12 21:47:01
.:. b.

Jak je možné abych vypsal pouze EMAIL? Díky moc

Odpověď | 2007-09-03 21:12:27

A kde to chces vypsat?

Odpověď | 2007-09-04 09:01:50
.:. b.

ano, do <input type=„text“ name=„mail“ size=„30“ class=„input“ maxlength=„50“ value=""/>

Odpověď | 2007-09-04 19:24:12
.:. b.

tak ví někdo?:-( prosím

Odpověď | 2007-09-05 18:38:21
.:. b.

ano, do <input type=„text“ name=„mail“ size=„30“ class=„input“ maxlength=„50“ value=""/>

Odpověď | 2007-09-04 11:06:09

Ale chces tam napsat hodnotu z db nebo treba to co jsi do toho pole naposledy zadal?

Odpověď | 2007-09-05 21:36:31
.:. b.

já bych tam nejraději email toho kdo je přihlášen:-)

Odpověď | 2007-09-05 21:39:15
.:. b.

takže asi nic že?:-(

Odpověď | 2007-09-07 12:32:07
.:. b.

vidím, že i pána Pecana, jsem mojí otázkou asi zaskočil…

Odpověď | 2007-09-08 21:30:39

:-D. Jen neni cas.

Je to trivialni.

<input type="text" name="mail" size="30" class="input" maxlength="50" value="<?php
if(isset($_SESSION['UserMail'])){echo $_SESSION['UserMail'];}?>"/>
Odpověď | 2007-09-08 22:16:29 | Příspěvek upraven: 2007-09-08 22:17:07
.:. b.

proč zrovna"UserMail"

Odpověď | 2007-09-09 13:16:58

http://pecan.cz/index.php?… protoze to tak mam definovane v dalsim dile…

Odpověď | 2007-09-09 15:26:08

Chlapi pomozte mi mám operu 9.23 a nejsem v schopen uploadovat soubory na server. Co se s tím dá dělat?

Odpověď | 2007-09-16 01:07:09
.:. hOnza

Jak si zmenim ty práva ?

Odpověď | 2007-10-18 23:40:31
.:. Ivory_CZ

Zdarec. Všechno mě funguje ale mám problém s češtinou. Odešlu registraci, přijde to na server. Všechno OK. Data se zapíšou, ale když např. napíšu nějaký písmeno s háčkem nebo čárkou (ěščřžýáíé) tak mě to místo toho písmena hodí prázdný místo. Poraď mi. Diky moc

Odpověď | 2008-03-13 15:53:37

Záleží v jakém kódování jsou uloženy soubory a v jakém kódování máš databázi.

Odpověď | 2008-03-13 16:08:10
.:. Ivory_CZ

Chápu. Dííííky

Odpověď | 2008-03-13 16:51:40
.:. Michal

Jak udělám dotaz to samé jen s tou změneou, že ten kdo se registruje, musí být jeho registrace před přuhlášením schválena? Moc by mi to pomohlo. Děkuji

Odpověď | 2008-03-20 20:02:08

velmi podobně. jen rozšířené o jeden sloupec. a při přihlašování do podmínky dáš, že musí být ověřený…

Odpověď | 2008-03-20 20:15:54
.:. Michal

A jak by ten dotaz měl přesněji vypadat?

Odpověď | 2008-03-20 20:21:54
.:. Michal

No tak tanulku bych měl ale teď tu podmínku. Vůbec nevím kde ji napsat a jak ji napsat.8-|

Odpověď | 2008-03-20 21:03:58

Předpokládám, že píšeš i na diskuzi – http://www.jaknaweb.com/ukazuj.php?…

čili uděláš si další sloupec jak radil morelo a pak při přihlašování jen vybíráš z těch, kteří jsou autorizovaní.

$query = mysql_query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$name' AND `heslo` = '$pass' AND `aktivni`= 1 ") or die (mysql_error());
Odpověď | 2008-03-20 21:04:10
.:. Michal

nn tam nic nepíšu. Ale má tam samý problém jak já:-D

Odpověď | 2008-03-20 21:07:04
.:. Michal

No tu tabulku už mám. Teď ještě potřebuji tu podmínku. Vůbec nevim. My sme se to kdysi učili ale nemžu si vzpomenout. Je to primitivní ale prostě nevim. Díky

Odpověď | 2008-03-20 21:14:24

Však jsem ti to tady napsal…

2008-03-20 21:22:43
.:. Michal

Aha. Ježiš já su dement. Radši si du už lehnout:-D

Odpověď | 2008-03-20 21:27:10
.:. Karel

Dobrý den,
Mám ten samý problém jako Michal. Akorát neviím přesnné znění dotazu a ani nevím, kam mám napsat tu podmínku. Mockrát děkuji za Vaši odpověď.8-|

Odpověď | 2008-03-21 09:00:23
.:. ich

Při registraci mě to hned hodí do skryté sekce. Nwm proč. Potřebuji, abych tu registraci musel nejdříve schválit.

Odpověď | 2008-03-21 14:09:33

Michale, Karle a ichu, píšeš z jedné IP – není ti to trapné? Místo toho aby jsi tady tapetoval diskuzi radějí přemýšlej, jak to máš udělat. Vodítek ti bylo poskytnuto dost.

Odpověď | 2008-03-21 14:31:50
.:. Michal

No tak to bude nejspíše tím, že sme z jedné vesnice a sme napíchnutí na stejného provozovatele a chodíme d stejné třídy a dostali jsme stejný ukol:-D

Odpověď | 2008-03-22 12:01:07
.:. Phoenix | www

PLS PLS Moc prosim nemohol by si spisat clanok ako urobit take prava?? Ze by sa napr do niektorej stranky dostali len ty co budu mat prava 2 a tka pod… nevim ako na to az by si to mohol napisat navod nato bol by som ti moc vdacny

Odpověď | 2008-05-13 16:45:51

Však tento seriál podobný příklad obsahuje.

Odpověď | 2008-05-13 17:47:55

Ja sa do PHP v spolupraci s MySQL nevyznam preto sa pitam ze ako by to malo vyzerat :-( moc by sa mi to zislo

Odpověď | 2008-05-13 20:11:37

Díval jsi se na ten příklad co je ke stažení u třetího seriálu?! Tam to totiž je!

2008-05-14 08:20:01

Ano ja som si to stiahol ale nevidim tam nist take. Vis ze napr aby sa do urcitej stranky dostali len uzivatelia co maju prava napr 2. Ako mam upravit ten kod? co tam mam pripisat aby to slapalo? (Sorry ze ta tak otravujem ale v tomto smere s amoc nevyznam a dost by som to potreboval)

Odpověď | 2008-05-15 21:16:41

peCane sry ze som otravoval ja som si to tam fakticky nevsimol :D … fakt moc sry a funguej to presne ako som chcel.. si PHP BOH!

Odpověď | 2008-06-07 10:32:51
.:. Dark | www | mail

Warning: mysql_result(): supplied argument is not a valid MySQL result resource

Neviete čo stým môže byť ?? :-( robi to len ked napíšem meno alebo heslo s diakritikou,dalej vypíše že registrácia bola úspešna ale do DB mi prijde len napr: šaša a v DB ?a?a už som skúšal aj meniť kodovanie a nič stránka aj BD ide na utf8_slovak_ci

Odpověď | 2008-06-20 09:43:02

Potřeboval bych vědět kde kontrétně ti to píše.

Odpověď | 2008-06-20 11:52:54
.:. Dark | www | mail

už som to vyriešil predsa len databáza bola v inom kodovani ako tabulka som si to nevšimol :-( ale teraz by som chcel vedieť ako sa da zabezpečiť lubovolná stránka musi obsahovať nejaký skript alebo niečo podobné aby mi to vôbec bolo k niečomu ?

Odpověď | 2008-06-20 13:11:14
.:. Dark | www | mail

ešte bi som chcel vediet neviete o nejakej stránke kde nájdem tutorial na vytvorenie vlastného bota ? potrebujem niečo čo čo sa prihlási na stránku nastavý tam nejaké veci a potom sa odpojí.. vlastne aby som bol presnejší tak ked sa niekto registruje tak chcem aby sa stranka sama prihlasila na moju admin stranku a tam si vytvorila FTPcestu pre tu doménu bez toho aby som to musel ja nastavovať,vyt­vorenie subdomeny nieje problém a ani nahranie tam nejakých uvítacych skript len to ftp neviem zautomatizovať poradte prosim kto vie ako to spraviť

Odpověď | 2008-06-20 17:11:13

Som trosicku lamka a zaujimala ma jedna vec

$jmeno=trim($_POST['jmeno']);

Co sposobuje to TRIM ? ako co to udela? co to ovplivni? a keby to tam nedam? ja vim mozno trochu divny dotaz ale ece sa da povedat ze sa to len ucim…

Odpověď | 2008-07-15 19:37:05

zdravim ja mam s tymto trocha problem.....ked som si tento script dal na web tak jeden den mi to slo v pohodicke ale na druhy den mi to uz nefacha…vzdy mi to vypise ze Nebyl odeslán formulář ......co s tym moze byt???:-(

Odpověď | 2008-09-02 19:28:50

Ahoj, Msm problem s podminkou vytvoril jsem si 4 ucty

ID l práva l otevře mi to stránky l 1 l 1 l 0 , 1 l 2 l 2 l 0 , 1 , 2 l 3 l 0 l 0 l 4 l 25 l 0, 1 , 2 , 25 l

jak udelam abych mel treba ucet s ID 1 podminkou 2 a otevre se mi jen stránka 2 a ne 0,1,2??

Odpověď | 2008-10-08 00:03:21
.:. kubatt | www | mail

Warning: mysql_connect(): Lost connection to MySQL server during query in /3w/wz.cz/v/vel­kejmachr/db.php on line 2 Critical error! Nepodarilo se pripojit k databazi!

vždy se mi tam ukáže toto když dám zaregistrovat pomůže mi někdo? prosíím díík

Odpověď | 2009-01-29 18:00:25
.:. kubatt | www | mail

Warning: mysql_connect(): Lost connection to MySQL server during query in /3w/wz.cz/v/vel­kejmachr/db.php on line 2 Critical error! Nepodarilo se pripojit k databazi!

vždy se mi tam zobrazí tohle když kliknu na registrace pomůže mi někdo? prosíím díík

Odpověď | 2009-01-29 18:03:31
.:. peCan | www | mail

A co tak nastavit připojení k databázi?

Odpověď | 2009-02-01 15:11:12
.:. arno

POtreboval by som pomoct pri odoslani z formulara registracie mii vypise toto kde je chyba?

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/free/hus­tej.net/p/pdcup­/root/www/skus­ka/registraci­a.php on line 12 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''meno',‚heslo‘,‚pra­va‘) VALUES (‚arno‘,‚776ad0e­f27acc0602c337dc2­736f3a97‘,‚0‘)' at line 1

Odpověď | 2009-03-03 14:11:10

A dalo by sa urobit take ako protected ale aby to zobrazovalo len adminovi napr ked mam login admin?

Odpověď | 2009-03-15 19:55:40
.:. Aeonek | www

No v db.php máš chybu kterou začatečníci hledaj s těží místo $spojeni = mysql_connect(„SER­VER“,„UZJMENO“,„HES­LO“) or die (‚<b>Critical error!</b><br­>Nepodarilo se pripojit k databazi!‘); máš $spojeni = mysql_connect(„SER­VER“,„UZJMENO“,„HES­LO“ ) or die (‚<b>Critical error!</b><br­>Nepodarilo se pripojit k databazi!‘); překlep si udělal za „HESLO“ máš tam mezeru a pak )

;-)
Odpověď | 2009-06-29 11:13:53
.:. b0b1k

To je hrozný :-D

Odpověď | 2009-10-21 11:28:32

prosim vas, neviete preco mi ukazalo: Warning: Cannot modify header information – headers already sent by (output started at C:\_____HRY\x­ampp\htdocs\reg_zpra­cuj.php:1) in C:\_____HRY\x­ampp\htdocs\reg_zpra­cuj.php on line 37

prepisoval som ceske nazvy niektorych casti na slovenske, aj 5× som to skontroloval ci som nieco nevynechal (a nevynechal :D) a toto ukazalo :( DB s premennymi v scriptoch som tiez porovnaval a prezeral a bez chyby… pls help

Odpověď | 2009-11-21 22:54:26

To bude tím, že jsi soubor neuložil v kódování UTF-8 bez BOM. Viz google.

Odpověď | 2009-11-22 10:33:12

nakoniec to neslo, lebo som to mal cez svoj srv.. na FTP cez webzdarma to slape :)

btw. pre tych co potrebuju ukladat bez BOM da sa to aj cez DzSoft PHP Editor

Odpověď | 2009-11-22 14:40:11

tak nakoniec to blbne v tom, ze po zadani spravnych udajov ukazuje problem ze som zadal zle udaje :(

2009-11-22 14:44:31

tak uz to slape, problem bol v poslovencovani :D

sry za spam, ale nemas tu editaciu prispevku

2009-11-22 15:18:26

velmi ti dakujem je to uzitocne

Odpověď | 2010-03-01 16:41:38
.:. slim12 | www | mail

je to fakt parada tohle se da udelaz behem 10 minut

Odpověď | 2010-03-15 13:38:52
.:. Slappy

Cauko mam otazku ktora dost ponahla preto by som bol rad aby si sa pokusil co najskor odpovedat… Potrebujem vediet ako urobit vycuc z databazy tak aby sa zobrazovali uzivatelovy napr USER len informacie ktore ma vyplnene v db USER a ziadne ine?

Odpověď | 2010-06-14 00:16:22
Přidej komentář
Jméno
Web
Mail
Kontrola Zadejte číslo pět
Text

:-)
:-D
:-(
|-/
:-[]
;-)
8-|
8-o
Zde formátuje Texy! (syntaxe)
  • Příklad formátování příspěvku:

    **Tlustě**
    *Kurzíva*
    "Odkaz":http://neco.cz nebo http://neco.cz (i www.neco.cz)
    /---code php
    php kód
    \---

  • Pro odeslání zprávy můžete použít klávesovou zkratku Alt+S. (Podporují jen některé prohlížeče)
  • HTML znaky budou převedeny na entity.
  • Vyjadřujte se tu jako doma, ať víme jak to u Vás vypadá.
  • Odkazy začínající http:// budou automaticky převedeny na odkazy , nepoužívejte však v jednom příspěvku více jak 3 - to dělají jen spam roboti:-)
Víte, proč nesmějí divoká prasata na nudapláž? ?? Protože žerou žaludy!
Petr Graubner | ICQ- 264912843, Jabber - pecan27@njs.netlab.cz | RSS | Šlape na miniRS | Styl CoolStyle | Zpracováno za: 1.25s | Počet SQL dotazů ve fóru: 1 | Admin