22786
Html-, css- és php-help
-
#1692 Hali! Volna egy problémám! Csináltam egy weboldalt (http://krisz113.extra.hu) és tele javascript-el! Ezt nem lehetne megoldani úgy hogy egy külön fájlban legyen a script és ne az index.php-ben?! Valaki segítsen! Ja és jut eszembe! Ha már ott jártok látogassátok meg a fórumot is!
http://krisz113.extra.hu -
#1691 Tökéletes köszi! :) -
#1690 <!-- Innentől meg a tartalom> = <!-- Innentől meg a tartalom --> -
#1689 Töltsd be előre a képeket az oldal letöltésekor.
A HTML-kódrészlet:
<head>
<!-- Ide jön a sok izémizé -->
<script type="text/javascript" src="preload.js">
</script>
<!-- Ide jön a többi izémizé -->
<body onload="preload()">
<!-- Innentől meg a tartalom>
A preload.js tartalma:
function preload() {
img1 = new Image();
img1.src = '01.gif';
img2 = new Image();
img2.src = '02.gif';
img3 = new Image();
img3.src = '03.gif';
} -
#1688 Valaki tudna abban segíteni, hogyan lehetne a GIFek lejátszását várakoztatni amíg be nem tölti az összes képet?
Itt 1 példa a problémámra: link -
#1687 A szkriptet részegységenként futtatni tudtam - tehát elviekben működőképes.
Ha ingyenes szolgáltatónál vagy, nincs nagyon sokmindenhez hozzáférés - ajánlatos például a phpmyadmin szolgáltatást használni. -
#1686 Egyébként célszerübb és biztonságosabb sql-adminnal, vagy kézzel szerveren backup-dump-olni
(vagy ha van hozzá jogod, akkor php/pearl-ben exec-el kiadni a dbszerver (pl mysql dump) dump parancsát) -
#1685 Az alábbi függvénnyel le tudod kérdezni a teljes DB struktúrát. Gondolom innentől már ki tudod rakni file-ba, valamint vissza tudod insertelni az anyagot..:)
function get_structure()
{
$server = $DBADDRESS;
$user = $DBUSERNAME;
$pass = $DBPASSWORD;
$db = $DB;
mysql_connect($server, $user, $pass);
mysql_select_db($db);
$tables = mysql_list_tables($db);
while ($td = mysql_fetch_array($tables))
{
$table = $td[0];
$r = mysql_query("SHOW CREATE TABLE `$table`");
if ($r)
{
$insert_sql = "";
$d = mysql_fetch_array($r);
$d[1] .= ";";
$SQL[] = str_replace("\n", "", $d[1]);
$table_query = mysql_query("SELECT * FROM `$table`");
$num_fields = mysql_num_fields($table_query);
while ($fetch_row = mysql_fetch_array($table_query))
{
$insert_sql .= "INSERT IGNORE INTO $table VALUES(";
for ($n=1;$n<=$num_fields;$n++)
{
$m = $n - 1;
$insert_sql .= "'".mysql_real_escape_string($fetch_row[$m])."', ";
}
$insert_sql = substr($insert_sql,0,-2);
$insert_sql .= ");\n";
}
if ($insert_sql!= "")
{
$SQL[] = $insert_sql;
}
}
}
return implode("\r", $SQL);
} -
#1684 ki próbáltad már a scriptet? :S
<?php
# SQL adatbázis adatok
$host = ("localhost");
$sqlname = ("xxx");
$sqlpass = ("xxx");
$sqldbname = ("xxx");
mysql_connect( "$host", "$sqlname", "$sqlpass" );
$filename = ("adatbazis.sql");
$result = mysql_query("SELECT * FROM tablanev");
$handle=fopen($filename, "w");
while( $c = mysql_fetch_array ( $result )) {
fwrite ($handle,$c[mezo1].chr(9).$c[mezo2].chr(9).$c[mezo3]."\n"); //tabokkal elválasztott mezőértékek a sor végén Unixos sortörés
}
fclose($handle);
mysql_close ();
?>
-
#1683 Köszi, igen ez lenne a cél. -
#1682 "pontosan mi ertelme volt kivenniuk ezt az attributumot ugy, hogy nincs ra ertelmes alternativa?"
A jelenlegi trend a felé halad, hogy az oldal taralmát (tehát hogy mit akarunk megjeleníteni), és az oldal kinézetét (színek, méretek, elhelyezkedések)/viselkedését (új ablakban való megnyílás, figyelmeztető üzenet, nyomtatás) külön-külön kódokba tesszük. A tartalmat az XHTML-be, a formázást CSS-be, a viselkedést Javascriptbe.
Ahogy ezt egy másik oldalon is leírják:
"Az alapelv az, hogy az xhtml-nek kizárólag információt (adatot) szabad tartalmaznia,
melyet szemantikai szempontok alapján markup-olunk. Ahhoz hasonló "viselkedéses" tulajdonságokat, mint hogy új ablakban nyílj meg - nem a markup-ban kell tárolnunk, hanem az oldal (elemeinek) viselkedését leíró javascript-ben. (Ahhoz hasonlóan, hogy a megjelenés tulajdonságait sem a markupban kell tárolni, hanem a css-ben)"
Forrás:
Másrészt ezzel a felhasználótól veszed el a választás lehetőségét, hogy Ő kezelje a böngészőt, Ő dönse el hogy új ablakban kívánja-e megnyitni az oldalt.
Szóval a weboldalt a felhasználóknak készítjük (aki lehet vak, gyengénlátó, mobil eszközt használó, IE/Netscape/Firefox/Opera/stb..), nem magunknak.
-
blackgamer #1681 Nagyon szépen köszönöm a segítségedet! Működik! -
Zsoldos #1680 pontosan mi ertelme volt kivenniuk ezt az attributumot ugy, hogy nincs ra ertelmes alternativa? -
#1679 így már értem ki is próbálom holnap a scriptet azaz ma csak alszok rá 1-et :D -
#1678 "xhtml-ben milyen parancsal lehet új ablakot nyitni(nem popup)?"
target"_blank" attribútum leváltása a cél? Ajánlom figyelmedbe ezt a cikket. -
#1677 Vagy adatbázis -> állomány (ez az első szkript)
Vagy állomány -> adatbázis (ez a második szkript)
Lényegében egy tábla lementése egy állományba/egy állományból egy táblába adatkiírás. -
#1676 az én részemre nem igazán sikerül rájönnöm hogy miért van két php rész, az adatbázishoz kapcsolodo részt értem azaz csak sejtem!
"(visszafelé hasonlóképp megy)" ezt meg plán nem értem :P -
#1675 "Valaki nem tudná le írni azt a php scriptet, amelyik olyat csinál, hogy a képet amit felteszek honlapra, és ha rá megy valaki a képre akkor a bal felső sarokba ki ad 4 darab icont, és annak a letíltása kéne."
Ez a felső 4 ikon csak Internet Explorer böngésző esetén jön be. Letiltani úgy lehet, ha HTML file-ból jeleníted meg:
<img src="konyvtar/kepnev.jpg" alt="leírás" />
Ha arra vagy kiváncsi, hogyan lehet megakadályozni, hogy a felhasználó lementse az oldalon található képet... ...akkor el kell keserítselek, amit publikálsz a webre, az lementhető. Ha nem könnyen, akkor még könnyebben (a print screen nevű billentyű használata...)
-------------------------------------------------------------------------------
"ok, értem, tehát egy teljesen szűz .php fájlba kell beírni
<?php @readfile(http://www.sg.hu/pics/sglogo_uj.gif'); ?>
és akkor működik, hogy a képet hozza be"
Így csak a file tartalmát - puritán módon - írja ki (és nem a képet jeleníti meg, mint az én átalam közölt megoldásban - ugyanis nem tudatjuk a böngészővel, hogy a küldött adat kép-e).
A header jelzi a böngészőnek, hogy a kiküldött adat egy kép.
Az általad említett megoldásban az object.php valószínűleg kiküldi a headert (a MIME type ugyanis image/jpeg).
Ha a képek nem egy szerveren vannak a php-szkript-tel, akkor Falabu #1654-es megoldása vezet megoldásra (de megoldhatod szöveges állománnyal is, ahol a szöveges file tartalmazza a képek abszolult elérési helyét; vagy #1674 hozzászólásodban szereplő véletlenszámgenerálás is jó megoldás - csak ha képet akarsz, akkor küld ki mindenképp a headert - anélkűl nem tudsz képként megjeleníteni).
-------------------------------------------------------------------------------
"Lehet hogy hülyén foglamaztam meg szal: ftp-re lementi az adatbázis tartalmát amihez csatlakozik egy adatbazis.sql vagy akármilyen fájlba?"
Hááát, MySQL+PHP-ben külön parancs erre aligha lenne.
A legjobb módszer, ha lekérdezed az egész adatbázist, majd a kapott lekérdezés adatait soronként elmented egy file-ba (visszafelé hasonlóképp megy).
<?php
include ("dbconnect.php"); //Adatbázishoz kapcsolódó rész...
$result = mysql_query("SELECT * FROM tablanev");
$handle=fopen($filename, "w");
while( $c = mysql_fetch_array ( $result )) {
fwrite ($handle,$c[mezo1].chr(9).$c[mezo2].chr(9).$c[mezo3]."\n"); //tabokkal elválasztott mezőértékek a sor végén Unixos sortörés
}
fclose($handle);
mysql_close ();
?>
<?php
include ("dbconnect.php"); //Adatbázishoz kapcsolódó rész...
$tartalom = @file($filename);
for ($i=0; $i<count($tartalom); $i++) {
//Sortörések ki
$tartalom[i] = str_replace("\r", "", $tartalom[i]);
$tartalom[i] = str_replace("\n", "", $tartalom[i]);
$resz = explode(chr(9),$tartalom[$i]); //Egy sor részekre bontása
mysql_query("INSERT IGNORE INTO users (User, Pass) VALUES ('".$resz[0]."','".$resz[1]."');"); //Feltöltés
}
mysql_close ();
?> -
blackgamer #1674 és ennyi véletlen képekkel
<?php
$sorszam=rand(1,10);
@readfile('http://peldaurl.hu/kep'.$sorszam.'.jpg'); ?> -
blackgamer #1673 ok, értem, tehát egy teljesen szűz .php fájlba kell beírni
<?php @readfile(http://www.sg.hu/pics/sglogo_uj.gif'); ?>
és akkor működik, hogy a képet hozza be -
#1672 Ok. Keresgélek. -
#1671 az a baj hogy nem értem a problémád de http://hu.php.net/manual/hu/ itt nézz szét itt elvileg minden php függvényt megtalálsz! -
#1670 Aha, hallod, te az én kérdésemre tudsz válaszolni? Azt tom hogy van olyan, de nem tom a kodot:S -
#1669 nemtudom mert már átnéztem 2x a php dokumentációt de nem igazán találtam benne :S -
#1668 max7 Tutomal kell ilyenek lenni-e. -
#1667 Sziasztok!
Rég jártam erre de ismét gondom van! Nem tudjátok létezik olyan függvény ami lementi az adatbázist localhostra? Lehet hogy hülyén foglamaztam meg szal: ftp-re lementi az adatbázis tartalmát amihez csatlakozik egy adatbazis.sql vagy akármilyen fájlba? :S Ha nem vili megpróbálom máshogy elmondani de faustus biztos tudja ;) (php dokumentációban nem találtam ilyet)
Bye: Max7 -
#1666 Valaki nem tudná le írni azt a php scriptet, amelyik olyat csinál, hogy a képet amit felteszek honlapra, és ha rá megy valaki a képre akkor a bal felső sarokba ki ad 4 darab icont, és annak a letíltása kéne. Aki ezt tudja az pls írja már le. Nagyon fontos lenne -
#1665 xhtml-ben milyen parancsal lehet új ablakot nyitni(nem popup)?
Vagy hol tudok ennek utánnanézni? -
#1664 Remélem lesz vki aki megtalálja, mert én is néztem pár jcriptes oldalon. -
#1663 Le kell szokni róla. :D
Amúgy asszem javascripttel megoldható, volt is szó róla valamelyik webes topicban, csakugye van pár belőlük. :C -
#1662 Jó, én is ezt használom, csak ugye sokan hasznáják a mircosoft böngészőjét és azért kérdeztem... -
#1661 Persze, firefox a neve és porba alázza az explorert. -
#1660 Nemtudjátok hogy van-e olyan script, ami blokkolná a kép mentése funkciót?!
Vagy legalábbis nem jelenítené meg az Expolerben a képek fellett azokat a kis ikonok...mert nagyon zavaróak tudnak néha lenni :( -
blackgamer #1659 csak php kódot nem futtathatok ott ahova a képet beillesztem
szóval ennél a sornál <img src="<?php print $tomb[eleresi_ut];?>" > nem működne a kód
de azért köszi, hasznos infó -
phoenix1 #1658 Bocsi a PHP-be így:
ezt: $url
erre: $_GET['url'] -
phoenix1 #1657 Hello.
HTML: <meta http-equiv="refresh" content="6;URL=http://www.terravita.uw.hu/index.html">
JavaScript: go();
function go() {
window.location.href = "http://www.terravita.uw.hu/index.html";
}
vagy PHP:
<?php
if ($url)
{
header("Location: $url");
exit;
}
echo "<html><head>\n";
echo "<title>Error</title></head>";
echo "</html>";
?>
-
blaze711 #1656 Hogyan is lehet átirányítani?? Már jó rég csináltam már elfelejtettem :(
Szoval ha valaki beirja ezt: www.terravita.uw.hu aakkor automatikusan ez jöjjön be/irányitsa át ide: terravita.uw.hu/index.html
Köszi szépen! -
#1655
<?php
$eredmeny = (mysql_query("SELECT eleresi_ut FROM kepek WHERE id='$id'"));
while($tomb = mysql_fetch_array($eredmeny))
{
?>
<img src="<?php print $tomb[eleresi_ut];?>" >
<?php
}
?>
A lényeg ez, ha valami szintaktikai hiba van, elnézést jó rég nemcsináltam már ilyet;)!
-
#1654 De lehet, a lényeg az, hogy a képeket az adatbáziba mented(vagyis az elérési útvonalat) és a sql lekérdezéssel az id szerint hivatkozol a képek elérési útjátra. Remélem értehető volt!:P -
blackgamer #1653 igen, köszi, eddig eljutottam, csak az ahova a képet linkelem, és ahol a kép van (ott van php futtatási lehetőség), nem egy szerver
viszont van lehetőség naponta egyszer automatikusan lefuttatni egy php scriptet, szóval lehet inkább felülírom azt a bizonyos elérési úton lévő fájlt egy másikkal véletlenszerűen (ha szerver engedi)
nem tökéletesen ezt akartam de most ez az ötletem támadt, bár lehet favágó módszer
olyan nem lehet hogy egy adott .php fájlt futtatok, és nem weboldalt adna vissza hanem képet?
mint itt hogy van megoldva? ezt nem értem