- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Chosen: Canon 5D II - portrézás 2025-ben
- bambano: Bambanő háza tája
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- MasterDeeJay: SATA to SAS adapter
- Elektromos rásegítésű kerékpárok
- gban: Ingyen kellene, de tegnapra
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
Kriptográfiai kulcsokat hova szokás pakolni?
-
D@ni88
addikt
válasz
Sk8erPeter #7398 üzenetére
kipróbáltam és nem megy hibára
-
Sk8erPeter
nagyúr
Nem működik, ha CGI-módban futtatják a PHP-t...
Még egy próbát tehetsz azzal, hogy kiszeded az <IfModule mod_rewrite.c> sort, meg a bezáró </IfModule> taget, ekkor ha be van állítva a RewriteEngine on, viszont a mod_rewrite modul nincs bekapcsolva, akkor "Internal Server Error" hibaüzenetet kapsz.
-
D@ni88
addikt
válasz
Sk8erPeter #7396 üzenetére
Fatal error: Call to undefined function apache_get_modules() in /var/www/virtual/xyz.tk/htdocs/index.php on line 3
-
D@ni88
addikt
válasz
Sk8erPeter #7394 üzenetére
megnéztem gyorsba, le van tiltva a phpinfo
a többire holnap lesz időm
-
Sk8erPeter
nagyúr
Először csekkolni kéne, a mod_rewrite modul be van-e töltve az Apache-ban.
Saját szerverről próbálkozol, vagy egy szolgáltató tárhelyéről?
Készíts egy phpinfo()-t (amennyiben a szolgáltatód nem volt olyan ostoba, hogy letiltotta ezt a funkciót "biztonsági" szempontokra hivatkozva).
Pl. phpinfo.php fájlon belül:
<?php
phpinfo();
?>Általában, ha a PHP az Apache module-on keresztül fut, a phpinfo()-nál az apache2handler résznél látható egy Loaded Modules sor; ha itt szerepel a mod_rewrite bejegyzés, akkor a rewrite modul be van töltve. Ha nem szerepel a felsorolásban, akkor meg is van a hiba. Pl. a szerver konfigfájljában (httpd.conf) ki van kommentezve a
LoadModule rewrite_module modules/mod_rewrite.so
sor.Most átmenetileg módosíthatnád az index.php-det úgy, hogy a legelejére beteszel egy ilyet:
<?php
echo '$_GET array: <pre>';
var_dump($_GET);
echo '</pre>';
die();
// .....
?>Ezzel kiíratod, mi van a $_GET tömbben.
Ellenőrizd, aztán meglátjuk, hogyan tovább...Egyébként ha az eddigi tesztjeidet leszarja, akkor simán elképzelhető, hogy egyszerűen nem megy a modul. Legalábbis most ennyiből nem látom, hogy valami elrontottál volna.
Szerk.:
(#7393) D@ni88 :
"Ez már egy .tk-s domainról megy."
A domainhez semmi köze. A .tk-s domained elméletben simán mutathatna akár a saját kis szervered IP-címére is, így tiéd lenne a tárhely.
A tárhelyszolgáltató szerverbeállításaitól függ, megy-e a Rewrite modul. -
D@ni88
addikt
válasz
Speeedfire #7392 üzenetére
Ez már egy .tk-s domainról megy. lehet hogy ott nem lehet használni
-
D@ni88
addikt
válasz
Speeedfire #7389 üzenetére
Eddig úgy volt felépítve az oldal, hogy a template.php-n belül létrehoztam az oldal formai struktúráját.
És mindig az egyes div-ekbe include-oltam az adott php-kat a $_GETből kapott érték szerint.<?php
session_start();
include_once("initial.php"); <-osztályok
$users = new Users();
include_once("page.template.php");
?> -
Sk8erPeter
nagyúr
Most elvileg szeretnéd "ráfuttatni" a címeidet az index.php-ra.
A rewrite modul most akkor írja át a címet, ha nem fájlról és nem könyvtárról van szó.
Ha az index.php-ben helyesen include-olod a fejlécet, oldalsávot a megfelelő helyre, akkor azt is meg kell jelenítenie. Kérdés, hogy most Te mit is csinálsz igazából a $_GET['page'] változóval, meg mi van az index.php-dben. Ebből is mutathatnál részletet.
Ja, meg az sem árt, ha a rewrite modul tényleg működik a szerveren, különben hiába van .htaccess fájlod, amiben próbálsz átírni bármit is.
Amúgy kétszer van a RewriteEngine on sorod, egyiket szedd ki.(#7386) Athlon64+ : mit mié'?
-
Speeedfire
félisten
válasz
Peter Kiss #7386 üzenetére
Elsősorban a átláthatóság, strukturáltság miatt másodsorban pedig SEO szempontok miatt.
-
D@ni88
addikt
válasz
Sk8erPeter #7384 üzenetére
.htacces fájl:
<IfModule mod_rewrite.c>
RewriteEngine on
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?page=$1 [QSA]
</IfModule>Szval, hogy ha rewrite-ot használok, akkor, minden egyes cél url php-ba fel kell építenem újra a html tageket?
Mert most úgy működik, hogy ha a főoldalra megyek, szépen megjelenik az oldal, viszont ha egy direkt rewrite-nak készített linkre (valami.hu/teszt) megyek, aminek a tartalma
<?php
echo "sikerült";
?>
akkor csak a sikerült szöveg jelenik meg, míg az oldal header-je, oldalsávja nem jelenik meg. -
Peter Kiss
őstag
válasz
Speeedfire #7385 üzenetére
Miért?
-
Sk8erPeter
nagyúr
"Rewrite-ot mennyire érdemes használni?"
Amennyire szükséged van rá.
Egyébként nyilván abszolúte van létjogosultsága.Számomra mindenesetre a probléma-leírásod totál érthetetlen volt, ráadásul a .htaccess fájlod meg a pontos célod (pl. milyen címből mi legyen) leírása nélkül csak rébuszokban tudunk beszélni.
-
D@ni88
addikt
Rewrite-ot mennyire érdemes használni?
Én most próbálgatom, de eddig nem olyan nagy sikerrel
Működik már a link átalakítása, de most totál széttúrja az oldalam.
Eddig volt ugye egy index.php, ahova includoltam a class-okat, és utánuk az oldal template-jét.
Most minden szép és minden jó, de most csak az adott php tartalma jelenik meg, és nem használja a template-t.
Hogy lehet megoldani, hogy működjön a rewrite is és oda kerüljön a php tartalma a template-n belül ahova azt szeretném? -
Sk8erPeter
nagyúr
válasz
Sk8erPeter #7381 üzenetére
Ezzel kapcsolatban még érdemes megnézni ezt:
PHP type comparison tables
és ezt:
Stupid PHP Tricks: (true == false)$a = 'string';
$b = 0;
if ( $a == true && $b == false && $a == $b )
{
echo ( 'universe broken' );
} -
Sk8erPeter
nagyúr
válasz
Brown ügynök #7372 üzenetére
"Ez így még kevés: if($users->is_admin())."
Már miért lenne kevés.
Fontos (php.net-ről):
"[...] However, in most cases the cast is unnecessary, since a value will be automatically converted if an operator, function or control structure requires a boolean argument.See also Type Juggling.
When converting to boolean, the following values are considered FALSE:
the boolean FALSE itself
the integer 0 (zero)
the float 0.0 (zero)
the empty string, and the string "0"
an array with zero elements
an object with zero member variables (PHP 4 only)
the special type NULL (including unset variables)
SimpleXML objects created from empty tagsEvery other value is considered TRUE (including any resource)."
Tehát amennyiben a példában az is_admin() függvény visszatérési értéke nem tekintendő false értékűnek a belső konverzió után (lásd a felsorolt példákat), akkor igaznak értékelődik ki.
(#7373) j0k3r! :
"(mar ha bool ertekkel ter vissza a metodus)"
a fentiek miatt nem is muszáj, hogy explicite boolean értékkel térjen vissza a függvény, ahhoz, hogy true-nak értékelődjön ki a visszatérési értéke. Persze nyilván ilyen esetben úgy ocsmány, ha nem boolean értékkel tér vissza, de nem árt tudni, hogy más esetekben is "jól" működik a függvény, ez akár sok félreértéshez is vezethet programteszteléskor. -
j0k3r!
őstag
válasz
Peter Kiss #7379 üzenetére
inkabb a tegnap este elfogyasztott alkohol mennyiseg lehet a ludas
( de ez mar nagyon off )
-
j0k3r!
őstag
válasz
Peter Kiss #7377 üzenetére
teljesen igazad van
( igy is szoktam hasznalni, nemis tudom miert a masikat irtam
)
-
D@ni88
addikt
közben rájöttem, hogy ezért szenvedtem vele, mert később hoztam létre az osztályból az objektumot, mint ahogy használni akartam
-
D@ni88
addikt
hello, itt mit rontok el?
class Users
{
...
public function is_admin()
{
if($this->admin==1)
{return TRUE;}
else
{return FALSE;}
}
...
}$users = new Users();
if($users->is_admin())
{
echo "admin";
} -
RootRulez
félisten
"Tudtam én, csak nem sejtettem..."
(mod: idézőjelek)
-
RootRulez
félisten
válasz
Speeedfire #7366 üzenetére
No, de akkor ez most rám mennyire vonatkozik?
Valamit át kéne írnom?
-
Speeedfire
félisten
válasz
Sk8erPeter #7365 üzenetére
Mi lenne velem nélküled?!
-
Sk8erPeter
nagyúr
válasz
Speeedfire #7364 üzenetére
Na de ezt itt nem mondtad. Én meg épp azért "szóltam be", mert az úgy nem fog működni.
Bufferelés hiánya esetén ezt a hibát kapod:
"Warning: Cannot modify header information - headers already sent by (output started at ... in ... on line ..."
Nyilván, mivel fejléceket a HTML output után bufferelés hiányában már nem lehet küldeni.De az általam belinkelt kommentben sincs explicite ob_start() meg ob_flush().
Egyszerűen cseréld meg a kódodban a sorrendet...előbb legyen a header elküldése, utána a kiírt szöveg.
-
Speeedfire
félisten
válasz
Sk8erPeter #7363 üzenetére
Igen, mert én a php fájl elején nyomok egy ob_flush()-t. Így nem dob notice-t.
Tudom, hogy nem a legjobb megoldás, de így nem kell ezzel sem foglalkozni. -
Sk8erPeter
nagyúr
válasz
Speeedfire #7357 üzenetére
header() a HTML output UTÁN?
([link])
-
RootRulez
félisten
válasz
Speeedfire #7361 üzenetére
Ühüm köszi, működik!
Mindenképp jobb az én fapados megoldásomnál.
-
Speeedfire
félisten
válasz
RootRulez #7360 üzenetére
Az úgy elég gány megoldás.
Inkább használd ezt, vagy csak vedd ki belőle ami neked kell.
<html>
<head>
<meta name="content" content="text/html; charset=iso-8859-2">
<title>Hibakód: 404 (File Not Found)</title>
<script type="text/javascript">
window.onload = function() {
startCountDown(5, 1000, myFunction);
}
function startCountDown(i, p, f) {
var pause = p;
var fn = f;
var countDownObj = document.getElementById("countDown");
if (countDownObj == null) {
alert("Nincs ilyen id-vel ellátott elem!");
return;
}
countDownObj.count = function(i) {
countDownObj.innerHTML = i;
if (i == 0) {
fn();
return;
}
setTimeout(function() {
countDownObj.count(i - 1);
},
pause
);
}
countDownObj.count(i);
}
function myFunction() {
document.location.href = "http://tothszabi.info";
}
</script>
</head>
<body>
<div id="countDown"></div>
</body>
</html> -
RootRulez
félisten
válasz
Speeedfire #7359 üzenetére
Mielőtt átirányítom a valós oldalra, átirányítom 3 másik odalra, ahol csak a szám változik
Ennyi...
-
RootRulez
félisten
válasz
Speeedfire #7357 üzenetére
Köszi! Sajna se PHP-hoz, se java-hoz nem értek, de az irányítás megy így.
(a visszaszámolást megoldom úgy, hogy másodpercenként irányítja tovább oldalra, ahol egyel kevesebb számot ír ki. A 4. oldal meg a tárgy oldal lesz.
)
-
Speeedfire
félisten
válasz
RootRulez #7356 üzenetére
echo '<p class="tovabb">
Megszűnt az oldal, átirányítás folyamatban!<br />
Ha türelmetlen vagy katt <a href="#">ide</a>.
</p>';
header("refresh:3;url=www.google.hu");
//a refresh után mp-ben kell megadni az időt 2-3mp elég
//az információra
//a visszaszámolást meg csináld
//meg js-ben -
RootRulez
félisten
Sziasztok!
Most úgy irányítom át az egyik oldalra a másikra, hogy
header("Location: masikoladl.php" );Ez megy is frankón, de most közölni szeretném az odalátogatóval, hogy ez az oldal megszűnt, oly módon, hogy átugrás előtt mondjuk számoljon vissza, esetleg egy link is lehet, hogy hamarabb lehessen átlépni.
Ez megoldható? Köszi!
-
Sk8erPeter
nagyúr
"Jelenleg az adatok egy JSON fájlba vannak tárolva.
Ezzel kapcsolatban lenne kérdésem.
Az egyik az, hogy ezeket a fájlokat hogyan lehet írni PHP segítségével van rá a neten valami minta, hogy milyen szintaxissal lehet meg nyitni a fájlt bele írni a végére majd lezárni?"Ha jól értelmezem a kérdésedet, szeretnél PHP-vel megnyitni, majd beolvastatni egy JSON-fájlt, ehhez hozzáadni adatokat, majd ismét JSON-formátumban eltárolni, és végül lezárni a fájlt.
1.) Megnyitásra, fájl tartalmának beolvastatására: file_get_contents()
2.) JSON-string PHP-s formátumra konvertálására: json_decode().
Itt hozzáadhatod akár tömbszerűen, vagy neked tetsző módon az adataidat, ezt követően:
3.) PHP-változó JSON-stringgé konvertálására: json_encode().
4.) Fájlba írásra, fájl lezárására: file_put_contents().Ennél egyszerűbb módszer erre nincs.
Pont a json_decode() kommentjei közt szerepel egy viszonylag egyszerű példa a beolvasásra:
[link]
"Make sure you pass in utf8 content, or json_decode may error out and just return a null value. For a particular web service I was using, I had to do the following:<?php
$contents = file_get_contents($url);
$contents = utf8_encode($contents);
$results = json_decode($contents);
?>Hope this helps!"
A második részre:
"Hogyan alakíthatom át ezt úgy, hogy az adatokat ne JSON fájlból szedje ki hanem MySQL és PHP kombó segítségével."
Szerintem itt rosszul értelmezed a dolgokat, vagy lehet, hogy csak rosszul fogalmaztad meg, vagy én értelek félre. Láthatóan az általad linkelt oldalon is PHP segítségével dolgozzák fel az adatokat. Hogy konkrétan MySQL- vagy más adatbázisból szedik ki az adatokat, az teljesen lényegtelen, de valamilyen adatbázisból kiszedik.
Itt annyi történik, hogy AJAX-szal kérdezik le az adatokat, és azzal is jelenítik meg a frontenden. Ettől függetlenül nem feltétlenül generálnak le emiatt egy JSON-fájlt, hogy aztán abból olvassák ki, hanem egyszerűen JSON-formátumban küldik vissza a kapott adatokat a szerverről.
Ez pl. nagyon könnyen megtehető a korábban említett json_encode() függvény segítségével.
Összeállítanak egy tömböt, vagy bármilyen más változót a kívánt adatokkal, json_encode-dal JSON-formátumúra alakítják, majd ezt echo-zzák, ezt kapja meg az AJAX-lekérés eredményeként a kliensoldal. Ezt már csak a megfelelő formátumban jQuery-vel feldolgozzák, elkészítik belőle a grafikont, stb.Ezek fényében az első pontra visszatérve: ha folyamatosan változó adatokat akarsz kiolvastatni pl. adatbázisból, mindezt PHP-vel feldolgozni, stb., akkor emiatt nehogy írj minden alkalommal JSON-fájlt, hacsak nem nagyon indokolt, az feleslegesen rendkívül erőforrásigényes.
-
meone
tag
Sziasztok!
Mostanában elkezdtem foglalkozni adatok ábrázolásával.
Az adatok MySQL-ben vannak letárolva és PHP-val olvasom ki, hogy épp mi kell nekem az adatbázisból éppen.
Találtam egy jó kis oldalt ahol vannak ilyen demo diagramok azokat módosítom a nekem megfelelő kinézetre. [link]
Amit belinkeltem azt a diagramot szeretném át alakítani úgy, hogy PHP segítségével szedje ki a MySQL-böl az adatot.
Jelenleg az adatok egy JSON fájlba vannak tárolva.
Ezzel kapcsolatban lenne kérdésem.
Az egyik az, hogy ezeket a fájlokat hogyan lehet írni PHP segítségével van rá a neten valami minta, hogy milyen szintaxissal lehet meg nyitni a fájlt bele írni a végére majd lezárni?A második kérdésem pedig a belinkelt oldallal kapcsolatos.
Az oldal forráskódja a következő:<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Highstock Example</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var seriesOptions = [],
yAxisOptions = [],
seriesCounter = 0,
names = ['MSFT', 'AAPL', 'GOOG'],
colors = Highcharts.getOptions().colors;
$.each(names, function(i, name) {
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename='+ name.toLowerCase() +'-c.json&callback=?', function(data) {
seriesOptions[i] = {
name: name,
data: data
};
// As we're loading the data asynchronously, we don't know what order it will arrive. So
// we keep a counter and create the chart when all the data is loaded.
seriesCounter++;
if (seriesCounter == names.length) {
createChart();
}
});
});
// create the chart when all data is loaded
function createChart() {
chart = new Highcharts.StockChart({
chart: {
renderTo: 'container'
},
rangeSelector: {
selected: 4
},
yAxis: {
labels: {
formatter: function() {
return (this.value > 0 ? '+' : '') + this.value + '%';
}
},
plotLines: [{
value: 0,
width: 2,
color: 'silver'
}]
},
plotOptions: {
series: {
compare: 'percent'
}
},
tooltip: {
pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b> ({point.change}%)<br/>',
yDecimals: 2
},
series: seriesOptions
});
}
});
</script>
</head>
<body>
<script type="text/javascript" src="../../js/highstock.js"></script>
<div id="container" style="height: 500px; min-width: 600px"></div>
</body>
</html>Hogyan alakíthatom át ezt úgy, hogy az adatokat ne JSON fájlból szedje ki hanem MySQL és PHP kombó segítségével.
Azt sejtem, hogy valahol itt kell keresgélni a kódban.
$(function() {
var seriesOptions = [],
yAxisOptions = [],
seriesCounter = 0,
names = ['MSFT', 'AAPL', 'GOOG'],
colors = Highcharts.getOptions().colors;
$.each(names, function(i, name) {
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename='+ name.toLowerCase() +'-c.json&callback=?', function(data) {
seriesOptions[i] = {
name: name,
data: data
};
// As we're loading the data asynchronously, we don't know what order it will arrive. So
// we keep a counter and create the chart when all the data is loaded.
seriesCounter++;
if (seriesCounter == names.length) {
createChart();
}
});
});Az 'MSFT', 'AAPL', 'GOOG' azok a fájlok amik az adatokat tartalmazzák.
Esetleg valaki itt csinált már ilyet?
Köszönöm előre is a segítséget.
-
Brown ügynök
senior tag
-
D@ni88
addikt
Hello.
Tudna valaki olyan példát mutatni, ahol tetszőleges számű beviteli mezőt lehet készíteni és feldolgozni?
El akarok tárolni valami szöveget, de nem csak fix számút, hanem néha 20at néha 2-t.
-
cucka
addikt
válasz
DeltaPower #7348 üzenetére
Akkor bizony beszélni kell a rendszergazdával.
Egyébként ez teljesen általános dolog, ha nem házon belül van a szerver. A paranoid rendszergazda mindent letilt és lekorlátoz, a fejlesztő meg emiatt nem tudja elvégezni a munkáját. -
cucka
addikt
válasz
DeltaPower #7346 üzenetére
chown() és chmod() függvények.
Persze, elképzelhető, hogy nem fognak működni a szerver beállításai vagy jogosultság gondok miatt, ez esetben szólni kell a rendszergazdának. -
DeltaPower
addikt
Sürgős segítség kellene...
Van egy tárhely, ahol a safe mode be van kapcsolva. Ha php-ból létrehozok egy könyvtárat, és ebbe próbálok írni, akkor eltérő owner id-k miatt (a script a tárhelyhez rendelt felhasználó jogaival fut, a könyvtár tulaja viszont a www-data lesz) safe mode hibát kapok. Mit lehet ezzel kezdeni?
Előre is kösz a segítséget.
-
fi:zi'k
nagyúr
válasz
Sk8erPeter #7343 üzenetére
Magento a webshop neve.
Azóta rájöttem a titok nyitjára, de ennek ellenére nem tetszik a megoldásuk. A "Products" és a "Home"-ot nem menüként kezeli. Pontosabban nem ahogy általában gondolna rá az ember. A "Products" a valójában egy root kategória, ami nem is törülhet. Ha létrehozok alkategóriákat, akkor a "P." alatt jelennek meg. Furcsa egyébként, mert még akkor sem törölhető a "P." ha van másik a root.
még kell vele egy kicsit mókolni, hogy jó legyen.Mindenesetre jónak bizonyult a tanács, hogy ne a kódban keresgéljek.
-
Speeedfire
félisten
válasz
Sk8erPeter #7342 üzenetére
Nem vágod a szlenget?
-
Sk8erPeter
nagyúr
válasz
fi:zi'k #7334 üzenetére
Melyik webshopmotorról van szó?
Menüátszerkesztésre szinte biztos, hogy van mód admin-felületen (legalábbis egy normális önálló webshopmotor ezt lehetővé teszi), emiatt inkább ne gányolj bele a kódba. Ha mégsincs lehetőség ilyen jellegű szerkesztésre, akkor gyorsan válts webshopmotort. -
Sk8erPeter
nagyúr
válasz
TonTomika #7341 üzenetére
Akkor most már tudod, hogy semmi értelme ilyen módon idézőjelbe tenni, amikor a $_POST tömbbe kerül, így is-úgy is stringként fog átmenni a szerver felé.
"csúszott el a történet"
A történet el szokott csúszni? Imádom ezt a "történet" szót, semmi értelme ilyen kontextusban, de legalább jó magyartalan, és fogalmam sincs, miért, de iszonyatos nagy divatja van manapság ennek a szóhasználatnak, a legrosszabb, hogy értelmes emberek is használják ilyen módon. (Pl.: "3 ezer Ft-ba kerül a történet."Mi a tököm értelme ennek?
)
Ez nagyon OFF, bocs, de ez a szó mindig szúrja a szemem. -
-
PazsitZ
addikt
válasz
TonTomika #7339 üzenetére
A "email_1@mail.com" esetén így jelzed, hogy stringről van szó.
Ha változóba rakod a stringet $variable = "email_1@mail.com", akkor nincs szükség erre, a változó string típusú.Az esetedben ott volt a hiba, hogy az if feltételvizsgálatban te értékadást írtál.
Az összehasonlításhoz két egyenlőségjel kell.
if ($to == 1) {$emailto = 'email_1@mail.com';} -
TonTomika
aktív tag
válasz
PazsitZ #7336 üzenetére
Köszi a gyors választ!
Azért tettem bele, mert alapjáraton csak a sima email cím jön, tehát gondoltam így fog kinézni a mail függvényem:
mail(email_1@mail.com, $subject, $body, $headers);Ide meg gondolom így kéne, hogy helyes legyen, eredetileg is így volt, csak most be kéne építenem egy ilyen választó mezőt.
mail("email_1@mail.com", $subject, $body, $headers);A függvény egyébként true-val tér vissza, szépen kiadja a válaszüzenetet, hogy elküldte a levelet. Gyakorlatilat nem érkezik meg.
(Eredetileg nem a formba akartam illeszteni az emailcímeket, de ahogy kezdtem, nem működött:
$to = $_POST['to'];
if ($to = 1) {$emailto = 'email_1@mail.com';}
if ($to = 2) {$emailto = 'email_2@mail.com';}
....
mail($emailto, $subject, $body, $headers);) -
PazsitZ
addikt
válasz
TonTomika #7335 üzenetére
Nem tudom minek a "
Továbbá nem tudom ilyen felület ez, de közvetlenül input paraméterből berakni az emailt nem túl jó megoldás szvsz.
A mail fgv.-ed egyáltalán true-val tér vissza?<select id="to" name="to">
<option value="0" selected="default">Válassz!</option>
<option value="bolt1">Bolt1</option>
<option value="bolt2">Bolt2</option>
<option value="bolt3">Bolt3</option>
</select><?php
$list = array(
'bolt1' => 'email_1@mail.com',
'bolt2' => 'email_2@mail.com',
'bolt3' => 'email_3@mail.com',
);
$to = $_POST['to'];
if ( isset($list[$to]) ) {
echo $to;
}
?> -
TonTomika
aktív tag
Sziasztok!
Egy olyan problémám lenne, hogy van egy levélküldő űrlapom, amiben van egy legkördülő mező, ezzel tudod kiválasztani, hogy a felsoroltak közül kinek menjen a weboldalról elküldhető email.
<select id="to" name="to">
<option value="0" selected="default">Válassz!</option>
<option value=""email_1@mail.com"">Bolt1</option>
<option value=""email_2@mail.com"">Bolt2</option>
<option value=""email_3@mail.com"">Bolt3</option>
</select>Arra már rájöttem, hogy át kell vinni az idézőjeleket, ezért is írtam bele a "-ot.
Ha simán kiíratom, akkor megjön rendesen a végeredmény:
<?php
$to = stripslashes($_POST['to']);
echo $to;
?>
Output: "email_X@mail.com"Viszont ha ezután a $to változót a mail() függvénybe írom, nem érkezik meg az email.
Biztos vagyok benne, hogy valami nagyon apró dolgon csúsztam el, de egyszerűen nem jövök rá a megoldásra.
(
Első körben értékeket adtam meg az űrlapban és IF-el próbáltam meghatározni az aktuális email címet, de így sem sikerült.Lehet hogy az IF is az idézőjelek miatt nem működött? Annyira sajnos még nem vagyok nagy php zseni.)
Előre is köszönöm a segítséget!
-
-
Siriusb
veterán
válasz
fi:zi'k #7332 üzenetére
Egy-két dolog nem stimmel nekem:
1) Ha Te telepítetted fel, gondolom van admin jogosultságod. Lehet nem azzal lépsz be, ezért nincs hozzáférésed?
2) A template nem működik, vagy a default kinézettel sem megy webshop? Mert ha a template-tel van a baj, jobban jársz, ha inkább keresel másikat, mert azt kinyomozni, ott mi van elszúrva... Persze az is lehet, hogy adott verziójú webshoppal jelen template nem működik stb.Szó sincs róla, hogy feleslegesen okoskodna bármelyikünk, csak először mindig tisztázni kell az alapokat, mert tapasztalataim alapján legtöbb esetben - bármilyen területről is legyen szó - triviális a probléma. Pl. azért nincs kép, mert a monitor kábele ki van csúszva és hozzá hasonlók
Hányszor átéltem már ilyeneket...
-
fi:zi'k
nagyúr
válasz
Siriusb #7331 üzenetére
Ez már a második nekifutás. Már volt feltöltve. Nem változott semmi. És az admin panelon sem találtam meg, hogy lenne erre bármi utalás. Másrészt, ha nekem pl nem kellene, akkor egyszerűen csak törölnöm kellene, de ezt se tudom megtenni, mert nincs hozzáférésem.
Érdekes módon a most letiltott több menüelemnek van megfelelője, egyedül ennek nincs.A lényeg, hogy nem akarok én feleslegesen okoskodni, de jelenleg nem látok más megoldást.
-
fi:zi'k
nagyúr
Azért mondtam a 0-át mert tényleg elhanyagolható.
Sajnos nem lettem ezzel előrébb.Az alap problémám a következő. Webshopot akarok itt. Feltelepítettem, tettem fel új templatet. Ez a látható módon létrehozott két menüpontot "Home" és "Products" néven. De a "Products" is ugyanúgy a főoldalra mutat és ezt az adminfelületen nem tudom változtatni.
Ezután kezdtem el keresgetni, hogy hol lehet ezt kód szinten. Az oldal forrásból jutottam oda, hogy itt lehet a kutya elásva:
<div class="nav-container">
<ul id="nav">
<li><a href="http://hangbarlang.hu/">Home</a></li>
<li><a href="http://hangbarlang.hu/">Products</a>
</li>
</ul>
</div>
Ezután kerestem a "nav" és "nav-container" kifejezésekre, így eljutva az előbb bemásolt kódrészletig.
Nem tudom, hogy jó helyen járok-e vagy volt-e értelme.
Pusztán annyit szeretnék, hogy a "Products" ne a főoldalra mutasson, hanem az általam megadott helyre. De ennek nem találom a "forrását". -
cucka
addikt
válasz
fi:zi'k #7328 üzenetére
Van egy $_menu változód. A kód azt csinálja, hogy
- átalakítja a $_menu változót bool típusúra
- megnézi, hogy az így kapott érték True-e
- ha igen, kiírja azt a html szöveget, ami az if és az endif között van
- a html szövegen belül a php echo sornál a $_menu változót stringgé (vagyis szöveggé) alakítja, majd ezt a stringet kiírja. Ez természetesen csak akkor történik, ha egyáltalán belépett a program az if törzsébe.kb.
Nulla előképzettséggel amúgy nehéz lesz.
-
fi:zi'k
nagyúr
Sziasztok,
Remélem jó helyen járok a kérdésemmel. Előre bocsájtom nem vagyok programozó, tekintsuk 0-nak a tudásomat ilyen téren.
Az alábbi kód egy .phtml fájlból van kiszedve.
<?php if($_menu): ?>
<div class="nav-container">
<ul id="nav">
<?php echo $_menu ?>
</ul>
</div>
<?php endif ?>
Értelmezné nekem vki ezt? Utána szerintem jövök a további kérdéseimmel.
Köszönöm! -
Speeedfire
félisten
válasz
Tele von Zsinór #7326 üzenetére
+1 a relatív eléréshez. Max megadni a htaccess-ben a base-t.
-
Tele von Zsinór
őstag
Úgy tervezed, hogy csak a te gépeden fog működni az oldal? Bár ez a link akkor sem jó, hiányzik az elejéről a protokoll, jelen esetben a file://, és még egy harmadik /, hogy a gyökértől induljunk.
Ellenben ha úgy tervezed, hogy más gépen (pláne más szerverről) is működjön helyesen, akkor az aktuális helyhez relatív útvonallal jársz legjobban, alternatíva a szerver documentrootjától egy abszolút elérés.
-
Sziasztok!
Következő a bajom: összelegózom a linkhez egy képhez és nem jelenik meg. A gépen localhoston fut minden, wampot használok. Lényegében az elérési út "gyökerét" és a jelenlegi templatet két külön változóba tárolom majd appendelem, így kijött ez a link:
<img src="C:\wamp\www\cms\templates\system\pics\edit.png" alt="Szerkesztés" title="Szerkesztés" />
Ezzel most mi a gond? Valami protokollt hablatyol az FF, a Chrome semmit.
-
Speeedfire
félisten
válasz
Sk8erPeter #7321 üzenetére
Külső oldalról húzok be tartalmakat, konkrétan a port.hu-ról.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #7320 üzenetére
Sejtettem, hogy a PHP-s DOM-kezelő osztályokra gondolsz, csak az nem világos, hova, miért kell.
Mert mondjuk használható olyasmire is, hogy akár külső oldal legenerált HTML outputjából szedsz ki tartalmakat, ha nincs más megoldás, vagy akár saját adatbázisból kiszedett adatokat akarsz megjeleníteni, és ehhez segítségül hívod a DOM-ot megalkotó osztályokat, bár utóbbi használata szerintem nem feltétlenül indokolt, pl. teljesítménybeli szempontok miatt.
Úgy értem, lassabb vagy erőforrásigényesebb lehet így legenerálni egy egész oldalt, mintha "statikus" HTML-elemekbe dinamikusan szúrsz adatot PHP-vel. Persze igénytől függ, egyéb dolgokra is használható, pl. sanszos, hogy ilyen módon egy XML-doksit áttekinthetőbben tudsz generálni, bizonyos esetekben tehát lehet, hogy pont jobb is ezeket használni, ezért kérdezősködtem vissza, kíváncsiságból, nem kötekedésből.
(Na jó, az, hogy rácuppantam a "dom-olás" szóra, az az volt.
)
Amúgy meg már hogyne Doom-oztam volna!
-
Speeedfire
félisten
válasz
Sk8erPeter #7319 üzenetére
XML DOM
Te nem doom-oztál régebben?
Amúgy meg azérr kell, hogy ne kelljeb annyit gépelnem. -
Sk8erPeter
nagyúr
válasz
vakondka #7318 üzenetére
Ilyesmit lehet szűrni a glob() függvénnyel is.
Valahogy így:<?php
$dir_to_scan = 'test_dir';
$pattern = $dir_to_scan . '/';
$pattern .= '*.zip';
foreach ( glob( $pattern ) as $filename) {
$file_array[] = $filename; // a könyvtárnévvel összefűzve gyűjti ki a fájlneveket
}
var_dump($file_array);
?>Persze a Te kódod is tökéletes (simán elképzelhető, hogy akár még hatékonyabb is), ezt inkább csak érdekességképp említettem.
=========================
(#7317) Speeedfire :
Biztos igazad van, de még mindig nem tudom, mit jelent az az ige, hogy "dom-olni".
Meg jó lenne tudni, igazából mi a célod ezzel.(Miért van szükség "dom-olásra".
)
-
vakondka
őstag
Igen, erre én is gondoltam, így oldottam meg végül a lényegi részét:
function sw_list(){
$dir = opendir("../sw");
while (($file = readdir($dir)) !== false){
$ext = pathinfo($file, PATHINFO_EXTENSION);
if ($ext=='zip'){
$file_array[]=$file;
}
}
closedir($dir);
return $file_array;
}mert csak a zip kell belőle és ezt átveszi egy másik progi, ami kirakja a dropdown-t,
aminek ugye lehet selected értéke is ha nem új adatot visznek fel hanem szerkesztik az egyik meglévőt -
Speeedfire
félisten
válasz
Sk8erPeter #7315 üzenetére
Magyaros ez, csak kicsit kockás.
A lényeg a lényeg, a pre csak azért kellett, hogy lássam mi a konkrét információ.
Ez kellett nekem, de elég szopás úgy dom-olni, ha össze-vissza van a kód...
foreach ($links4 as $link) {
if (preg_match("/rendező:/", $link->nodeValue) and $i == 0) {
$n = $link->childNodes;
$j = 0;
foreach($n as $x) {
if (strlen($x->nodeValue) != 0) {
if ($j == 0) {
$akt = $x->textContent;
}
str_replace(' ',' ',$x->nodeValue);
echo $x->nodeValue;
if( $j != 0 && preg_match("/(\:)|(\() | (\))/",$akt)) {
echo '<br/>';
}
$akt = $x->textContent;
$j++;
}
}
$i = 1;
}
} -
Sk8erPeter
nagyúr
válasz
Speeedfire #7313 üzenetére
"Dom-olni akarok egy oldalt a span-ek alapján."
He?
Szép magyaros mondat, de nekem nem biztos, hogy jól sikerült értelmezni.Szóval kikeresed egy HTML outputból a <span> tageket, és ezeket az elemeket szeretnéd megkeresni, megjeleníteni, manipulálni...?
Ha <pre> tagekkel íratod ki, akkor ott minden új <pre> tagnél eleve új sortöréssel kezd, szóval ott nem meglepő, ha új sorba pakol.
(#7292) mobal : "ajaxplorer tudtommal nem is használ php -t."
Elég érdekes lenne, ha egy PHP-alapú alkalmazás nem használna PHP-t... -
Speeedfire
félisten
Dom-olni akarok egy oldalt a span-ek alapján. Működik is, viszont a gyermekeknél új sorba írja ki. Nem lehet megoldani valahogy, hogy ne rakja új sorba?
A lényegi része az egésznek:
foreach($n as $x) {
if (strlen($x->nodeValue) != 0) {
//str_replace('\n ',' ',$x->nodeValue);
echo '<pre>'.$x->nodeValue.'</pre>';
}
} -
Nincs mit :-)
-
vakondka
őstag
válasz
ArchElf #7308 üzenetére
Akkor rosszul magyaráztam.
Én nem akarok tallózni a felhasználó gépén, csak a saját szerveremen, ahol a szkript van.
Kerestem is arra, hogy "ajax file browser" ami végülis már majdnem az ami nekem kell, mert lehet tallózni vele a szerveren, stb.
Viszont nekem az kell, hogy tallózás után a fájl neve bekerüljön egy input mezőbe.
Mivel fel vannak töltve a fájlok ftp-vel, tehát a fájl feltöltés itt értelmét veszti.
Csak a fájl neve kell, még a könyvtár neve sem. -
vakondka
őstag
Sziasztok,
Már szétgugliztam az agyamat, de egyszerűen nem találom amit keresek...kérhetnék egy kis segítséget?
Egy olyan szkript kellene, amivel tudok tallózni a szerver egy könyvtárában (ahol a szkript önmaga is van) és az ott kiválasztott fájlt beteszi egy text inputba.
Ismer valaki ilyet?
Csak nagyon komplex fájl kezelőket találtam, de az most nekem nem kell egyáltalán, ráadásul nem tudtam a fájlnevet kiválasztani és áttenni a text inputba...Előre is köszi!
-
PazsitZ
addikt
Igenis van értelme, ha fontos jelentősen elszeparálnod a html-php részt.
Természetesen egyáltalán nem szükséges ilyen megoldáshoz egy komplett smarty keretrendszer, ha úgysem használod ki eléggé.
tehát az alap iránynak van értelme, bár szvsz. inkább többszereplős projektekben, lehet vele jól elválasztani a php app logikát és a megjelenítés logikáját.(#7301) mobal: Régebben smarty-t használtam, manapság már nem, a többivel kapcsolatosan pedig nincs tapasztalatom.
-
Bár nem engem kérdeztél, de én a Smarty-ra szavaznék, véleményem szerint jól összerakott template engine, jómagam is használom, ha a feladat megkívánja. :-)
Új hozzászólás Aktív témák
Hirdetés
- Google Pixel topik
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Windows Insider Program
- E-roller topik
- Külföldi rendelések: boltok, fizetés, postázás
- Kuponkunyeráló
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- Vezetékes FEJhallgatók
- EA Sports WRC '23
- Xiaomi 15 - kicsi telefon nagy energiával
- További aktív témák...
- KIÁRUSÍTÁS - REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
- Eladó ÚJ BONTATLAN Honor Magic6 Lite 8/256GB fekete / 12 hónap jótállással!
- Lenovo Thunderbolt 3 kábel (4X90U90617)
- Samsung Galaxy S25 Ultra 1TB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy S23PLUS 256GB Kártyafüggetlen 1Év Garanciával
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest