- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- pr1mzejEE: Viszlát CoD2, CoD4, CS:GO!
- Magga: PLEX: multimédia az egész lakásban
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- eBay-es kütyük kis pénzért
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- Brogyi: CTEK akkumulátor töltő és másolatai
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Forza_JUVE #12136 üzenetére
Na, akkor örülök, szívesen!
(#12135) Sk8erPeter :
ehhez még annyit hozzátennék, hogy abban viszont igazad van, hogy jó nagy multidimenziós tömböket passzolgat sokszor a függvényeknek.Ennek mondjuk előnye, hogy csomó minden elérhető ezekből a fv.-ekből.
-
Sk8erPeter
nagyúr
válasz
Forza_JUVE #12131 üzenetére
Szívesen, igen, jól értetted.
Majd jelezz vissza, sikerült-e.
-
Sk8erPeter
nagyúr
válasz
Forza_JUVE #12129 üzenetére
"A flash önmagától is megteszi ezt, vagyis ha lefut, automatikusan ugrik az action scriptbe beírt html oldalra.
Viszont nem szeretném csak ezt a flasht tenni az index.html-re, és a korábbi index.html-t átnevezni/helyezni, mert akkor borul minden hivatkozás, menü, minden."
Szerintem ehhez nem kell PHP, ha a szervereden engedélyezve van a .htaccess használata, akkor legegyszerűbb lenne, ha bemásolnál a gyökérkönyvtárba egy .htaccess fájlt ezzel a tartalommal:# Set the default handler.
DirectoryIndex ezlegyenakezdolapom.html index.html index.phpés akkor innentől kezdve az ezlegyenakezdolapom.html lesz a kezdőlapod, ide berakhatod azt a bizonyos flash-es lejátszást, és az action scriptbe továbbra is beírhatod az index.html-t.
Szerk.: persze az ezlegyenakezdolapom.html-t arra nevezed át, amire csak szeretnéd, de akkor mindkét helyen.
-
Soak
veterán
válasz
Forza_JUVE #10992 üzenetére
php.net -> header .
Felhívnám a figyelmedet erre a részre : Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.
-
CSorBA
őstag
válasz
Forza_JUVE #10984 üzenetére
Szia!
Mi a baj a google recaptchával? Szerintem nagyon jól használható és könnyű. Ha elmondod hol akadtál el, tuti segítünk benne. Vagy már az elején gondban vagy? (Most így hirtelen nem tudom én sem, de már csináltam, és 10-15perc alatt implementálni lehetett első nekifutásra is, pedig én is kezdő vagyok)
-
Sk8erPeter
nagyúr
válasz
Forza_JUVE #10830 üzenetére
Szívesen!
Viszont azért arra figyelj, hogy simán lehet, hogy egy e-mail-címet valamilyen oknál fogva többször is fel akarnak használni, azért egy ilyen keresést még az adatbázisba való feltöltés előtt csinálhatnál. Ha nincs még ilyen, akkor mehet, ha van ilyen, akkor visszadobod, hogy "kösz, de ilyen már van, anyáddal szórakozzá'".Most jövök rá, hogy azt elfelejtettem neked mondani, hogy az id mező ne csak auto increment (automatikusan növekvő) legyen, hanem primary key is! (elsődleges kulcs)
Nem kell megadni a query-ben az id-t ilyen esetben, ha amúgy is auto increment. -
Sk8erPeter
nagyúr
válasz
Forza_JUVE #10825 üzenetére
Akkor nem csináltad meg, amit korábban írtam, hogy legyen auto_increment.
Az id márpedig nem baj, hogy ott van, sőt.Karakterkódolásra: jó az utf8_hungarian_ci, de a dokumentumaid is legyenek UTF-8 kódolásúak BOM nélkül, ezt Notepad++-ban tudod lecsekkolni és konvertálni, meg az elején kiadhatnál egy ilyet, a csatlakozás után: SET NAMES utf8
Szerk.: na, most látom, előttem már írták is pont ugyanezeket.
Csak nem "DOM nélkülire", hanem BOM nélkülire.
A DOM kicsit más. -
SektorFlop
aktív tag
válasz
Forza_JUVE #10826 üzenetére
mysql_query("SET NAMES 'UTF8'"); nálam megoldotta a problémát mindig, mikor configolod az adatbázis kapcsolatot tedd hozzá ezt is, még amit szoktam ilyenkor csinálni hogy Notepad++-ban átálítom a fálj kódolását UFT8 DOM nélkülire, őszinte leszek nem tudom hogy ezek pontosan mire valóak, de eddig beváltak.
-
trisztan94
őstag
válasz
Forza_JUVE #10800 üzenetére
Szerk:
Hoppá,
Úgy néz ki egy korábbit írt ki utolsó hsz-nek, így ez már tárgytalanBocsánat
Előbb kapcsolódni kell az adatbázishoz, utána tudsz vele dolgozni, így néz ki://itt lemented a dolgokat, ajánlatos külső fájlba csinálni, mondjuk egy kapcsolodas.php-ba és amikor dolgozol vele akkor csak egy require 'kapcsolodas.php';-t mondasz neki. Ez azért is jobb, mert egy forráskód nézettel nem tudják leolvasni ezeket:D
$host="localhost"; //Host neve - ez mindig localhost, vagy 127.0.0.1
$username="felhnev"; // Mysql Felhneved
$password="jelszo"; // Mysql jelszavad
$db_name="adatbázis"; // adatbázis neve
$tbl_name="tabla"; // Tábla neve
//Csatlakozunk az ab-hoz
mysql_connect("$host", "$username", "$password")or die("Nem lehet csatlakozni");
mysql_select_db("$db_name")or die("AB-t nem lehet kiválasztani");Az insert into `valami`-be az megy, ami a tábla neve. Szóval ha a tábla neve 'pistike', akkor INSERT INTO `pistike` ...$mysql = mysql_query("INSERT INTO `pistike` (email) VALUES (`$email')");Azt hogy honnan tudja, melyik sor kell neki, ha használod akkor kiválasztod azt a sort, ahol pl név = felhnév
Szóval pl, emberkének 'pistike' a felhneve, akkor így néz ki egy ilyen kiválasztás:INSERT INTO `tabla` (email) VALUES ('$email') WHERE username = 'pistike'A Where paranccsal mondod neki, hogy oda insertelje, ahol a felhnév egyezik azzal, hogy pistike. A pistike lehet egy változó is.
Remélem mindent jól és világosan leírtam -
Sk8erPeter
nagyúr
válasz
Forza_JUVE #10821 üzenetére
A query lefuttatása után is használd a mysql_error() és mysql_errno() függvényeket, mondjuk ahogy a példákban látható, hogy kiderüljön, van-e hiba. Legalábbis addig hagyd bent, amíg rá nem jövünk.
Meg van ez a rész:
if (isset($_POST['name']) && isset($_POST['email']))
egészítsd ki egy else ággal is:
if (isset($_POST['name']) && isset($_POST['email'])) {
.......
}
else {
// debuggolás erejéig
echo 'blabla';
}Gondolom egyébként ezek a kódok a fantáziadúsan elnevezett php.php fájlban vannak.
Ezt találtam a Freewebes cuccosról:
http://freeweb.hu/informacio/mysql.htmlMySQL beállítások
Az adatbázis-szolgáltatás kizárólag a FreeWeb-en PHP programokkal érhető el.MySQL adatbázis szerver neve: felhasználóinév.sql.freeweb.hu
MySQL felhasználói neved: freewebes felhasználói neved
MySQL adatbázisod neve: freewebes felhasználói neved
MySQL adatbázisod jelszava: adatbázis jelszavadHa régi Freewebes adatbázisod van, akkor:
MySQL adatbázis szerver neve: sql
MySQL felhasználói neved: freewebes felhasználói neved
MySQL adatbázisod neve: freewebes felhasználói neved
MySQL adatbázisod jelszava: generált sql jelszavad<?
mysql_connect("felhasznaloinev.sql.freeweb.hu","felhasznalo","jelszo");
mysql_select_db("felhasznalo");Neked régi vagy új adatbázisod van?
Jó adatbázist választasz ki? -
Sk8erPeter
nagyúr
válasz
Forza_JUVE #10817 üzenetére
Ez melyik tárhely?
Ezek szerint találtál leírást a megfelelő adatokról...A mysql_errno() és mysql_error() segíthet valamennyit a hibafelderítésben.
Az előzőnél legalább kiderült, hogy eleve csatlakozni nem tudott.Ja, és megmutathatnád a teljes formodat, mert lehet, hogy az isset() feltétel nem teljesül, így meg sem próbálja feltölteni az adatot.
(#10818) SektorFlop :
sok ingyenes tárhelynél pont, hogy megfelelő a "localhost", és ez ugyanaz, mint a 127.0.0.1.
"Localhost-ot helyi hálózat esetén szoktuk használni"
... és a localhost még mindig ugyanaz, mint a 127.0.0.1, és igen, "helyinek" minősül a tárhely szempontjából az adatbázisszerver is, ha ugyanott üzemel (pont erről írtam korábban, hogy általában nem választják szét ingyenes tárhelyeknél, de nagyon sokszor a fizetőseknél sem). Csak a mysql_connect a megfelelő portot (default: 3306) használja a kapcsolódáshoz. -
SektorFlop
aktív tag
válasz
Forza_JUVE #10817 üzenetére
Lehet butaságot mondok, de ha tárhelyen vagy akkor általában valamiféle IP címet szoktak adni elérési útnak, pl. 10.0.0.3, vagy asszem az ingyenes atw-nél 127.0.0.1., de ez természetesen mindenhol más és más lehet. Localhost-ot helyi hálózat esetén szoktuk használni, Pl USBWebserver esetén ez a pontos adat: localhost, root, usbw.
-
Sk8erPeter
nagyúr
válasz
Forza_JUVE #10810 üzenetére
Az action attribútumba a feldolgozó fájlod elérési útját írd. Ha üresen hagyod, az is valid, az annyit jelent, hogy akkor ugyanabban a fájlban fog megtörténni a feldolgozás, tehát "önmagára" irányítja át az űrlap (form) feldolgozását.
Igen, a "foo" helyére írd az adatbázisod nevét.
A későbbi kódban viszont az `adatbázis_neve` felesleges, mert már korábban kiválasztottad, melyiket fogod használni. Az akkor lenne érdekes, ha nem választanád ki előtte."de pl. a localhost helyére már nem tudom h mit kéne írnom?!"
Ha a helyi szerveren van az adatbázisszerver is, akkor jó a "localhost". Akkor kell ide explicite kiírnod egy másik szerver IP-címét, ha másik szerveren van az adatbázisszerver.
A hostingcégek nagy részénél a "localhost" a jó beállítás, mert az esetek többségében nem külön van az adatbázisszerver.A kódodban lemaradt egy kapcsos zárójel a végéről (ez: }).
Előszűrőnek jó ez a kódformázó is, kidobja a hibákat:
http://beta.phpformatter.com/A kódod remélhetőleg így már jó lesz - nem teszteltem, csak gyorsan hozzádobtam a lezáró kapcsos zárójelet, plusz a másik változót is ($name):
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
die('Can\'t use foo : ' . mysql_error());
}
if (isset($_POST['name']) && isset($_POST['email'])) {
$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
$mysql = mysql_query("INSERT INTO `tábla_neve` (`id`, `email`, `name`) VALUES (`$email, $name')");
}Remélem, az id meződ auto_increment.
-
Sk8erPeter
nagyúr
válasz
Forza_JUVE #10802 üzenetére
Szívesen, majd írd meg, mire jutottál!
-
Sk8erPeter
nagyúr
válasz
Forza_JUVE #10800 üzenetére
Előbb csatlakozni kell a szerverhez, itt van példa erre az ELAVULT módszerre: mysql_connect(). Majd így választod ki ELAVULT módszerrel az adatbázist: mysql_select_db().
Az isset()-en belülre pakold a query-t.
A query-d viszont rossz. A phpmyadminon belül a táblára kattintva menj az Insert/Beszúrás gombra, adj hozzá egy sort admin-felületen, az beilleszt neked egy sort, és megmutatja a hozzá tartozó query-t. Ebből tudsz így tanulni.
Ezt a query-t másold ki, majd alakítsd át megfelelően.De még mindig inkább használd a PDO-t, inkább ahhoz szokj hozzá.
Kiindulásként Tele von Zsinór kolléga erről szóló rövid cikke: [link]. -
Sk8erPeter
nagyúr
válasz
Forza_JUVE #10798 üzenetére
Az csak akkor érdekes, ha valamelyik mező kihagyható (opcionális).
Ezeket szerintem érdemes kötelezően kitöltendőre hagyni. -
Sk8erPeter
nagyúr
válasz
Forza_JUVE #10796 üzenetére
Bedobhattál volna még legalább 12 hajlongó jelet, akkor sokkal szívesebben segítenénk!
Na jó, inkább ne tedd.Kezdésként:
- legyen egy "id" nevű, INT típusú, auto_increment mező (tehát A_I legyen bepipálva)
- legyen egy "email" nevű, mondjuk VARCHAR típusú, 255 hosszú mező
- lehetne akár még egy "name" mező is, vagy hasonló, hogy névhez is tudd rendelni... (ha elég a 255 karakter, akkor lehet olyan típus, mint az előző)
aztán mentsd el. -
trisztan94
őstag
válasz
Forza_JUVE #10788 üzenetére
Miért nem adatbázisba írod be? Én is szarakodtam régen a txt-s megoldással, ha csak nem feltétlenül kell, mindenképp ab-ba rakd.
Az meg így néz ki:<?php
//lemented a változót
$email = $_POST['email'];
// csatlakozz az adatbázishoz, vagy include-old a kapcsolatfájlt
//most fejből nem vágom, mindjárt megnézem neked :)
$mysql = mysql_query("INSERT INTO `tábla neve`");
?>Ez így ebben a formában egy elég nagy biztonsági rés, (mint ahogy Soak és Sk8terPeter kolléga korábban többször is felhívta a figyelmemet
) azért írtam így, hogy legyen valami elképzelésed róla
-
kadam4
tag
válasz
Forza_JUVE #6889 üzenetére
Nem tudom miért nem jelenik meg a kép, de leírom, hogy én hogyan csináltam Captcha kódot.
Kiír egy 6 karakterből álló random kódot, a kódot az inputoknál a code_check-be írja be, a captcha_code-ba pedig te írod majd be.
Küldés után pedig, ezt a kettőt kell összehasonlítani, hogy megegyeznek e, ha igen, akkor beíródik a szöveg, ha meg nem, akkor dobjon egy hibaüzenetet.
Ehhez be kell kapcsolni a php_gd2-t, hogy megjelenjen majd a kép(lehet a tiédnél is be kell).Kód:
<?php
$capt="";
$text=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
// Karakterek generálása
$texta=$text[rand('0','25')];
$textb=$text[rand('0','25')];
$textc=$text[rand('0','25')];
$textd=$text[rand('0','25')];
$texte=$text[rand('0','25')];
$textf=$text[rand('0','25')];
//Egybe a 6 karakter
$capt=$texta.$textb.$textc.$textd.$texte.$textf;$im = @ imagecreate ( 90 , 30 );// 90*30-as kép generálása
$background_color = imagecolorallocate ( $im , 255, 255, 0 );//háttérszín
$text_color = imagecolorallocate ( $im , rand('0','255') , rand('0','255') , rand('0','255') );//szöveg színe (random)
$border = imagecolorallocate( $im, 255, 0, 0 );imagettftext ( $im , 15 , 2 , 10 , 20 , $text_color , "ttf.ttf" , $texta ); //méret szög xstart ystart szin ttf text
imagettftext ( $im , 15 , 0 , 22 , 20 , $text_color , "ttf.ttf" , $textb );
imagettftext ( $im , 15 , 20 , 37 , 20 , $text_color , "ttf.ttf" , $textc);
imagettftext ( $im , 15 , 0 , 49 , 20 , $text_color , "ttf.ttf" , $textd );
imagettftext ( $im , 15 , 0 , 61 , 20 , $text_color , "ttf.ttf" , $texte );
imagettftext ( $im , 15 , 0 , 70 , 20 , $text_color , "ttf.ttf" , $textf );
imagepng ( $im, 'captcha.png' );
imagedestroy ( $im );// képet ne cashelje a browser
$cachekiller = time();// kiíratás
echo "
<form method='post' action='sajat link'>
<b>Kód:</b><br><img src='captcha.png?{$cachekiller}' alt='' align='absmiddle'>
<input type='hidden' name='code_check' value='$capt' />
<input type='text' name='captcha_code' value='' size='10' maxlength='6'><br>
<input type='submit' value='Küld'></form>";
?> -
cucka
addikt
válasz
Forza_JUVE #6910 üzenetére
Hát rosszul írtad
Átirányíthatsz egy relatív útvonalra a szerveren. Példák:
header("Location: xy.html");
header("Location: /some_subdir/index.php?id=1&result=success");Vagy átirányíthasz egy külső oldalra, akkor viszont kell a http elé:
header("Location: http://www.google.com");Az átirányítás után a die() arra van, hogy a szkript maradék része ne fusson le.
A socket-es hibának ehhez nincs semmi köze. -
cucka
addikt
válasz
Forza_JUVE #6908 üzenetére
header("Location: xy.html");
die(); -
Sk8erPeter
nagyúr
válasz
Forza_JUVE #6889 üzenetére
Hali!
Szerintem továbbra is maradj a reCAPTCHA-nál.
A korábbi kérdésedre azért nem kaptál itt választ, mert egyben bepakoltál egy tökéletesen formázatlan kódot, így ember legyen a talpán, akinek van kedve ezt végigböngészni (vagy türelme kimásolni, majd berakni NetBeans-projektbe, és ott rámenni az autoformázásra, majd elkezdeni a kutakodást).
Eleve nem is a tutorial szerint használtad a PHP-kódot: [Using reCAPTCHA with PHP].
Itt írja az igen egyszerű példakódot, csupán ezt kell bemásolnod arra az oldalra, ahol a captchát kiíratod, példa:
<html>
<head><title>reCAPTCHA</title></head>
<body> <!-- the body tag is required or the CAPTCHA may not show on some browsers -->
<!-- your HTML content --><form method="post" action="verify.php">
<?php
require_once('recaptchalib.php');
$publickey = "your_public_key"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
<input type="submit" />
</form><!-- more of your HTML content -->
</body>
</html>A kiemelt rész a lényeg.
Validáláskor pedig ezt csinálod:
<?php
require_once('recaptchalib.php');
$privatekey = "your_private_key";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
// What happens when the CAPTCHA was entered incorrectly
die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")");
} else {
// Your code here to handle a successful verification
}
?>Halál egyszerű.
Én ezt javaslom captchák közül.=======
(#6893) LW:
ha már pastebin-re másolod a kódokat, akkor válaszd is ki a PHP-szintaktikát, hogy megfelelően kiemelje, épp az a lényeg, hogy úgy lesz gyorsan átlátható!
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Milyen NAS-t vegyek?
- Itt egy pár fotó az iPhone 17 sorozatról
- Windows 10
- Több újítással támad a Xiaomi Redmi 3s
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- World of Tanks - MMO
- Kertészet, mezőgazdaság topik
- További aktív témák...
- DELL Precision 5540 Workstation i7-9850H Nvidia Quadro T1000 32GB 1000GB 15.6 új akksi 1év garancia
- Prémium PC házak akár 20-40% kedvezménnyel eladók garanciával, számlával!
- Azonnali készpénzes Microsoft XBOX Series S és Series X felvásárlás személyesen/csomagküldéssel
- billentyűzetek - kiárusítás - Logitech, Corsair, ASUS
- Telefon felvásárlás!! Samsung Galaxy A16, Samsung Galaxy A26, Samsung Galaxy A36, Samsung Galaxy A56
Állásajánlatok
Cég: FOTC
Város: Budapest