Html-, css- és php-help
Jelentkezz be a hozzászóláshoz.
húztam halasztottam, mert nem éreztem magamhoz közelinek ezeket, de muszáj volt belemenni, szerintem kb onnantól, hogy az angular 2-ről bármilyen infónk van
SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/
Amennyiben ez egyfajta hobby projekt szamodra akkor javaslom, hogy ismerkedj meg az ES6 szabvannyal vagy meg jobb ha a TypeScript-tel, mert az a kozeli jovo (vagy a jelen inkabb).
//Init nodemailer
var nodemailer = require('nodemailer');
//Create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport('smtps://email%40gmail.com:[email protected]');
//Setup default email data(for now, just the from address)
var mailDefaultOptions = {
from: '"Node Mailer" <[email protected]>'
};
//Function to send emails, so we don't need to init nodemailer each time
function sendEmail(to,subject,text){
var mailOptions = {
from: mailDefaultOptions.from,
to: to,
subject: subject,
text: text
};
// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: ' + info.response);
});
}
//Add the function to exports
exports.sendEmail = sendEmail;
Majd amikor valamelyik route-ban küldeni akarok egy emailt, akkor:
var mailer = require('../app/utils/mailer');
………….
mailer.sendEmail('[email protected]','teszt tárgy','teszt szöveg');
Ez így működik tök jól, csak érdekelne, hogy ez egy jó megoldás e ilyen és hasonló problémákra.
Utoljára szerkesztette: passatgt, 2016.04.12. 06:38:01
SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/
Próbálom a projektet kicsit struktúrálni, jelenleg így néz ki:
server.js
var express = require('express');
var app = express();
var mongoose = require('mongoose');
var passport = require('passport');
var config = require('./config/database'); // get db config file
var User = require('./app/models/user'); // get the mongoose model
var helpers = require('./utils/helpers');
//...
var apiRoutes = express.Router();
var users = require('./routes/users');
apiRoutes.get('/memberinfo', passport.authenticate('jwt', {session: false}), users.memberinfo);
app.use('/api', apiRoutes);
//...
routes/users.js
module.exports.memberinfo = function(req,res,next){
return res.json({success: true, message: helpers.getName()});
};
Indításkor nem dob hibát, viszont ha meghívom get-el a /api/memberinfo-t, ez a válasz:
ReferenceError: helpers is not defined
Amit a server.js elején definiálok, annak nem kéne globálisan is elérhetőnek lennie?
Utoljára szerkesztette: passatgt, 2016.04.11. 11:24:38
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
Lehetséges, hogy amit használok dataProvidernek json fájlban, az "expect" rész egy részét ne vegye figyelembe?
Gondolok itt olyanra, hogy, hogy a mai dátum szerepel a visszakapott stringben, akkor egy bizonyos nap, ha a dataproviderben is az van megadva akkor jó. De ha következő nap futtatjuk, akkor ugye már a tegnap beírt dátumhoz hasonlítja ami nem jó.
Még ha ez a dinamikus tartalom egyszer szerepelne azt mondom okés, de mi van ha mondjuk hatszor?
PL:
"ma 04.04 van."
ha ezt ma futtatom akkor fasza, nem kapok errort, de ha mondjuk holnap, akkor azt kapom, hogy:
"ma 04.05 van." (a dataProviderben meg ugye "ma 04.04 van." )
egye fene, megoldom setUpBeforeClass -al.
Utoljára szerkesztette: Jim Morrison, 2016.04.04. 22:02:07
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
Addig is maradta a fapados megoldás, dataproviderben megadtam, hogy hibás legyen e vagy ne, és ha annak kell lennie, akkor simán csak a ->hiba() t hivom meg, nem a feldolgoz-t... ^^
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
Egy sima osztályt kellene tesztelni, egy SESSION kulcsot nulláz lényegében le. Ha sikereres akkor ez, ha sikertelen akkor meg amaz történik. PHPUnitban hogy tudnám megoldani, hogy elhasaljon az osztályon belüli session kulcs nullázása ?
Kb ilyen az osztály amit tesztelni kell:
class Osztaly
{
public function feldolgoz()
{
..
if ($masik->SessionNullaz())
{
return $this->siker();
}
else
{
return $this->hiba();
}
}
public function siker()
{
return "siker";
}
public function hiba()
{
return "hiba";
}
}
Szóval jó lenne elérni, hogy a bizonyos Sessiun kulcs kinullázása sikertelen legyen, és "hiba"-t adjon vissza
Utoljára szerkesztette: Jim Morrison, 2016.03.29. 17:31:25
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás
SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás
ha nem OAuth2-t használsz, használj azt, és kb meg is van oldva a problémád
SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás
Miutan az API-d azonositotta a felhasznalot azutan hasznalhatsz egy tokent. Manapsag eleg elterjed a JWT (json web token). Az kliens app minden egyes keresnel ujra kuldi a tokent (a token valtozhat munkamenetek es akar keresek kozott is).
Első ötletem az volt, hogy "Beleégetek" az applikációban egy API kulcsot amit ellenőrzök a szerveren és mivel https-en kommunikálok, ez nem fog látszódni. Ez iOS-en még jó is lenne, de egy APK simán visszafejthető és megvan az API kulcs.
Más ötlet esetleg, hogy biztonságosabb legyen? Ráadásként a későbbiekben egy-egy felhasználónak szeretnék jogot adni arra, hogy a saját rendszerében is felhasználhassa az API-t, tehát valami ilyen megoldást keresek, ami részben kinyitható a külvölág felé is.
[merlinw.org]
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás
én amúgy webideánál vagyok, ők gecijóak
SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/
SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/
SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/
$newsdata = $mysqli->query("SELECT `id`, `title`, `date` FROM `news` ORDER BY `date` DESC"😉;
Cat 02: köszi, de ezzel a kiírás hogy történik? Pont az a lényeg, amivel bajban vagyok 😄
Nyilván a selectbe is bele kell írni, de hogy a tömbösdibe hova rakom és hol olvasom ki, az a rész nekem kínai
Utoljára szerkesztette: kekeN7, 2016.03.20. 22:25:44
$nav<$year>$year><$month>$month>[$news<'id'>'id'>] = $news<'title'>'title'>;
helyett
$nav<$year>$year><$month>$month>[$news<'id'>'id'>]<'title'>'title'> = $news<'title'>'title'>;
$nav<$year>$year><$month>$month>[$news<'id'>'id'>]<'link'>'link'> = $news<'titlelink'>'titlelink'>;
És átírni a kód többi részét is ennek megfelelően.
szerk.: így talán szebb
$nav<$year>$year><$month>$month>[$news<'id'>'id'>] = array("title"=>$news<'title'>'title'> , "link"=>$news<'titlelink'>'titlelink'> );
Utoljára szerkesztette: SzirmosSzisza, 2016.03.20. 22:15:52
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás
SG troll, ban, büntetőpont, hsz törlés FAQ: http://kocsog.eu/ban/
$newsdata = $mysqli->query($sql = "SELECT `id`, `title`, `date` FROM `news` ORDER BY `date` DESC"😉;
foreach ( $newsdata as $news ) {
$year = date('Y', $news<'date'>'date'>);
$month = date('F', $news<'date'>'date'>);
$nav<$year>$year><$month>$month>[$news<'id'>'id'>] = $news<'title'>'title'>;
}
<ul class="archive_year pad-top">
<?php foreach ( $nav as $k => $v ) { ?>
<li class="years"><?php echo $k ?>
<ul class="archive_month">
<?php
foreach ( $v as $k2 => $v2 ) {
?>
<li class="months"><i class="icon-caret-right"></i> <?php echo $k2.' ('.sizeof($v2).')' ?>
<ul class="archive_posts">
<?php
foreach ( $v2 as $k3 => $v3 ) {
?>
<li class="posts"><i class="icon-angle-right"></i><a href="#"><?php echo $v3 ?></a></li>
<?php
}
?>
</ul>
</li>
<?php
}
?>
</ul>
</li>
<?php
}
?>
</ul>
Ez így tökéletesen működik. Viszont nekem még egy dolog kéne bele, a link helyére, egy szintén az adatbázisból kiolvasott "titlelink" érték. A foreach-es történetet sajnos még mindig nem látom át (egyébként is csak barkácsolok), valaki bele tudná nekem kalapálni? Sokat segítene vele. Köszi előre is! 😊
Utoljára szerkesztette: kekeN7, 2016.03.20. 21:45:57
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” _____/|_____\o/___ Cápatámadás
foreach ($r as $key => $value)
{
$$key = stripslashes($value);
}
és akkor nekem ez létrehoz olyan változókat, hogy $kutya , $macska , $teknos.
Viszont mivel nem úgy hoztam létre őket, hogy $kutya = "Magdi", ezért az IDE pirossal aláhúzza, mert undefined. Ezt részben ki lehet kerülni így:
foreach ($r as $key => $value)
{
/** @var $kutya $description */
/** @var $macska $description */
$$key = stripslashes($value);
}
kérdés: van e valami más, jobb mód?
Utoljára szerkesztette: Jim Morrison, 2016.03.04. 22:00:06
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
