Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
I have this array again:
$predmeti = [
'slo' => [
'ime' => 'Slovenščina',
'ucitelj' => 'Ana Berčon',
'nadimek' => '',
'ucilnica' => '11'
],
'mat' => [
'ime' => 'Matematika',
'ucitelj' => 'Nevenka Kunšič',
'nadimek' => '',
'ucilnica' => '12'
],
'ang' => [
'ime' => 'Angleščina',
'ucitelj' => 'Alenka Rozman',
'nadimek' => 'Rozi',
'ucilnica' => '3'
],
'mob' => [
'ime' => 'Medijsko oblikovanje',
'ucitelj' => 'Iztok Mulej',
'nadimek' => 'HTML ninja',
'ucilnica' => 'MM2'
]
];
I want to get values of every key depend on url I am accesing. For example I have url /predmet?ime=slo, then I want to get data only for key 'slo'.
How do I achieve that?
if(isset($_GET['ime']) && isset($predmeti[$_GET['ime']])){
$data = $predmeti[$_GET['ime']];
}
Use the parameter in the URL
<?php
$param = $_GET['ime'];
print_r($predmeti[$param]);
?>
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed last month.
Improve this question
I need to read this function and create an xml with the title, description and etc fields.
then the table.
public function defineCustomTemplate()
{
$this->setNmfile(302444);
$this->setNmoperation("CPTEVALITHAB");
$this->setNmimport(302433);
$customTemplate = array();
$customTemplate[] = array('column' => 'nmfield01', 'term' => 103571, 'dataType' => 2, 'precision' => 50, 'description' => 213795, 'required' => 1);
$customTemplate[] = array('column' => 'nmfield02', 'term' => 102213, 'dataType' => 2, 'precision' => 50, 'description' => 302440, 'required' => 1);
$customTemplate[] = array('column' => 'nmfield03', 'term' => 302442, 'dataType' => 2, 'precision' => 50, 'description' => 302442, 'required' => 1);
$customTemplate[] = array('column' => 'nmfield04', 'term' => 302443, 'dataType' => 2, 'precision' => 50, 'description' => 302443, 'required' => 1);
return $customTemplate;
}
this function appears in several classes of the project and I would like to capture everywhere it is displayed and create the xml.
can someone help me?
You can use the SimpleXMLElement class in PHP to create an XML document with the data from the defineCustomTemplate() function.
approximate solution without fields hardcoding
$sxml = new \SimpleXMLElement(('<?xml version="1.0" encoding="utf-8"?><file></file>'));
$sxml->addAttribute('filename', $Nmfile);
$operation = $sxml->addChild('operations');
$operation->addAttribute('opname', $Nmoperation);
foreach ($customTemplate as $key => $item) {
$serverKeys = array_keys($item);
$import = $operation->addChild('import');
$import->addAttribute('import_id', $Nmimport);
foreach ($serverKeys as $i => $name) {
$ops = $import->addChild($name);
$ops->addAttribute($name,$item[$name]);
}
}
var_dump($sxml->asXML());
output template:
<?xml version="1.0" encoding="utf-8"?>
<file filename="302444">
<operations opname="CPTEVALITHAB">
<import import_id="0">
<column column="nmfield02"/>
...
</import>
</operations>
</file>
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I need help with PHP and the Stripe API.
$stripe->accountLinks->create([
'account' => 'acct_1HtKYcRm0s9vfiNs',
'refresh_url' => 'https://example.com/reauth',
'return_url' => 'https://example.com/return',
'type' => 'account_onboarding',
]);
That gives me back an answer like this:
{
"object": "account_link",
"created": 1606772720,
"expires_at": 1606773020,
"url": "https://connect.stripe.com/setup/s/QaVzgu7GNGFP"
}
I need help to know how to display the "url" in a variable in PHP.
I've tried to do this but it doesn't work:
$link = $stripe->accountLinks->create([
'account' => 'acct_1HtKYcRm0s9vfiNs',
'refresh_url' => 'https://example.com/reauth',
'return_url' => 'https://example.com/return',
'type' => 'account_onboarding',
]);
$data = json_decode($link);
$links = $data->url;
If someone knows what I can do it would help me a lot. Thanks :)
EDIT:
The var_dump returns this:
object(Stripe\AccountLink)#127 (4) { ["object"]=> string(12) "account_link" ["created"]=> int(1606856512) ["expires_at"]=> int(1606856812) ["url"]=> string(47) "https://connect.stripe.com/setup/c/vD45DxCl0hZQ" }
But I just need url string
You do not need to json_decode the resulting account link object. All you need to do is access the URL property on the object returned by Stripe. For example:
$link = $stripe->accountLinks->create([
'account' => 'acct_1HtKYcRm0s9vfiNs',
'refresh_url' => 'https://example.com/reauth',
'return_url' => 'https://example.com/return',
'type' => 'account_onboarding',
]);
$url = $link->url;
echo $url;
You can use the $url variable in a template or to perform any other server-side logic. The structure of the returned account link object can be referenced here:
https://stripe.com/docs/api/account_links/object
I've made it work by doing this:
$link = $stripe->accountLinks->create(
[
'account' => 'acct_1HtKYcRm0s9vfiNs',
'refresh_url' => 'https://example.com/reauth',
'return_url' => 'https://example.com/return',
'type' => 'account_onboarding',
]
);
$var_url = var_export($link->url, true);
$good_url = str_replace("'", "", $var_url);
Now when I echo "good_url" I get the full url successfully.
Thank you all very much, really, you have helped me a lot.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I need to store the Laravel log into my database . Can you please help me?
Go to App/Exceptions/Handler.php and then write below code in report() function and define your model as an ErrorLog
$data = [
'id' => $this->createUniversalUniqueIdentifier(),
'file' => $exception->getFile(),
'line' => $exception->getLine(),
'message' => $exception->getMessage(),
'trace' => $exception->getTraceAsString(),
];
$dataArr =['id' => $data['id'],
'file' => $data['file'],
'error_summary' => 'Line '.$data['line'].' '.$data['message'],
'log_trace' => $data['trace']
];
ErrorLog::create($dataArr);
Your Model file should be like that
ErrorLog.php
protected $table = 'logs';
protected $fillable =
['id',
'file',
'error_summary',
'log_trace'
];
Laravel supports Monolog for handling logs. Monolog supports many different handlers, including database handlers like the MongoDB handler.
You can use the MongoDB handler by adding a new channel to the channels array in your config/logging.php file, e.g.:
'channels' => [
'mongolog' => [
'driver' => 'monolog',
'handler' => Monolog\Handler\MongoDBHandler::class,
'with' => [
'database' => 'mongo-database-name',
'collection' => 'log-collection-name',
],
],
Then you can set your default log channel to mongolog in your .env file, e.g. LOG_CHANNEL=mongolog.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 4 years ago.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Improve this question
So i have a class i have used couple of times for other non YII projects but now i want to use the same class in a YII2 project. I have done some searches but i kind of got stuck along the way. Below is what i have done so far:
I created a folder called "utility" in the vendor directory, the utility folder contains my class named "AT_Response.class.php". So my question is how do i include or call and use this class in my model or controller.
I have checked some links like :
https://www.yiiframework.com/doc/guide/2.0/en/tutorial-yii-integration
https://forum.yiiframework.com/t/not-understanding-how-to-use-external-php-library/79679
Class Code:
<?php
class AT_Response {
static private $response = array
(
'9999' => array('description' => "Unexpected Response", 'definite' => true, 'status' => "Indeterminate"),
'00' => array('description' => "Success", 'definite' => true, 'status' => "Success"),
'NNC_AUTH_01' => array('description' => /*"Status unknown, please wait for settlement report"*/"System Error", 'definite' => true, 'status' => "Failure"),
'NNC_VTU_01' => array('description' => "Ttimed out", 'definite' => false, 'status' => "Indeterminate"),
'NNC_VTU_02' => array('description' => "Exceeded max number of requests for Phone number per time period", 'definite' => true, 'status' => "Failure"),
'NNC_VTU_03' => array('description' => "Invalid target MSISDN supplied", 'definite' => true, 'status' => "Failure"),
'-1' => array('description' => "Not successful", 'definite' => false, 'status' => "Failure"),
);
static function getResponseByCode($respCode) {
if (isset(self::$response[$respCode]))
return self::$response[$respCode];
//else
return self::$response['9999'];
}
}
Thanks
With a few changes you can use any custom class as a helper component. You need to use namespace and use statement for the existing class you have, see the below
<?php
namespace app\components;
class Response
{
/**
* #var array
*/
private static $response = array
(
'9999' => array('description' => "Unexpected Response", 'definite' => true, 'status' => "Indeterminate"),
'00' => array('description' => "Success", 'definite' => true, 'status' => "Success"),
'NNC_AUTH_01' => array('description' => /*"Status unknown, please wait for settlement report"*/"System Error", 'definite' => true, 'status' => "Failure"),
'NNC_VTU_01' => array('description' => "Ttimed out", 'definite' => false, 'status' => "Indeterminate"),
'NNC_VTU_02' => array('description' => "Exceeded max number of requests for Phone number per time period", 'definite' => true, 'status' => "Failure"),
'NNC_VTU_03' => array('description' => "Invalid target MSISDN supplied", 'definite' => true, 'status' => "Failure"),
'-1' => array('description' => "Not successful", 'definite' => false, 'status' => "Failure")
);
/**
* #param $respCode
*/
public static function getResponseByCode($respCode)
{
if (isset(self::$response[$respCode])) {
return self::$response[$respCode];
}
return self::$response['9999'];
}
}
Save the Above class in a file called Response.php in app\components folder if using basic-app or common\components if you are using advanced-app but dont forget to change the namespace in the code.
You can then call the function getResponseByCode() like app\components\Response::getResponseByCode($responseCode) or common\components\Response::getResponseByCode($responseCode)
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
Where do I put the enye in my regex validation? Do i just put it beside regex for letters?
I want to accept enyes in fname,lname, and mname.
return [
'fname' => 'required|max:255|regex:/^[a-zA-Z\s]+$/',
'lname' => 'required|max:255|regex:/^[a-zA-Z\s]+$/',
'mname' => 'max:255|alpha',
'file' => 'image|mimes:jpg,jpeg,png',
'contact_no' => 'regex:/^[-0-9\+]+$/',
'date_of_birth' => 'required|date_format:Y-m-d',
'school_id' => 'required|exists:schools,id',
'degree_id' => 'required|exists:degrees,id',
];
Thanks for the answer guys but I got it working. I just used
return [
'fname' => 'required|max:255|regex:/^[a-zA-ZÑñ\s]+$/',
'lname' => 'required|max:255|regex:/^[a-zA-ZÑñ\s]+$/',
'mname' => 'max:255|alpha',
'file' => 'image|mimes:jpg,jpeg,png',
'contact_no' => 'regex:/^[-0-9\+]+$/',
'date_of_birth' => 'required|date_format:Y-m-d',
'school_id' => 'required|exists:schools,id',
'degree_id' => 'required|exists:degrees,id',
];
The bytes it needs to match for enye depends on the character encoding of your string (hopefully it is utf8). So you'll need a multibyte encoding-aware regex function. Fortunately, PHP has 'em ...
$pattern = '/^[ñÑa-zA-Z\s]+$/';
mb_regex_encoding('UTF-8');
mb_ereg($pattern, $testString, $matches);
where $pattern has your regex with enye's typed in with UTF8 encoding.