Arhiva za php

Kako dodati KAPETAN Obrazac za web

Posted in PHP by ShortLikeAFox on 30 svibanj 2009

Dakle želite dodati CAPTCHA, zvani potpunosti automatizirano Javna Turingov test reći Računala i čovjeka Apart, zvani squiggly slova i brojeve na web obrazac.

To nije teško uopće uz pretpostavku da znate malo PHP. Ja bih ići u detalje, objašnjavajući kako to učiniti, ali tamo kod Boutell.com je smiješno dobro napisana, lako slijediti korak-po-korak vodič objašnjava kako to učiniti. Go check it out.

Kako poslati misa Email Koristeći PHP

Posted in PHP by ShortLikeAFox dana 19. rujna 2008

Dakle, želite poslati masovne e-pošte ili želite stvoriti program koji može brzo mijenjati da pošalje više masovne e-pošte. PHP čini ovu lako. U ovom primjeru ja ću pretpostaviti da imate popis adresa e-pošte želite poslati email na određeni. Ja će također pretpostaviti da održavate ove liste u bazu podataka, ali ovaj broj se lako može prilagoditi za korištenje bilo hardcore popis e-pošte ili popis iz drugog izvora.

<? Php

/ / Prvo spajanje na bazu podataka koja sadrži informacije o adresi e-pošte.
$ User = "USER";
$ Host = "HOST";
$ Password = "Lozinka";
$ Database = "baza podataka";

( "Couldn't connect to server" ); $ Cxn = mysql_connect ($ host, $ user, $ password) or die ("Ne mogu se spojiti na poslužitelj");
mysql_select_db ($ baza);

/ / Upit tablicu koja sadrži adrese e-pošte. Ispunite svoj stol ugled ovdje ...
$ Query = "SELECT * FROM theEmailAddresses";
( mysql_error ($cxn)); $ Rezultat = mysql_query ($ query, $ cxn) or die (mysql_error ($ cxn));
$ Nrows = mysql_num_rows ($ rezultat);

/ / Tko je pošiljatelj će biti identificirani kao. Možete staviti ono što želite ovdje, ali to stvarno nije previše etičkih to mjesto mail adresu koju ne kontroliramo ovdje.
$ From = "From: me@mydomain.com";
/ / Standardni e-mail subject line
$ Subject = "Što je novo u mydomain.com";
/ / Poruka
$ Poruka = "Pozdrav cijenjeni prijatelj,

Mi sada prodati kolačiće na mydomain.com. Budite sigurni da ček Internet vanjska strana!
S poštovanjem,
mi ";

/ / Već smo ispitati sve adrese e-pošte. Sad mi samo trebaju poslati e-mail
0 ; $i < $nrows; $i ){ for ($ i = 0; $ i <$ nrows; $ i ) (

$ Row = mysql_fetch_assoc ($ rezultat);
ekstrakt ($ row);
/ / Replace $ e-pošte s bilo kojeg stupca e-mail adresa se zove
$ U = "$ email";
/ / Pošalji e-mail za svaku e-mail u bazi podataka
if (mail ($ to, $ subject, $ message, $ from)) (

/ / Ispis ime e-poruka koje su uspješno poslana. Koristim ovo samo kako bi bili sigurni da program nije smrznuta. U teoriji bi trebao biti njihov stalni tok naziva se tiskani>

); echo ("$ do <br/>");

)

)




?>

Ovo malo koda iskorištava php mail () funkciju. Ovo je vrlo snažan i jednostavan za korištenje funkcije. Sjetite se da sa velikom moći dolazi i velika odgovornost. Pokušajte ne koristiti ovu funkciju za zlo.

Kako prepoznati Gdje Vaši posjetitelji su geografski Koristeći PHP

Objavljeno u PEAR , php kod ShortLikeAFox dana 13. rujna 2008

Ako imate web stranicu i želite reći gdje Vaši korisnici dolaze iz zemljopisno PHP i kruške se to realizira. Za uključivanje gostiju IP u fizičkoj lokaciji prva stvar koju ćete morati učiniti je da provjerite da li ste modula PEAR Net_Geo. Ako nemate modula PEAR Net_Geo, ti si idući u morati koristiti PEAR Package Manager steći ga.

Ako ne mislite da imate pristup PEAR zbog vašeg hosting paketa, provjeriti ovo objašnjenje o tome kako instalirati PEAR na računu koja ne dozvoljava pristup po defaultu. Pisano je s GoDaddy dijeljenih računa na umu, ali trebaju raditi za većinu hosting pakete koji ne dolaze s PEAR postaviti.

Nakon što ste Net_Geo paketa instaliranog, to traje samo nekoliko linija koda kako bi stekli geografski podaci:

<? Php

); require_once ("Net / Geo.php");
]; $ Ip = $ _SERVER ['REMOTE_ADDR'];
/ / $ Ip = "64.246.30.37";
$ FirstNetGeo = new Net_Geo ();
$ = $ Geopodataka firstNetGeo-> getRecord ($ ip);

?>

($ip); ?> <br/> IP: <? Php echo ($ ip);?> <br/>
($geoData[ 'LAT' ]); ?> <br/> Latitude: <? Php echo ($ geopodataka ['LAT']);?> <br/>
($geoData[ 'LONG' ]); ?> Longitude: <? Php echo ($ geopodataka ['DUGI']);?>
<br/>
($geoData[ 'COUNTRY' ]); ?> <br/> Država: <? Php echo ($ geopodataka ['zemlja']);?> <br/>
($geoData[ 'STATE' ]); ?> <br/> Država: <? Php echo ($ geopodataka ['Status']);?> <br/>
($geoData[ 'CITY' ]); ?> <br/> Grad: <? Php echo ($ geopodataka ['grad']);?> <br/>

Šifra na radu:

IP: 74.125.154.85

Latitude:

Longitude:

Zemlja:

Država:

Mjesto:

Kako da se jedna slika u više Koristeći PHP

Posted in funkcija , php kod ShortLikeAFox na 26 kolovoz, 2008

Dakle želite razbiti jednu veliku sliku u više manje slike? Nema problema. To svibanj izgledaju kao čudan problem, ali postoji više razloga zašto bih želite učiniti. Možda želite stvoriti vizualni klizna puzzle . Ili možda radite jedinstvena WordPress tema . Ili možda želite stvoriti kolaž nekih vrsta. To stvarno ne obzira zašto želite podijeliti sliku u manje slike, PHP čini taj zadatak jednostavno. Primjer ispod bavi se samo JPEG. Promjena funkciju da se bave drugim vrstama slike ne bi bilo tako teško.

<? Php
/ / Ova funkcija će podijeljena na sliku broj jednako veličine stupaca i redaka.
Funkcija split_image ($ number_of_rows, number_of_cols $, $ path_to_image, file_name $) (

/ / $ Number_of_rows = Broj redaka koji želite;
/ / $ = Number_of_cols Broj cols želite
/ / $ = Path_to_image put do mape u sliku, nešto poput: / home / content / username / html / popis / dodano /
/ / $ File_name = ime datoteke od slike: archery.jpg, itd.

/ / Parsiranje put za produljenje
$file_name); $ Info = pathinfo ($ path_to_image. File_name $);

/ / Pobrinite se radi jpeg
($info[ 'extension' ]) == 'jpg' ) || ( strtolower ($info[ 'extension' ]) == 'jpeg' ) ){ if ((strtolower ($ info ['nastavak']) == 'jpg') | | (strtolower ($ info ['nastavak']) == 'jpeg')) (

/ / Učitavanje slika i dobiti veličina slike
); $ Source = imagecreatefromjpeg ("($ path_to_image) ($ file_name)");
$ Width = imagesx ($ izvor); / / Find širina
$ Height = imagesy ($ izvor); / / Find visina
$ = $ Segment_width širina / $ number_of_cols; / / odrediti širina pojedinih segmenata
$ = $ Segment_height visina / $ number_of_rows; / / odrediti visinu pojedinih segmenata

for ($ col = 0; $ col <$ number_of_cols; $ col + +)
(

for ($ row = 0; $ row <$ number_of_rows; $ row + +)
(

, $col, $row ); $ Fn = sprintf ("img% 02d_ 02d.jpg%", $ col, $ row);
); //I print the image name here, so that the process shows itself as it runs echo ("$ fn"); / / I ispisati naziv slike ovdje, tako da se sam proces pokazuje kako to radi
$ = Im @ imagecreatetruecolor ($ segment_width, segment_height $);
imagecopyresized ($ im, $ izvor, 0, 0, $ col $ * segment_width, $ row * $ segment_height, segment_width $, $ segment_height, segment_width $, $ segment_height);
$ File = "test.jpg";
/ / Spremi slike
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn if (imagejpeg ($ im, "INSERT ODREDIŠTU OVDJE", 100)) / / cilj je nešto poput / home / content / c / v / d / images / $ fn

echo ("Je napravio! <br/>");

)

)

)

)

?>

Kako uključiti Funkcioniranje PHP kod u vaš WordPress Postovi

Posted in WordPress , php kod ShortLikeAFox na 17 kolovoz, 2008

Dakle želite biti u mogućnosti koristiti PHP u tvoj WordPress blog pošta i Stranice. To nije problem. Samo pomoću <? Php ... ... ..?> Ide to izraditi WordPress ljutiti ako ne instalirate plugin prvi. Postoji nekoliko dodataka vani koji tvrde da nude ovu sposobnost, no onaj koji sam našla djela najbolje je Exec-PHP . Da biste počeli koristiti PHP kod, slijedite ove korake:

  1. Preuzmite Exec-PHP
  2. Uvesti ga kao što bi bilo koji dodatak (Ovaj link gore i obavijesna datoteka će vas provesti kroz ovaj)
  3. Ako trenutno koristite ga, morate isključiti WYSIWYG editor. Da biste to učinili, idite na Korisnici -> Vaš Profil i deaktivirati korištenje vizualni editor našto pisanje kućicu
  4. Počnite pisati php koda kao što ga i inače koristite: <? Php .... Kod ide ovdje?>

To je sve što za njega!

Kako stvoriti i koristiti Dinamički Imenovan varijabli s PHP

Posted in PHP by ShortLikeAFox na 17 kolovoz, 2008

Dakle želite koristiti dinamičku varijablu imena u kodu. Nema problema. Recimo da imate 100 varijabli zove dog0, dog1, dog2, ...., Dog98, dog99. Zašto bi želite koristiti 100 varijable kao što je ovaj umjesto polja je iza mene, ali to nije važno za ovaj primjer. Da biste postavili tih varijabli u petlji brzo možete koristiti slijedeće:

0 ; $i < 100 ; $i ++ ){ for ($ i = 0; $ i <100; $ i + +) (

; VariableName $ = "$ i pas";
$ $ $ I = variableName; / / postavlja dog1 $ na 1, $ dog2 do 2, $ pas 34 - 34, itd ....

)

Sada recimo da ste htjeli za pristup svim od tih varijabli. Možete koristiti slijedeće:

0 ; $i < 100 ; $i ++ ){ for ($ i = 0; $ i <100; $ i + +) (

; VariableName $ = "$ i pas";
echo ("<br/>");
echo ("$ variableName:");
echo ($ $ variableName);

)

Ova petlja ispisuje:

dog0: 0
dog1: 1
dog2: 2
dog3: 3
dog4: 4
dog5: 5
dog6: 6
dog7: 7
dog8: 8

itd ... sve do
dog99: 99

Kako intergrate ISBN Pristup na svojim web stranicama Koristeći PHP

Posted in PHP by ShortLikeAFox na 12 kolovoz, 2008

ISBN ili Međunarodni standardni knjižni Brojevi su korisne oznake koje se mogu koristiti da biste pronašli informacije o pojedinim knjigama. Ako želite integrirati ISBN traženje u vašem web aplikacija PHP ga čini izvodljiv.

Korak Jedan: ISBNdb.com je stvorio API koji omogućava korisnicima iz cijeloga svijeta za pristup svojim bazama podataka i ISBN zapisa. Ovdje je opis vlastite API:

ISBNdb.com 's udaljenim pristupom sučelje za programiranje aplikacija (API) je dizajniran da omogući druge web stranice i samostalne aplikacije koriste velike prikupljanja podataka koje su prikupili ISBNdb.com od 2003. Kao što je ovog pisanja, u srpnju 2005, podaci obuhvaćaju gotovo 1,8 milijuna knjiga; gotovo 3 milijuna miliona biblioteku dokumenata; blizu milijun predmeta, stotine tisuća autora i izdavača zapisi raščlaniti iz biblioteke podataka, više od 10 milijuna zapisa o stvarnim i povijesne cijene.

Kako biste koristili ovu API morate se najprije registrirati. Prijava traje doslovno sekunda. Nakon toga, morate postaviti ključ. Tipke omogućuju vam izravno pristupiti ISBN baze iz vlastitog koda. ISBNdb.com web stranice čini postavljanje tipke lako.

Drugi korak: Sada ste početi pisati kod za interakciju s bazom podataka. Zahtjev za traženje ISBN će izgledati otprilike ovako:

Ti bi umetnite ključ pristupa u mjestu XXXXXX. $ IsbnQuery bi ISBN broj te zanima $ isbnData je XML datoteka. Za pristup ove podatke trebate pustiti tvoj broj znati što je to bavi. Nešto kao što je ovaj htijenje funkcionirati:

) ; $ @ Simplexml_load_file xmlData = ($ isbnData) or die ("Ne postoji datoteka učita");

Sada možete pristupiti pojedinih varijabli s pozivima otprilike ovako:

]->Title ; $ Naslov = $ xmData-> Booklist [0] -> BookData [0] -> naslov;

Ovdje je kompletan rad primjer:

<? Php

$ Searchquery = "9780684801223"; / / Ernest Hemingway za ISBN je Starac i more
$ IsbnData = "http://isbndb.com/api/books.xml?access_key=XXXXXX&index1=isbn&value1 = $ Searchquery"; / / Ne zaboravite zamijeniti XXXXXX sa svoj vlastiti pristup ključ
) ; $ @ Simplexml_load_file xmlData = ($ isbnData) or die ("Ne postoji datoteka učita");
]->Title ; $ Naslov = $ xmlData-> Booklist [0] -> BookData [0] -> naslov;
]->AuthorsText ; $ = $ Autori xmlData-> Booklist [0] -> BookData [0] -> AuthorsText;
]->PublisherText ; $ Publisher = $ xmlData-> Booklist [0] -> BookData [0] -> PublisherText;

); echo ("$ naslov <br/>");
); echo ("$ <br/> autora");
); echo ("$ izdavača <br/>");

/ / Ovaj primjer ispisuje:
/ / Starac i more
/ / Ernest Hemingway
/ / New York: Scribner meki Fiction, 1995.

?>

Kako da potvrdite adresu e-pošte Koristeći PHP

Posted in PHP by ShortLikeAFox na kolovoz 5, 2008

Tako vam je potrebna potvrda o korisnikovom e-mail adresu? Nema problema. Ima mnogo razloga da zahtijeva potvrdu e-pošte, i PHP ga čini jednostavnim.

E-mail potvrde može se dovršiti je ove korake:

  1. Traži od korisnika za sve što informacije koje trebate od njih (uključujući i njihove e-mail adresu)
  2. Ulazni tih podataka u bazi podataka
  3. Slanje e-mail korisniku sa posebnom potvrdom ključa
  4. "Otključaj" podatke u bazi podataka nakon potvrde ključ je ušao.

Kako to učiniti:

<? Php

/ / Prvo, dozvoljava 'spojiti na bazu podataka

Korisničko_ime $ = "dbUserName";
$ Host = "dbHost";
$ My_password = "dbPassword";
$ Db_name = "dbname";

/ / Spajanje na server i odabir baze podataka.
, "$user_name" , "$my_password" ) or die ( "cannot connect to server" ); mysql_connect ("$ host", "$ korisničko_ime", "$ my_password") or die ("ne mogu spojiti na poslužitelj");
) or die ( "cannot select DB" ); mysql_select_db ("$ db_name") or die ("ne mogu odabrati DB");

/ / Sljedeću liniju u osnovi pita da li korisnik potreba to imati oblik prikazan. Pročitajte dolje malo, ako želite vidjeti gdje se varijable dolazi iz

(@ $_GET [ 'first' ] == "no" ) " ! (@ $_GET [ 'confirm' ] == "yes" ){ if (! (@ $ _GET ['prvi'] == "ne") & &! (@ $ _GET ['potvrdu'] == "da") (
/ / Budući da je ovo prvi strani zaslona i nema potvrde kod je uključen bismo trebali prikazati obrazac za korisnika za ispunjavanje
/ / Ovaj obrazac traje samo jedan argument (korisnik 'elektronička pošta adresa).
?>

method= "post" action= "index.php?first=no" > <form name= "emailConfirmation" method= "post" action= "index.php?first=no">

<table align="center">
<tr>
<td>
type= "text" id= "email" size= "30" /> E-mail: <input name= "email" type= "text" id= "email" size= "30" />
</ Td>
</ TR>
<tr>
<td align="center">
name= "Submit" value= "Submit" /> <input type= "submit" name= "Submit" value= "Submit" />
</ Td>
</ TR>
</ Table>
</ Form>

<? Php

)

/ / Ako je obrazac ispunjen, potrebno je generirati potvrde kod, umetnuti potvrdni kod i e-pošte korisnika u bazu podataka, i poslati e-mail adresu e-pošte.
[ 'first' ] == "no" ){ //if the form has been filled out… elseif (@ $ _GET ['prvi'] == "ne") (/ / ako je obrazac je popunjen ...

/ / Is_valid_email_address nije valjana php funkciju. Umetnite svoju e-mail adresu provjeru funkcije ovdje ...
is_valid_email_address( $_POST [ 'email' ])) if (! is_valid_email_address ($ _POST ['email']))

); echo ("Žao nam je! e-mail adresu koju ste unijeli nije valjana.");

/ / Ako se pojavi valjana adresa e-pošte i sigurno ...
else (

]); $ Email = ($ _POST ['email']);
/ / Generirajte kôd za potvrdu ovdje. To je način na koji sam se odlučio za to učiniti, ali postoji bezbroj načina na koje će raditi.
( rand ())); $ = Md5 CONFIRMATION_CODE (uniqid (Rand ()));
/ / Sve je više-manje u redu za ulazak u bazu podataka, a zatim poslati e-mail korisniku
$ Query = "INSERT INTO emailConfirmationTable (user_email, con_code) VALUES ('$ email', '$ CONFIRMATION_CODE')";
("Config Error 2223 "); $ Rezultat = mysql_query ($ upit) or die ("Greąka u konfiguraciji 2223");
/ / Pošalji e-mail
$ To = $ e-mail;
$ Subject = "Vaša shortlikeafox primjer potvrde"; / / Od
$ Header = "From: shortlikeafox <info@shortlikeafox.com>";
/ / Poruka
$ Poruka = "Vaša Comfirmation link! \ R \ n";
$ Poruka .= "Kliknite na ovaj link da biste aktivirali svoj korisnički račun \ r \ n";
$ Poruka .= "Ova veza s isteći kada god se osjećam kao što su čišćenje iz nepotvrđenih e-mail (svaki tjedan ili tako) \ r \ n";
$ Poruka .= "http://www.shortlikeafox.com/simple-email-confirmation-example/index.php?confirm=yes&confirmCode = $ CONFIRMATION_CODE \ r \ n";
$ = Poslanapošta mail ($ to, $ subject, $ message, $ header);

); echo ("Vaš e-poštu potvrde je poslan!");

)

)
/ / Ako korisnik postaviti ovu skriptu iz veze u njegov e-mail, potvrdite ....
[ 'confirm' ] == "yes" ){ elseif (@ $ _GET ['potvrdu'] == "da") (
/ / Provjerite confirmCode relativno sigurno korištenje

[ 'confirmCode' ]); $ ConfirmCode = mysql_real_escape_string (@ $ _GET ['confirmCode']);

$ Query = "SELECT * FROM WHERE emailConfirmationTable con_code = '$ confirmCode' I is_confirmed = '0 '";
( "Error 234234" ); $ Rezultat = mysql_query ($ upit) or die ("Greąka 234234");
$ Nrows = mysql_num_rows ($ rezultat);
1){ if ($ nrows == 1) (
$ Query = "UPDATE SET emailConfirmationTable is_confirmed = '1 ', gdje con_code =' $ confirmCode '";
( "Config Error 222231231233 " ); $ Rezultat = mysql_query ($ upit) or die ("Greąka u konfiguraciji 222231231233");
if ($ rezultat)
); echo ("POTVRDI EMAIL!");

)
drugo

); echo ("Ne mogu potvrditi Email");

)

?>

Vrlo je važno zapamtiti da se potvrdi informacije koje korisnik unosi u bilo kojem obliku. JA nije 'uključiti funkciju za provjeru valjanosti adresa e-pošte gore, ali dobro mjesto za početak je Cal Henderson e-mail validation funkcija naći ovdje.

Ako želite vidjeti ovu skriptu u akciji, možete to učiniti ovdje.

Kako se ručno Umetanje grupe korisnika na SMF forum Koristeći PHP

Objavljeno u SMF (Simple Machine Forum) , PHP by ShortLikeAFox dana 30. srpnja 2008

Ovaj tutorial podrazumijeva da ste upoznati sa mojim post: Kako to Priručnik Umetanje korisnika na SMF forum Koristeći PHP .

Nedavno sam suočena s izazovom ili tako kreće 800 bendova iz baze podataka u SMF forum. Sam se suočio nekoliko problema prilikom potez koji nisam pokrivaju u prvi post:

  1. Imena sastava nije bilo zajamčeno da će sigurno za znak znak premjestiti u SMF baze podataka. Dakle, neke vrste mijenjanja imena funkcije morali biti zaposleni.
  2. Bendovi nemaju lozinke. Tako neki tip lozinku generacije treba biti zaposlen.

Skaline JA je otišao da se registrirate o svim bendovima na forumu otišao malo ovako:

Otvaranje baze Band

za svaki (Band) (

Kreiraj lozinka

Preimenuj Band sa "sigurnom" ugled

Grab i generirati podatke potrebne za umetanje korisnika

Umetnite Band u smf_members

Pošalji Band-mail s lozinkom

)

Informacije sam imao na raspolaganju od benda bazu podataka koja je korisna uključeno: bandName, bandEmail i bandWebsite

Ovdje je funkcija stvaranje lozinku sam koristio (blatently preuzeta iz totallyphp.co.uk ):

Funkcija createRandomPassword () (

$ Znakova = "abcdefghijkmnopqrstuvwxyz023456789";

() * 1000000); srand ((double) microtime () * 1.000.000);

$ I = 0;

$ Pass = ";



while ($ i <= 7) (

33; $ Num = rand ()% 33;

$ Tmp = substr ($ znakova, $ num, 1);

$ Pass = $ pass. $ Tmp;

$ I + +;

)

povratak $ pass;

)

Lozinka stvorio ovdje je relativno slab, ali to je bio dovoljno dobar za moje potrebe. Svaka funkcija generacije lozinka će raditi ovdje. Izabrao sam ovaj neki, jer bi se lako za članove sjetiti da li su izabrali da ne mijenjati.

Kako to učiniti:

/ / Prvo spajanje na bazu podataka bend
$ Username = "bandUsername";
$ Host = "bandHost";
$ Mojalozinka = "bandPassword";
$ Db_name = "bandDatabase";

("cannot connect to server"); mysql_connect ("$ host", "$ ime", "$ mojalozinka") or die ("ne mogu spojiti na poslužitelj");
("cannot select DB"); mysql_select_db ("$ db_name") or die ("ne mogu odabrati DB");

/ / Sada zgrabite sve bendova iz baze podataka
$ Query = "SELECT * FROM allBands";
$ Bendova = mysql_query ($ upit) or die ("Greąka u konfiguraciji 2222b");
$ UserRows = mysql_num_rows ($ bendova);

/ / Sada omogućava spajanje na SMF db
$ Host = "smfhost"; / / Host name
$ Username = "smfuser; / / mysql username
$ Mojalozinka = "smfpassword"; / / mysql lozinka
$ Db_name = "smfdatabase"; / / Naziv baze

("cannot connect to server"); mysql_connect ("$ host", "$ ime", "$ mojalozinka") or die ("ne mogu spojiti na poslužitelj");
("cannot select DB"); mysql_select_db ("$ db_name") or die ("ne mogu odabrati DB");

/ / $ Vaild_chars će biti dozvoljeno niz znakova za korisničkih imena. JA odlučio je da jedini dopustiti slova i brojki. Postoje i drugi znakovi koji se mogu koristiti kako ne bi uzrokovalo problem, ali za stil razloga sam odlučio otići sa samo slova i brojke
$ Valid_chars = "ABCDEFGHIJKLMNOPQRSTU VWXYZ 0 1 2 3 4 5 6 7 8 9";
$ Valid_chars = explode ("", $ valid_chars);

/ / Sada trebamo petlju kroz svaki bend

){ for ($ i = 0; $ i <$ userRows; $ i + +) (

($bands)){ if ($ row = mysql_fetch_assoc ($ bendova)) (

/ / Ekstrakt bend informacije
ekstrakt ($ row);
/ / Kreiraj lozinka za bend
$ RealPassword createRandomPassword = ();
/ / Sam se odlučio za jeke bandname i lozinku kao dio moje otkrivanje pogrešaka i tako da mogu vidjeti funkciju kao što to radi
echo ("<br/> bandName $ - $ realPassword");
$ NewBand = "";
/ / Za svako slovo u ime benda ćemo gledati da vidi da li odgovara važećim znakom od $ valid_chars. To ne ćemo da biste dobili osloboditi od njega i izrežite ime benda
($bandName); $j ++ ){ for ($ i = 0; $ j <strlen ($ bandName); $ i + +) (

($band[$j])); $ Temp = str_replace ($ valid_chars, "X", strtolower ($ bend [$ j]));
if ($ temp == "X")

$ = $ NewBand newBand. Benda $ [$ j];

)
/ / Echo sam novi naziv istog razloga sam jeka staro ime i lozinku
echo ("- $ newBand");
/ / Mi smo novo ime benda .... Sada ćemo započeti buliding info trebamo umetnuti u db ...
$ = $ MemberName newBand;
$ = $ Realname newBand; / / postaviti pravo ime i korisničko ime isto. Bendovi mogu ga promijeniti ako žele
$ = $ EmailAddress bandEmail;
$ = $ WebsiteUrl bandWebsite; / / Budući da sam bendova 'web stranice kao što bi i njima ući
$ = $ WebsiteTitle newBand;
Is_activated $ = 1;
ID_POST_GROUP $ = 4;
($memberName).$realPassword); //Password must be encrypted $ Password = sha1 (strtolower ($ memberName). RealPassword $); / / Zaporka mora biti šifriran

/ / Provjerite da njihov član nije sa istim imenom u SMF baze podataka. Mi ne želimo ulaziti tko slučajno dva puta
$ Query = "SELECT * FROM WHERE smf_members memberName = '$ memberName'";
("Config Error 2222343242b"); $ Rezultat = mysql_query ($ upit) or die ("Greąka u konfiguraciji 2222343242b");
$ Nrows = mysql_num_rows ($ rezultat);

/ / Ako korisničko ime nađe ništa ne
if ($ nrows> 0) ()

else (

/ / Ako korisnik nije već prijavio za forum, učinite to i pošaljite e-mail ....
$ Query = "INSERT INTO smf_members (memberName, realname, emailAddress, is_activated, ID_POST_GROUP, passwd, websiteUrl, websiteTitle) VALUES ('$ memberName', '$ realname', '$ emailAddress', '$ is_activated', '$ ID_POST_GROUP' , '$ password', '$ websiteUrl', '$ websiteTitle') ";

("Config Error 2232 "); $ Rezultat = mysql_query ($ upit) or die ("Greąka u konfiguraciji 2232");

/ / Sada nam je potrebno poslati e-mail bend
$ To = $ emailAddress;
$ Subject = "Vaša forumu korisničko ime i lozinku";

/ / Od
$ Header = "From: Me <me@mysite.com>";

/ / Poruka
$ Poruka .= "Vaša prijava i lozinka su navedene u nastavku. Možete promijeniti bilo u bilo koje vrijeme. Ako ne želite da sudjeluju u našim forumima, to nije problem. Ali nikada se prijavite i da će biti kao nikada ništa dogodilo. \ r \ n ";
$ Poruka .= "Korisničko ime: Lozinka memberName $: $ realPassword \ r \ n";

/ / Slanje e-pošte
$ = Poslanapošta mail ($ to, $ subject, $ message, $ header);
if ($ poslanapošta)

echo ("- DA!");
/ / Ovo je posljednji dio naše jeka. "-Da!" samo će se ispisati ako je pošta je poslana. Dakle cijelu liniju ispisa će izgledati otprilike ovako:
/ / Adam Strife - 4s6vsxag - AdamStrife - DA!

)

)
)

Kako se ručno Umetanje korisnika na SMF forum Koristeći PHP

Objavljeno u SMF (Simple Machine Forum) , PHP by ShortLikeAFox dana 28. srpnja 2008

Taj konkretni primjer je za SMF 1.1.5. Ja ne mogu garantirati da će raditi s bilo kojom drugom verzijom.

Tako da mali Simple Machine Forum software i želite ručno unijeti korisnik? Nema problema. JA znati ovaj problem čini vrlo specifičnim, ali ideja je objašnjeno ovdje se može prilagoditi druge vrste foruma i drugih baza podataka driven programski paketi kao što su WordPress. Prije nego što smo dobili u točno kako to učiniti, dozvoljava 'uzeti pogledati kako Simple Machine Forums vodi evidenciju o korisnicima. U SMF baze podataka nalazi se stol pod nazivom smf_members. Smf_members struktura izgleda ovako:

Polje Tip Nula

Ključ Default Ekstra
ID_MEMBER mediumint (8) nepotpisani NO PRI NULL auto_increment
memberName varchar (80) NO MUL
dateRegistered int (10) nepotpisani NO MUL 0
postove mediumint (8) nepotpisani NO MUL 0
ID_GROUP smallint (5) nepotpisani NO MUL 0
lngfile tinytext NO MUL
lastLogin int (10) nepotpisani NO MUL 0
realname tinytext NO
instantMessages smallint (5) NO 0
unreadMessages smallint (5) NO 0
buddy_list tekst NO
pm_ignore_list tekst NO
messageLabels tekst NO
passwd varchar (64) NO
emailAddress tinytext NO
personalText tinytext NO
rod tinyint (4) nepotpisani NO 0
rođenja datum NO MUL 0001-01-01
websiteTitle tinytext NO
websiteUrl tinytext NO
lokacija tinytext NO
ICQ tinytext NO
AIM varchar (16) NO
YIM varchar (32) NO
MSN tinytext NO
hideEmail tinyint (4) NO 0
showOnline tinyint (4) NO 1
timeFormat varchar (80) NO
potpis tekst NO
timeOffset plovak NO 0
avatar tinytext NO
pm_email_notify tinyint (4) NO 0
karmaBad smallint (5) nepotpisani NO 0
karmaGood smallint (5) nepotpisani NO 0
usertitle tinytext NO
notifyAnnouncements tinyint (4) NO 1
notifyOnce tinyint (4) NO 1
notifySendBody tinyint (4) NO 0
notifyTypes tinyint (4) NO 2
memberIP tinytext NO
memberIP2 tinytext NO
secretQuestion tinytext NO
secretAnswer varchar (64) NO
ID_THEME tinyint (4) nepotpisani NO 0
is_activated tinyint (3) nepotpisani NO 1
validation_code varchar (10) NO
ID_MSG_LAST_VISIT int (10) nepotpisani NO 0
additionalGroups tinytext NO
smileySet varchar (48) NO
ID_POST_GROUP smallint (5) nepotpisani NO MUL 0
totalTimeLoggedIn int (10) nepotpisani NO 0
passwordSalt varchar (5) NO

Polja trebamo obratiti pažnju na:

  • memberName - Self Explanitory.
  • dateRegistered - nije potrebno, ali ako ne ispuniti datum registrirani prikazuje kao 31 prosinca 1969. Datum je spremljen kao epohu timestamp. Ne znam kako to izračunati vremenskih oznaka u glavi? Nema problema. Koristim besplatni generator naći ovdje .
  • realname - Treba biti umetnuta. Kad nisam siguran da sam samo ponoviti memberName ovdje.
  • emailAddress - Self Explanitory.
  • is_activated - Mora biti postavljena na 1 jer mi se aktivira ručno član.
  • ID_POST_GROUP - Neću lagati. Im 'ne siguran što je to, ali to uvijek čini se da postavite na 4. Dakle .... Uvijek sam ga postavite na 4. Nije najbolji način da se plan, ali ono što mogu učiniti?
  • passwd - password da želite dati novi korisnik. Nemoguće je shvatiti kako to ulaziti bez gledanja SMF dokumentacije. Ispravan kod za šifriranje lozinka za SMF baze podataka izgleda ovako:

($memberName).$password) $ Passwd = sha1 (strtolower ($ memberName). $ Password)

U iznad redak koda, $ lozinka je korisnik 'stvarni lozinka.

Kako to učiniti:

/ / Prvo, spojite se na SMF baze podataka

$ Host = "hostname"; / / Host name
$ Username = "username"; / / mysql username
$ Mojalozinka = "password"; / / mysql lozinka
$ Db_name = "username", / / Naziv baze

("cannot connect to server"); mysql_connect ("$ host", "$ ime", "$ mojalozinka") or die ("ne mogu spojiti na poslužitelj");
("cannot select DB"); mysql_select_db ("$ db_name") or die ("ne mogu odabrati DB");

$ MemberName = "Ironman";
$ Realname = "Tony Stark";
$ EmailAddress = "ironMan@ironMan.com";
Is_activated $ = 1;
ID_POST_GROUP $ = 4;

$ Password = "Tony1234";

($memberName).$password); $ Password = sha1 (strtolower ($ memberName). $ Password);

$ DateRegistered = 1216951200; / / 2008/07/25 02:00

$ Query = "INSERT INTO smf_members (memberName, realname, emailAddress, is_activated, ID_POST_GROUP, passwd, dateRegistered) VALUES ('$ memberName', '$ realname', '$ emailAddress', '$ is_activated', '$ ID_POST_GROUP', ' $ lozinka ',' $ dateRegistered ') ";
("SMF Error 101.234 "); $ Rezultat = mysql_query ($ upit) or die ("Greška 101,234 SMF");

To je sve što za njega!


«Prethodna entries Next Page» Sljedeća stranica »