VLASTNÍ DISKUZE
16 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Zdarec lidi! Potřeboval bych poradit. Chci vytvořit jakýsi fan klub jedný zpěvačky:o) do kterého by se každý pomocí formůláře registroval. Současně by na jedný stránce byl výpis všech už zaregistrovaných. A tou registrací by se zároveň zaregistroval do diskuzního fóra, do kterého mohou přispívat jen členové. doufám, že mě chápete a předem díky! pumqpkin
-
A s čím chceš valstně poradit? Přímo hotový kód ti tu nikdo asi nehodí!!! Najdi si na webu nějaký článek o registraci, pak o autorizaci a zkus na to přijít (doporučuji např. www.interval.cz - podívej se i do starších článků nebo dej hledat klíčová slova). Pokud nebudeš něčemu rozumět, pak se teprve obrať sem a někdo ti poradí. Když sem dáš třeba své pokusy a nebudeš vědět jak dál, každý ti milerád odpoví a pomůže. Ale takto? PAVEL
-
no..nebo mi dej pjeto a já ti to udělám :)
-
Kdyz jsem zacal delat PHP tak jsem mnel taky takovy dotazy jak udelat cely web takze to chapu. Moje rada je venm si priklady manual a par mnesicu se uc pak sem prid a rekni konkretny problem. Mimochodem tohle jsem tuhle radu jsem dostal pred pulrokem ja a tet si v php udelam co chci opcas mam taky problemy a nezvladnu neco ale to kazdy.
-
tak díky. Vím, můj dostal byl tak trochu triviální..přemýšlel jsem, že bych si na intervalu podle jednoho článku udělal diskuzní fórum s registrací. Přidal bych tam nějaký položky a na tý stránce se seznamem fanoušků bych jen vypsal data z databáze. Co vy na to? Šlo by to tak?
-
to musis vedet sam jestli by to pro tebe bylo prijatelne cisteteoreticky by to slo a prakticky taky tzed zalezi na tobe jak stim budes valcit Praci zdar
-
Tak jsem to podle článku na Intervalu, která je na adrese http://www.interval.cz/clanek.asp?id=792 udělal, ale potřeboval bych ještě k registraci na vyplnění pár dalších věcí. Nevíte někdo, jak na to?
-
co presne potrebujes z tim poradit ? tam je tech veci vicerao a kdybych mnel vymajslet vsechny eventuality tak bych si mohl rovnau napsat vlastni verzi tohoto clanku pokud nevis jak polozit dotaz vykopiruj sem tu cast clanku ktere nerozumis
-
Zdenek>já jsem tu registraci do diskuzního fóra použil zároveň jako registraci do fan klubu. Jenže jméno a email nestačí a proto bych potřeboval poradit, jak k registraci jména, emailu a hesla přidat ještě kolonky pro vyplnění webové stránky a nějakého vzkazu. To všechno se už nemusí zobrazovat u příspěvků, ale jen aby se to zapisovalo do databáze. Prostě nějak poupravit skript pro vytvoření tabulky a ve skriptu s formůlářem to nějak zfunkčnit. díky!
-
create_table = MySQL_Query("CREATE TABLE users ( name varchar(50), password varchar(20), email varchar(50), web varchar(20) NULL , //tyto dva radky by mohly poznamka_vzkas text NULL, // posluzit k vypneni techto udaju )") or die($query_error); toto jeprovytvoreni te tve tabulky pak bude mirne upraven i skript pro vkladani novych prispevku
-
Zdenek>strasne ti dekuju, ale ja sem uplny tele, takze jsem v tom skriptu a formulari udelal jen tyto změny, což je asi blbě, protože tam můžou přispívat i neregistrovaný a při dokončení registrace se mi nic nezobrazí ani nepřesměruje.. todle jsem změnil já: $add = MySQL_Query("INSERT INTO users VALUES ('$name', '$password', '$email', '$link', '$web')") or die($query_error); a <tr><td class="table">Váš web:</td><td><input type="text" name="web" value="<?echo $web?>" size="30" maxlength="50" class="input" style="WIDTH: 250px"></td></tr> a toto je celá skript reg.php: <? if(IsSet($sent)): //byl odeslán formulář? require("db.php"); //otevřeme databázi $write = true; //předpokládáme úspěšný zápis if($name=="" || $password=="" || $password_2==""): //byly vyplněny všechny povinné údaje? $error = 'Musíte vyplnit všechny povinné údaje - označeny tučným písmem.'; $write = false; elseif($password!=$password_2): //rovnají se hesla? $error = 'Heslo nebylo zadáno správně.'; $write = false; else: //existuje zadané jméno? $user = MySQL_Query("SELECT name FROM users") or die($query_error); while($entry = MySQL_Fetch_Array($user)): if(StrToLower($name)==StrToLower($entry["name"])): $error = 'Toto uživ. jméno již existuje, vyberte si prosím jiné.'; $write = false; break; endif; endwhile; endif; if($write): //vše zatím proběhlo v pořádku if($picture_name!=""): //byl odeslán obrázek? if($picture_type=="image/gif" || $picture_type== "image/pjpeg" || $picture_type=="image/jpeg"): //jedná se o námi akceptovatelný obrázek? if($picture_size>10240): //je velikost obrázku do 10 kB $error = 'Příliš velký obrázek - vložte prosím jiný (do 10 kB).'; $write=false; else: //do proměnných uložíme jména funkcí a koncovky v závislosti na typu obrázku if($picture_type=="image/gif"): $ext = "gif"; $src_function = "ImageCreateFromGIF"; $dst_function = "ImageGIF"; else: $ext = "jpg"; $src_function = "ImageCreateFromJPEG"; $dst_function = "ImageJPEG"; endif; $picture = StripSlashes($picture); //odstraníme escape sekvence z názvu souboru $unique = UniqID(""); //vytvoříme unikátní ID obrázku dl("php_gd.dll"); //načteme knihovnu pro práci s obrázky //zvětšení/zmenšení obrázku $src = $src_function($picture); //načteme obrázek ze souboru $ratio = ImageSX($src)/70; //poměr zmenšení/zvětšení obrázku na šířku 70 px $height = Round(ImageSY($src)/$ratio); //výška obrázku při daném poměru $dst = ImageCreate(70,$height); //vytvoříme prostor pro cílový obrázek ImageCopyResized($dst,$src,0,0,0,0,70,$height,ImageSX($src),ImageSY($src)); //zmenšíme obrázek $dst_function($dst,"images/" . $unique . "." .$ext); //zapíšeme nový obrázek do souboru ImageDestroy($src); //uvolníme paměť zdrojového obrázku ImageDestroy($dst); //uvolníme paměť cílového obrázku endif; else: //nejedná se obrázek gif, ani jpg $error = 'Nejedná se o obrázek typu GIF, ani JPG, vložte prosím jiný.'; $write=false; endif; endif; if(IsSet($unique)) $link = $unique . "." . $ext; //vytvoříme cestu k obrázku //vše proběhlo v pořádku - provedeme zápis do databáze if($write): $add = MySQL_Query("INSERT INTO users VALUES ('$name', '$password', '$email', '$link', '$web')") or die($query_error); //odešleme cookies SetCookie("cookie_author", $name); SetCookie("cookie_email", $email); //vypíšeme hlášku o úspěšné registraci a po 5s se vrátíme na úvodní stránku echo '<head><META HTTP-EQUIV="Refresh" CONTENT="5; URL=index.php"> <body> <b>Registrace proběhla úspěšně</b>:<br><br> Jméno:' . $name . '<br> Email:' . $email . '<br> Obrázek: <img src="images/' . $link . '" border="0" alt=""><br><br><br> Za 5 vteřin budete přesměrováni. </body></head>'; endif; endif; MySQL_Close(); //zavřeme databázi endif; if(!$write): //neproběhl zápis? $width=50; require ("header.php"); //vložíme hlavičku ?> <table width="50%" border="0" cellspacing="0" cellpadding="1" align="center" bgcolor="Black"><tr><td> <table width="100%" border="0" cellspacing="0" cellpadding="3" align="center" bgcolor="white"> <tr bgcolor="#4A4A4A"><td colspan="2" class="tableheading">Registrace nového uživatele </td></tr> <form method="post" enctype="multipart/form-data"> <tr><td class="table">Obrázek:</td><td><input type="file" name="picture" size="30" class="input" style="WIDTH: 250px"></td></tr> <tr><td class="table"><b>Vaše jméno (přezdívka):</b></td><td><input type="text" name="name" value="<?echo $name?>" size="30" maxlength="50" class="input" style="WIDTH: 250px"></td></tr> <tr><td class="table"><b>Heslo:</b></td><td><input type="password" name="password" size="30" maxlength="20" class="input" style="WIDTH: 250px"></td></tr> <tr><td class="table"><b>Heslo znovu:</b></td><td><input type="password" name="password_2" size="30" maxlength="20" class="input" style="WIDTH: 250px"></td></tr> <tr><td class="table">Váš email:</td><td><input type="text" name="email" value="<?echo $email?>" size="30" maxlength="50" class="input" style="WIDTH: 250px"></td></tr> <tr><td class="table">Váš web:</td><td><input type="text" name="web" value="<?echo $web?>" size="30" maxlength="50" class="input" style="WIDTH: 250px"></td></tr> <input type="hidden" name="sent" value=""> <tr><td colspan="2" align="center"><input type="submit" name="send" value="Odeslat" class="input"></td></tr> </table></td></tr></table> </form> <?if (IsSet($error)) echo '<center><font class="error">' . $error . '</font></center>'; //chybová hláška?> </body> <?endif;?> <? /* --> Nasledujici Javascript umozni kontrolu zadanych udaju jeste pred odeslanim. --> Staci pridat do tagu <form> toto onSubmit="return check(this)" <SCRIPT LANGUAGE="JavaScript"><!-- function check(form) { if (form.name.value=="") { alert("Vaše jméno (přezdívku) musíte vyplnit!"); form.name.focus(); return false; } else if (form.password.value=="") { alert("Vaše heslo musíte vyplnit!"); form.password.focus(); return false; } else if (form.password_2.value=="") { alert("Vyplňte heslo ještě jednou!"); form.password_2.focus(); return false; } else if (form.email.value!="") { re = new RegExp("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$"); if (!re.test(form.email.value)) { alert("Zadaná adresa není správnou adresou elektronické pošty!"); form.email.focus(); return false; } } else return true; } // --> </SCRIPT> */ ?>
-
to ze tam muze prispivat kazdy je v poradku to forum bylo tak napsano to mysli ze v souboru new.php upravit ze ma ma pokracovat jen kdyz heslo v databazy jeshodne zue zadanym
-
Promiň, že tě tak obtěžuju. Máš pravdu. Nějak mě zmátl ten nadpis toho článku. A kdyby se v souboru new.php neco zmenilo tak, ze ma pokracovat, jen kdyz je vyplnene jmeno shodne s jménem v datábázi, tak by to zabránilo neregistrovaným přispívat?
-
Víš co, já bych třeba zkusil ze začátku udělat to fórum a ten fanklub bez autorizace (tzn. ověřování identity prohlížeče). Lepší máš dělat to postupně a složitější věci přidávat časem, tak tomu určitě i lépe porozumíš. 1) navrhl bych si databázovou tabulku 2) udělal bych skript pro registraci uživatelů 3) např. naučit se ten výpis uživatelů 4) pokusit se vytvořit to fórum, zatím bez přihlašování a naučit se, jak to vlastně funguje. 5) až nakonec bych tam přidal tu autorizaci. Je to podle mě ta nejsložitější část. Opravdu je lepší postupovat krok po kroku, mluvím z vlastní zkušenosti. Taky jsem si vymylsel hned ze začátku šíleně složitý "redakční systém", ale příliš se mi to nedařilo. Nejvíce mi pomohly pokusy právě s vlastním fórem, s databází a rozebírání některých skriptů. Když se nad neěčím zasekneš, pak je super poradit se právě v takovémto fóru. Hodně zdaru, PAVEL
-
Pavel>já vím:o) jenže já mám problém s časem..dělám takový stránky, který by už měli být hotový co nevidět..a tohle je jediný, co to prodlužuje, tak bych alespoň potřeboval vědět, jak tomhletom skriptu zabránit vkládání příspěvků bez registrace. Zřejmě stačí něco změnit v new.php jak tady řekl Zdenek, jenže já fakt ani nemám páru co:o) Ale jinak se zamozřejmě snažím učit..
-
Víš, ono se takhle špatně radí. Celé zdrojáky tady dát nemůžeš a bez alespoň základní znalosti tvého problému to témeř nejde. Je nutné znát strukturu tvé databáze, jak by měla výsledná aplikace fungovat, co máš už napsané, atd. Takže si budeš víceméně muset poradit sám :-( Osobně doporučuji si pořídit nějakou knížku, alespoň mě se z nich nejlépe učí. Např. tu "PHP tvorba interakt. intern. aplikací" od Koska, je už starší, ale hodí se na základní pochopení php. Pak je super (!!!) "PHP & MySQL rozvoj webových aplikací" (ale cca 700 Kč). Zkus se v těch zdrojácích pohrabat a pochopit je. Tady ti poradíme spíš s nějakým konkrétním problémem, než s předěláním celého skriptu. PAVEL