Hirdetés

2024. május 4., szombat

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)

Hozzászólások

(#10751) CSorBA válasza Lacces (#10750) üzenetére


CSorBA
őstag

Szia!

Pont most csinálok egy ilyen jellegű oldalt. Biztos így gondoltad, hogy "1 hirdetőhöz, 1 hirdetés tartozik?" Szerintem gondold át, egy hirdetőnek lehet több "terméke", azaz több hirdetései is, nem?

Nálam úgy van, hogy van egy user tábla, hátha mondok érdekeset (vagy ti nekem :) ):
id (auto increment)
email, passhash, (emaillel lép be)
email publikus-e? email meg van-e erősítve (csak akkor tud belépni, ha ezt megteszi előtte)
számlázási cím, postázási cím (mindkettő lebontva irányítószám, város, utca)
telefonszámok (előhívó, körzet, szám)
online (engedélyezve van-e?)
regdate, utoljára itt, utolsó belépés
ügyfél típusa (vég v. magánszemély),
ügyfél titulus, keresztnév, vezetéknév, cégnév (ha nem magánszemély)

Illetve van maga a termékek táblája. Aminek persze van egy id-je (ez a termék azonosítója), meg van egy userid-je, ami ugye mondhatni foreign key a usertábla id mezőjéhez.

Ha user adatlapon vagyok, akkor lekérdem a termékek táblájából a userem idjének megfelelő userid mezővel egyező sorokat.

Ha a termék adatlapján vagyok, akkor pedig a termék táblájának userid mezője alapján kérem le a users táblából a felhasználót.

Jah igen, a szerkesztés: Én úgy oldom meg, hogy sessionban tárolom az épp belépett user id-jét. Így mindig ezt ellenőrzöm, mikor szerkeszt egy terméket. Azaz ha a termék userid-je egyezik a sessionban tárolt id-vel, akkor jelenik meg csak a szerkesztési lehetőség. Meg persze a tényleges szerkesztésnél ezt megint le kell ellenőrizni (nehogy valaki átírja az url-ben, vagy postnál a postolt azonosítót, stb stb. ).

[ Szerkesztve ]

(#10752) Sk8erPeter válasza CSorBA (#10751) üzenetére


Sk8erPeter
nagyúr

Szerintem az "1 hirdetőhöz, 1 hirdetés tartozna" mondatot úgy értette (legalábbis remélem), hogy 1 hirdetéshez 1 hirdető tartozna. :D Csak rosszul fogalmazott (gondolom).

Sk8erPeter

(#10753) Lacces válasza Sk8erPeter (#10752) üzenetére


Lacces
őstag

CSorBA köszönöm :R, hasznos volt :)
Sk8erPeter jól gondoltad. :). Nálam nem egyszer fordul elő, hogy fejben, tök jól megfogalmazom, de mégsem írom le...

Talán ami nálam van a fejemben, az az objektum orientáltság, és emiatt szétszedem a tábláknál is...

- user
- hirdető extends user
- admin extends user.

És én emiatt ösztönösen, a usert, hirdetőt, (esetleg admin, de itt most lényegtelen) külön venném.

Legyen másik példa

- hajó
- cirkáló extends hajó
- csatahajó extends hajó

és én nem úgy csinálnám, hogy van egy hajó tábla, és akkor:
- id
- méret
- súly
- sebesség (na eddig van a hajó adatai)
- rakéta szám
- lövegtorony szám
- radarszám (eddig meg a cikráló)
- csatahajóra jellemző adatok... (és eddig meg a csatahjó)

És ha 1 táblában tárolva a hajók adatait... akkor egy mezei hajónál tele lenne egy csomó null érték. És én ezt nem szeretném. Lenne külön tábla a cirkálónak, és csatahajónak. Ők végül is hajók is, de mégis más típusúak.

Ahogy írtam fentebb is, hogy a hajó lenne az ős osztály, a másik kettő pedig a gyermeke, és ezért külön veszem, külön objektum, és emiatt "ösztönösen" az adatbázis tábla felépítésénél is külön venném.

[ Szerkesztve ]

(#10754) CSorBA


CSorBA
őstag

Jah ok, tiszta :DDD

(#10755) Soak válasza Lacces (#10753) üzenetére


Soak
veterán

Itt egy jó cikk : [link] , olvasd el a kommenteket, mert kiegészítik a cikket.

(#10756) Sk8erPeter válasza Lacces (#10753) üzenetére


Sk8erPeter
nagyúr

Jójó, értjük, ne magyarázd agyon. :DDD
Tehát a lényeg röviden: minden hirdető júzer, de nem minden júzer hirdető.
Ezért a hirdetőhöz kapcsolódó extra adatokat külön táblában szeretnéd tárolni, hogy ne legyen csupa NULL annál a júzernél, amelyik nem kíván hirdetni. Ez így teljesen érthető és jogos szempont.
De az SQL-topicban elsőre úgy tűnt, mintha a hirdetőt külön állatfajnak tekintenéd a júzertől. :) De akkor tisztáztuk.

[ Szerkesztve ]

Sk8erPeter

(#10757) DeltaPower válasza Sk8erPeter (#10756) üzenetére


DeltaPower
őstag

Én viszont továbbra sem értem, hogy a Hirdetés_id mit keres a hirdető táblában. :U Bár lehet azóta már módosult a szerkezet a másik topicban.

Btw rettentő jó hogy van php, sql, valamint php+mysql topic is, és akik nem tudnak dönteni, azok akár több helyre is beírják ugyanazt.

[ Szerkesztve ]

"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser

(#10758) Sk8erPeter válasza DeltaPower (#10757) üzenetére


Sk8erPeter
nagyúr

Én sem értem, minek az oda. :D De szerintem elég jól körbejártuk a témát itt és a másik topicban is, hogy hogyan lehet értelmesen kialakítani a struktúrát.
Az utóbbi mondattal is egyetértek, alapvetően adatbázis-tervezési feladatot nem tudom, minek kell a PHP topicban megbeszélni (miközben abszolúte semmi köze a PHP-hoz).

Sk8erPeter

(#10759) Lacces válasza Sk8erPeter (#10758) üzenetére


Lacces
őstag

és DeltaPower, jah, erre máskor figyelni fogok :R , hogy jó helyre írjam a kérdésemet. Először az RBAC-ról akartam még írni, aztán közben az sql-nél lyukadtam ki...

(#10760) trisztan94


trisztan94
őstag

JóEstét(reggelt :D)

Kissé elakadtam :(
Amit korábban is mondtam, hogy ajaxolnék egy URL-es GET kérést, nos megpróbáltam saját módszerrel megoldani, jqueryvel:

while ($sor = mysql_fetch_array($mysql)){

$rovid_leiras = $sor['rovid_leiras'];
$nev = $sor['nev'];
$hosszu_leiras = $sor['hosszu_leiras'];
$ar = $sor['ar'];
$kep = $sor['kep'];
$id = $sor['id'];

echo "<form action='kosar_darab.php' method='post'>";
echo "<table border='0' style='margin-bottom: 20px;'";
echo "<tr><td colspan='3'>$nev</td></tr>";
echo "<tr><td><img src='$kep' width='120px'></td><td width='400'>$rovid_leiras ...<a class='reszletek' href='#'><b>tovább!</b></a></td><td width='100' align='center'><b>$ar Ft<br>
</b></td></tr>";
echo "</table>";

echo"
<script>
$(function(){
$('.reszletek').click(function(){
$.ajax({
url: 'termek_reszletes.php?termekid=$id&termeknev=$nev&ar=$ar&kep=$kep&hosszu_leiras=$hosszu_leiras&rovid_leiras=$rovid_leiras',
success: function(html){
$('#ajax').html(html)
}
})
})
})
</script>


";
}

Ez konkrétan egy termék listázás, mellettük egy gomb, amire ha rámész behozza a részletes terméket..
Az a baj vele, hogy így ebben a helyzetben, behozza, de, mivel a cliklusban van benne, mindig a legutoljára listázott terméket hozza be. Próbáltam egy break;-ot, vagy continue;-t adni neki, de akkor meg nem reagált egyáltalán a click.
Valami ötlet?
Thank you comrades! :R :R

[ Szerkesztve ]

https://heureka-kreativ.hu

(#10761) Tele von Zsinór válasza trisztan94 (#10760) üzenetére


Tele von Zsinór
őstag

A te bajod az, hogy a ciklusban iratod ki a JS-t is, és emellé egy nagyon általános selectort használsz, ami az összes részletek gombra illeszkedni fog.

Ha már úgyis link az a részletek, használd ki! Ami url most a javascript eseménykezelődben van, legyen inkább a részletek hrefje - ciklusban generálva az mindig az aktuális elemre fog mutatni.

A legvégén pedig egyszer megcsinálod az eseménykezelőt, és az url ez lesz: $(this).attr("href"). Ez mindig a kattintott elemből szedi ki.

(#10762) DeltaPower válasza trisztan94 (#10760) üzenetére


DeltaPower
őstag

Mert nem jó a jquery selectorod.

Így próbáld:
while ($sor = mysql_fetch_array($mysql)){
...
echo "<a class='reszletek' id='reszletek-".$id."' href='#'><b>tovább!</b></a>";
...
echo"
<script>
$(function(){
$('#reszletek-".$id."').click(function(){...})
}
</script>
";
}

Tele von Zsinór megoldása szebb, de több átalakítást igényel a kódodban.

[ Szerkesztve ]

"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser

(#10763) trisztan94 válasza DeltaPower (#10762) üzenetére


trisztan94
őstag

Köszönöm, tökéletes! :R

https://heureka-kreativ.hu

(#10764) Sk8erPeter válasza trisztan94 (#10763) üzenetére


Sk8erPeter
nagyúr

Tele von Zsinór javaslata a jó megoldás, azt használd, utóbbi inkább csak alkalmazkodott a tiédhez (erre DeltaPower fel is hívta a figyelmedet), de alapvetően nagyon rossz megoldás.
Ha van 200 db kilistázott terméked, akkor 200 db eseménykezelőt fogsz definiálni JavaScriptben? Ne már.

Sk8erPeter

(#10765) DeltaPower válasza Sk8erPeter (#10764) üzenetére


DeltaPower
őstag

Itt egy elegánsabb megoldás, mert már nekem is szúrta a szememet az előző tákolmányom :)

while ($sor = mysql_fetch_array($mysql)){
...
echo "<a class='reszletek' href='termek_reszletes.php?termekid=$id&termeknev=$nev&ar=$ar&kep=$kep&hosszu_leiras=$hosszu_leiras&rovid_leiras=$rovid_leiras'><b>tovább!</b></a>";
...
}
echo"
<script>
$(function(){
$(a.reszletek).click(function(e){
$.ajax({
url: $(this).attr('href'),
success: function(html){
$('#ajax').html(html)
}
});
e.preventDefault();
})
}
</script>
";

Azt viszont nem értem, hogy a termek_reszletes.php-nek minek átadni ennyi paramétert. Egy termék id szerintem bőven elég lenne, a többit lekéred adatbázisból id alapján.

[ Szerkesztve ]

"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser

(#10766) Soak válasza DeltaPower (#10765) üzenetére


Soak
veterán

Azt viszont nem értem, hogy a termek_reszletes.php-nek minek átadni ennyi paramétert. Egy termék id szerintem bőven elég lenne, a többit lekéred adatbázisból id alapján.

Ugyan ezt írtam a jQuery topikba neki. :F

(#10767) Sk8erPeter válasza DeltaPower (#10765) üzenetére


Sk8erPeter
nagyúr

Igen, abszolúte felesleges ezeket átadni.
Leírást, képlinket, árat átadni GET-paraméterként? :Y
Ha ezek módosításáról van szó, azt meg nem GET-metódussal kéne elintézni, hanem POST-tal. De itt csak megjelenítésről van szó, tehát legfeljebb tényleg csak a termék id-ját kellene átadni GET-paraméterként, meg azt, hogy milyen módon szeretnéd megjeleníteni, erre lehet különböző megjelenítési módokat definiálni. De a többi felesleges.
Főleg, hogy egy termékhez normális webshop esetén több kép is tartozhat.

Az viszont megint csak nem jó megoldás, hogy PHP-vel íratod ki a JavaScript-kódot. :P Ez szemantikai keveredés. JavaScript-kód menjen csak a JavaScript-fájlba. PHP-vel JavaScriptnek legfeljebb beállításokat szabadna átadni, pl. nekem eléggé bejön, ahogy a Drupalnál megoldották, maga a JavaScript-fájlok csatolása, a beállítások átpasszolgatása is moduláris módon történik. [link], [link]
JavaScript Module Pattern: In-Depth

Sk8erPeter

(#10768) DeltaPower válasza Sk8erPeter (#10767) üzenetére


DeltaPower
őstag

Itt valóban fölösleges php-val piszkálni a js kódot, csak érzékeltetni akartam vele, hogy a js kód kiíratását a while-on kívülre kell hozni.

"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser

(#10769) nagyjasek


nagyjasek
csendes tag

Sziasztok. Nem tudom jó helyre írtam e de volna egy olyan problémánk, hogy webws felületen levelezünk tx2 webmailt használunk és azt vesszük észre egyre többször, hogy valaki olvassa a leveleinket. Nem tudom van e arra valamilyen legális módszer,hogy megnézzük az admin felületen azt,hogy mikor léptek be a fiókunkba, és hogy honnan léptek be.
Válaszotokat előre is megköszönöm

(#10770) Sk8erPeter válasza DeltaPower (#10768) üzenetére


Sk8erPeter
nagyúr

Igen, ez teljesen igaz.

Sk8erPeter

(#10771) Sk8erPeter válasza nagyjasek (#10769) üzenetére


Sk8erPeter
nagyúr

Nem ismerem ezt a levelezőt, de miért nem változtatjátok meg egyszerűen a belépéshez szükséges jelszót/jelszavakat?

Sk8erPeter

(#10772) meone


meone
tag

Sziasztok

Szeretnék csinálni egy olyan oldalt ahol a user elkezdi begépelni, mondjuk az irányítószámot, és az automatikusan kiegészül, és egy listában megjelenik.
Ennek a megvalósításához hozzá is kezdtem a jQuery AutoComplete segítségével.
Az oldal kódját össze is állítottam, amikor begépelem az első két karaktert a script lefut a tömb létre jön (lentebb mellékeltem egy minta tömböt) de nem jelenik meg választási opcióként, csak üres értékek.
Ez alapján a leírás alapján csináltam meg. [link]
Az index.php itt érhető el:[link]
Az irsz.php ami meg keresi az irányítószámot az meg ezen a linken. [link]
Ha például be írom azt, hogy 42 akkor ezt a JSON tömböt kapom vissza:

[{"IRSZ":"2042"},{"IRSZ":"2142"},{"IRSZ":"2242"},{"IRSZ":"2421"},{"IRSZ":"2422"}]

Ami nem baj ezt kell, hogy kapjam, de mégse jelenik meg semmi az inputbox alatt.

Valakinek valami ötlete, hogy mit ronthatok el, mert a jQuery-hez annyira nem értek.
De már azt értem ami a példában van, csak nem tudok rá jönni, hogy hol ronthatom el.

A segítséget előre is köszönöm.

[ Szerkesztve ]

Elnézést kérek mindenkitől a helyes írásom ért :)

(#10774) trisztan94 válasza Sk8erPeter (#10767) üzenetére


trisztan94
őstag

Elég hülyének érzem magam most :D
Erre amúgy nem gondoltam, tényleg, hogy csak ID-t adok át és kiszedem ab-ből :S
Kicsit hülyén gondolkodom még, majd javulnak ezek :D (nem? :( )

Köszönöm! :R :R

https://heureka-kreativ.hu

(#10775) DeltaPower válasza trisztan94 (#10774) üzenetére


DeltaPower
őstag

Ha már hosszabb ideig foglalkozol fejlesztéssel, előbb-utóbb mindenképp belefutsz egy-két komolyabb projektbe, amiknél a teljesítmény javítása miatt muszáj lesz ilyeneken is gondolkodnod, hogy minél kevesebb kérés, átadott paraméter, lekérdezés, redundancia stb. legyen.

[ Szerkesztve ]

"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser

(#10776) trisztan94 válasza DeltaPower (#10775) üzenetére


trisztan94
őstag

Hát addigra nyílván :)
Reméljük lesznek komolyabb projectek, bár most is vannak ügyfelek, de eggyik sem ilyen nagyon nagy dolog. :D
Egyik biomedencét akar árulni, csak egy leírás kell, hát nem egy nagy meló :D (bár mondjuk 120at fizet, szal :DD)
De igazából még nagyon sokat kell gyakorolnom, hogy egyáltalán bele merjek kezdeni egy nagyobb projectbe. Majd csak összejön :R

https://heureka-kreativ.hu

(#10777) Brown ügynök válasza meone (#10772) üzenetére


Brown ügynök
senior tag

Az indec.php fájlban, az IRSZ id-jű input ne legyen readonly, a mérete és a maximális hossza pedig legalább négy legyen.

A példában szereplő input az államkód miatt volt readonly és kettes méretű.

"hacsak nem jön a jó tündér break utasítás képében..."

(#10778) meone válasza Brown ügynök (#10777) üzenetére


meone
tag

Javítottam.
Viszont az egyes inputboxan, is meg kellene jelenni, ami kiválasztott, illetve a legördülő listában is látnia kéne
Mellékeltem egy képet sokkal érhetőbb úgy a problémám.[link]

[ Szerkesztve ]

Elnézést kérek mindenkitől a helyes írásom ért :)

(#10779) Sk8erPeter válasza meone (#10772) üzenetére


Sk8erPeter
nagyúr

Ide felraktam neked egy példát, ami szerintem már elég felhasználóbarát, és amit akár egy az egyben lemásolhatsz, vagy átalakíthatsz igényeid szerint:

jQuery UI Autocomplete - magyar irányítószámok:
http://jsfiddle.net/Sk8erPeter/YCE4Z/embedded/result/

Kód:
http://jsfiddle.net/Sk8erPeter/YCE4Z/

(HTML-, CSS- és JS-kód szétbontva: http://jsfiddle.net/Sk8erPeter/YCE4Z/3/)

Tehát ilyen formában kell ehhez legenerálni a JSON-kimenetet:

[
{ label: '8128 (Aba)', value: 8128 },
{ label: '8127 (Aba)', value: 8127 },
{ label: '5241 (Abádszalók)', value: 5241 },
..............
];

A source-hoz pedig megadhatod a feldolgozó fájlodat is, a jelenlegi változó helyett.

[ Szerkesztve ]

Sk8erPeter

(#10780) bobace


bobace
őstag

Sziasztok!

Nem régen vágtam bele SQL és PHP programozásba és egyben tanulásába. Viszonylag kezdek belejönni. Más nyelvhez nem igen értek, max html.. Szóval így kérném a választ, már ha kapok.:)

Azt szeretném megoldani, hogy adott egy tranzakciós lista.
Minden sornál eltárolom adatbázisban a fizetve sorhoz a 0 vagy 1 értéket, és ehhez megjelenítem a felületen a nincs fizetve/fizetve szöveget.
Ha egy terhelés jön, akkor csinálok 0-ás sort, ha jóváírás, akkor 1-est. Eddig tiszta sor.
Amit szeretnék megoldani, hogy mondjuk van 150 Ft terhelés, és akkor jön 100 Ft jóváírás, akkor a 0-ás sorokat írja át 1-esre azokban a sorokban, amire elég a jóváírás maradék nélkül. Hogyan lehet ezt számolni, mi lenne a módja?

Köszi!

Nem az a szabadság, hogy azt teheted, amit akarsz, hanem, hogy nem kell megtenned, amit nem akarsz.

(#10781) Soak válasza bobace (#10780) üzenetére


Soak
veterán

Én ugy csinálnám, hogy az adatbázisból úgy kérném vissza a tételeket, hogy érték szerint növekvő legyen. Majd szépen egyenként összeadogatod őket. Egy array-ban eltárolod azok id-ját amiket összeadsz . Nyilván akkor írod bele amikor már biztos, hogy 100alatt van az össz érték (és mész a következőre). Majd amikor végezett (a következő tétel hozzádása már 100 fölé menne) akkor egyszerrel UPDATE parancsal frissited az adatbázisod (azokat amiket az array-ba írtál)

for(), foreach() -et nézd át.

(#10782) vakondka


vakondka
őstag

Sziasztok,

PHP-val le kellene töltenem többezer képet egy távoli URL-ről.
A képletöltés nem gond, az működik szépen cURL-el, viszont a szerver timeout-ot nem lehet hosszabbra állítani 30 másodpercnél, szóval valami más megoldás kellene... :U

https://toptarget.hu - Online Marketing Ügynökség

(#10783) DeltaPower válasza vakondka (#10782) üzenetére


DeltaPower
őstag

Én azt szoktam csinálni, hogy leszedek egyszerre 10-50-100 darabot vagy amennyit a timeout megenged, letárolom melyik képnél tartottam, aztán javascripttel frissítem az oldalt.

"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser

(#10784) Tele von Zsinór válasza vakondka (#10782) üzenetére


Tele von Zsinór
őstag

Ha nincs tiltva, a set_time_limit függvény kell neked, ha tiltva lenne, akkor az előző hozzászólónál a megoldás.

(#10785) r0by válasza vakondka (#10782) üzenetére


r0by
addikt

Mostanában én is belefutottam hasonlóba.
Tömeges képimport során mindig elszállt 1 perc után. Igaz nálam lokális dirből volt import. Semmilyen ide kapcsolódó érték állítása nem volt megfelelő, csak 1, aminek elvileg nem sok köze lenne az egészhez. És azis kiderült, hogy valamiért csak .htaccess-ből lehet beállítani:
php_value max_input_time -1

(#10786) bobace válasza Soak (#10781) üzenetére


bobace
őstag

Az egyszerűbb részt megcsináltam, hogy ha ugyanannyi a befizetés, mint az összterhelés, akkor updatelek minden sort. Nyilván ez sem túl elegáns, mert egy lekérdezéssel mindent le lehetne tudni, csak hogy érezzek egy kis sikerélményt, ezt megcsináltam :D
Else-ben addig jutottam, hogy lekérem SQL-ból az összegeket. Mondjuk ez 5 érték. De itt megállt a tudomány, ez a rész nem megy: "Majd szépen egyenként összeadogatod őket. Egy array-ban eltárolod azok id-ját amiket összeadsz . Nyilván akkor írod bele amikor már biztos, hogy 100alatt van az össz érték (és mész a következőre)." Foreachet már használtam egyszer-kétszer, de nem tudom, ezt hogyan lehetne összerakni..Hogyan adogatom össze őket úgy, hogy figyeljen egy értékhatárt? :R

Nem az a szabadság, hogy azt teheted, amit akarsz, hanem, hogy nem kell megtenned, amit nem akarsz.

(#10787) biker válasza vakondka (#10782) üzenetére


biker
nagyúr

ha minden 10-20 akármennyi után kiíratsz valamit echoval, akkor nem áll le :)
így frissítem a 10-15.000 soros listákat, fut vagy 2 órán át gond nélkül 30s time limit mellett, amig ciklusban íratok ki

Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |

(#10788) Forza_JUVE


Forza_JUVE
aktív tag

Sziasztok!

Egy e-mail cím "bekérő" mezőt szeretnék beágyazni html-be, amihez van egy ilyen form-om:

<form action="parser.php" method="post">
<div>
<label for="email">E-mail: </label>
<input type="text" name="email" id="email">
<br>
<input type="submit" value="Elküld">
</div>
</form>

Azonban a php-hoz sajnos nem értek túlságosan. Tudna ebben vki segíteni, hogy hogyan kéne megírni egy ilyet ahhoz, hogy mondjuk egy txt-be beírja az adatokat, amikor vki rábök a fenti "Elküld" gombra??

Nagyon köszi!! :R

Üdv.

(#10789) trisztan94 válasza Forza_JUVE (#10788) üzenetére


trisztan94
őstag

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 :R ) azért írtam így, hogy legyen valami elképzelésed róla :)

https://heureka-kreativ.hu

(#10790) trisztan94 válasza trisztan94 (#10789) üzenetére


trisztan94
őstag

bocsánat, ez kimaradt :)
így néz ki az insert:
$mysql = mysql_query("INSERT INTO `tábla név` (email) VALUES (`$email')");

https://heureka-kreativ.hu

(#10791) Sk8erPeter válasza trisztan94 (#10790) üzenetére


Sk8erPeter
nagyúr

De ha tudod, hogy így van benne biztonsági rés, akkor már miért nem egyből a mysql_real_escape_string()-gel együtt mutatod neki? :D
Amúgy még mindig inkább PDO a mysql_× szarakodások helyett. :K

Végre frissítették a php.net-en is:

"Use of this extension is discouraged. Instead, the MySQLi or PDO_MySQL extension should be used."
Ideje volt. :)

mysql_* discouraged!!

Sk8erPeter

(#10792) trisztan94 válasza Sk8erPeter (#10791) üzenetére


trisztan94
őstag

Csak jólesett a tudat, hogy valakinek tudok segíteni és nem csak én kérek segítséget :B

https://heureka-kreativ.hu

(#10793) Sk8erPeter válasza trisztan94 (#10792) üzenetére


Sk8erPeter
nagyúr

Azzal nincs is semmi baj, tartsd is meg ezt a jó szokásodat. :D
Annyi, hogy a query-det kiegészíthetted volna egy picit:

if(isset($_POST['email']){
$email = mysql_real_escape_string($_POST['email']);
// ..........
}

és akkor no para. :)

Sk8erPeter

(#10794) vakondka válasza biker (#10787) üzenetére


vakondka
őstag

Ez tök jó, ki fogom próbálni :)

Köszi neked és a többieknek is az ötleteket! :R

https://toptarget.hu - Online Marketing Ügynökség

(#10795) Forza_JUVE válasza Sk8erPeter (#10793) üzenetére


Forza_JUVE
aktív tag

Sk8erPeter és trisztan94 ... nagyon köszi az ötleteket és a segítséget!
Szétnézek h mit tudok ezekből kihozni, de könnyen meglehet h még kérdezek majd 1-2-t! :)

Sziasztok!

(#10796) Forza_JUVE válasza Sk8erPeter (#10793) üzenetére


Forza_JUVE
aktív tag

Na tudtam én h nem fog menni! Mindjárt a tábla létrehozásánál megakadtam, ugyanis adatbázis kezelésben is abszolút kezdő vagyok. :B
/ezért is akartam az elején egy buta txt-be beíratni az e-mail címeket/

Vki esetleg el tudná mondani hogy hogyan hozzam létre az adattáblát? Miket kell ide beírni?
2 oszlop bőven elég lenne nekem, név és e-mail ... ennyi. Semmi extra óhajom sincs! :)

:R :R :R :R :R :R :R :R (látjátok milyen hálás vagyok ??? :DD )

(#10797) Sk8erPeter válasza Forza_JUVE (#10796) üzenetére


Sk8erPeter
nagyúr

Bedobhattál volna még legalább 12 hajlongó jelet, akkor sokkal szívesebben segítenénk! :DDD
Na jó, inkább ne tedd. :D

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.

[ Szerkesztve ]

Sk8erPeter

(#10798) Forza_JUVE válasza Sk8erPeter (#10797) üzenetére


Forza_JUVE
aktív tag

Nagyon köszi, eddig meg is volnánk! :) Egyik mező sem kell alapértelmezett legyen?

(#10799) Sk8erPeter válasza Forza_JUVE (#10798) üzenetére


Sk8erPeter
nagyúr

Az csak akkor érdekes, ha valamelyik mező kihagyható (opcionális).
Ezeket szerintem érdemes kötelezően kitöltendőre hagyni.

Sk8erPeter

(#10800) Forza_JUVE válasza Sk8erPeter (#10799) üzenetére


Forza_JUVE
aktív tag

Rendben, idáig akkor értem. És akkor a php-ban pedig meg kell mondani, hogy melyik táblába írja be, igaz?
Tehát valahogy így? (az alapján ahogy fentebb írtad)

<?php
if(isset($_POST['email']){
$email = mysql_real_escape_string($_POST['email']);
}
$mysql = mysql_query("INSERT INTO `E-mail` (email) VALUES (`$email')");
?>

Viszont amit még nem értek, hogy honnan tudja majd az adatbázis nevét amelyikben az E-mail táblát keresse?
Valamint milyen form tag-el ágyazzam be a html-embe?

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.