Quantcast
Channel: Grafikart | Derniers Sujets du forum
Viewing all 13822 articles
Browse latest View live

Connexion au site

$
0
0

Salutations,

Petit constat que j'ai fait il y a un moment :

Lorsque je me connecte sur grafikart.fr (en général en utilisant l'authentification via Github), je me rends compte que je suis déconnecté après la fermeture du navigateur notamment.

A moins que ce soit une erreur de configuration de ma part (ou peut-être est-ce un choix de développement), je pense que ça pourrait être pertinent de garder la session active en cas de fermeture/réouverture du navigateur par exemple.

Merci d'avance pour vos retours,

Amicalement,
Radheoner.


Problème ssh2_exec(zip -r)

$
0
0

Bonjour,

Comme indiqué, j'ai donc un problème avec l'option "-r" de la fonction zip lors de l'utilisation de ssh2_exec.
J'ai un dossier contenant des fichiers et des sous-dossiers (qui peuvent également contenir eux-même des sous-dossiers).
Je souhaite donc compresser ce dossier avec zip.

ssh2_exec($session, 'zip -r '.$folder_backup.$zip_name.' '.$folder);

Lorsque j'exécute le code ci-dessus avec l'option "-r" je me retrouve avec ce qui semble être un fichier intermédiaire de compression du type: zi7jMHbQ.

Merci d'avance.

Regrouper plusieurs requetes SQL

$
0
0

Bonjour,

Je suis en cours de création de mon site, j'ai une table avec plsusieurs champs faisant appel a d'autres table. Jusque la aucuns soucis, je récupère les données correspondantes suivant ce code :

<?php  
// je fais appel au fichier de connection à la base de données  
require_once('includes/config.php');

// je prépare mes requete d'association
  $req001 = $bdd->prepare("SELECT * FROM ma_table1 INNER JOIN ma_table2 ON ma_table1.id = ma_table2.id"); 
  $req002 = $bdd->prepare("SELECT * FROM ma_table1 INNER JOIN ma_table3 ON ma_table1.id = ma_table3.id"); 
  $req003 = $bdd->prepare("SELECT * FROM ma_table1 INNER JOIN ma_table4 ON ma_table1.id = ma_table4.id"); 
  $req004 = $bdd->prepare("SELECT * FROM ma_table1 INNER JOIN ma_table5 ON ma_table1.id = ma_table5.id"); 
// j'execute chaques requetes  
  $req002->execute();
  $req003->execute();
  $req004->execute();
  $req001->execute();
//je récupère les informations correspondantes
  while ($donnees1 = $req001->fetch())
  while ($donnees2 = $req002->fetch())
  while ($donnees3 = $req003->fetch())
  while ($donnees4 = $req004->fetch())
    {
// j'affiche les information voulues
 echo $donnees1['nom']; echo $donnees2['nom']; echo $donnees3['nom']; echo $donnees4['nom']; 
}
// je ferme le traitement de mes requètes
$req001->closeCursor(); 
$req002->closeCursor();
$req003->closeCursor();
$req004->closeCursor();

?>              

Maintenant que cela fonctionne très bien, je souhaiterais savoir si y a moyen de réduire toutes ces requètes, car imaginons que j'en est 50, sa va faire des lignes, et des lignes de code :(

Merci d'avance de votre aide

savoir si un div a été doublecliqué dans un contenteditable

$
0
0

Bonjour a tous
je cherche a connaitre la propriété a observer ou fonction qui me dirais si un div enfant d'un div contenteditable a été double cliqué
a sovoir quand les bordures sont achurées (internet explorer)
merci d'avance pour les retours

Tuto Gestion des options problème

$
0
0

Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

php bin/console make:crud Option

created: src/Controller/OptionController.php
created: src/Form/OptionType.php
created: templates/option/_delete_form.html.twig
created: templates/option/_form.html.twig
created: templates/option/edit.html.twig
created: templates/option/index.html.twig
created: templates/option/new.html.twig
created: templates/option/show.html.twig

Success!

Next: Check your new CRUD by going to /option/

L'accès à '' /option/ '' a bien reussi correctement parce que j'ai modifié le fichier vendor\doctrine\orm\lib\Doctrine\ORM\Persisters\Entity\BasicEntityPersister.php
//$from = ' FROM ' . $tableName . ' '. $tableAlias;
à
$from = ' FROM ' . $tableName . ' '. $tableAlias;

Ce que je veux

Créer nouveau option par exemple '' Balcon " en accèdant: http://localhost:8000/option/new

Ce que j'obtiens

An exception occurred while executing 'INSERT INTO option (name) VALUES (?)' with params ["Balcon"]:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option (name) VALUES ('Balcon')' at line 1

make:entity make:form aborted

$
0
0

Bonjour,
Fan de symfony et suite à la réinstallation de window10 dès que je fais dans la console make:entity où make:form
j'ai une réponse Aborted
Pouvez vous m'aider

Voila je rencontre un petit problème avec mon code.

Ce que je fais

PS C:\wamp64\www\project> php bin/console make:entity

Class name of the entity to create or update (e.g. OrangePuppy):

Aborted.

make:entity [-a|--api-resource] [--regenerate] [--overwrite] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] []

Décrivez ici votre code ou ce que vous cherchez à faire

Entourez votre code pour bien le mettre en forme

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

Problème de mise en place base de donnée sqlite

$
0
0

Bonjour,

en faite j'ai un problème avec symfony 4.4 pour remplacer la base de donnée mysql par sqlite , et donc en faite j'ai déja fait des recherches sur le sujet et donc j'ai déja fait certaine choses comme :

mais , je tombe à chaque fois sur ces lignes d'érreur écrites en rouge

travailler en équipe

$
0
0

Bonjour,

Voila je rencontre un petit problème.

je commence tous juste a coder en html / css / js et avec un ami on veut faire un site mais le probleme c'est qu'on a pas trouver de logiciel pour pouvoir travailler a 2 (chaqu'un de chez lui )sur le meme code ( je m'explique a chaque fois que je fait un changement sur le code je suis obliger de lui envoyer par mail et lui il le change sur son fichier et inversement)

merci :)


quelle est la meilleure alternative wordpress?

$
0
0

quelle est la meilleure alternative wordpress?

Utiliser PHP-DI dans une class

$
0
0

Bonjour,

J'ai suivi le tutoriel sur PHP-DI à partir de ce site, mais, question bête:

Sur ma page "index" j'initialise donc PHP-DI et j'ai une variable "$container" que j'utilise à un moment pour utiliser une méthode dans une class "A".
A partir de cette class "A", je souhaite lancer une autre méthode appartenant à une class "B", mais là, mis à part faire un "$b = new B();" je ne vois pas comment faire car ma variable $container n'est pas accessible.

J'ai rajouté dans le constructeur de ma class "DI\Container $container", puis un "$this->container = $container;"

public function __construct(PDO $db, Container $container) {
        $this->db = $db;
        $this->container = $container;
}

Je ne reçois pas d'erreur en retour, mais je pense qu'il me crée le container avec les options par défaut, sans prendre en compte le fichier de config que j'ai pour lui.
Pour que le tout fonctionne, faut-il que je crée une méthode nommée par exemple "getContainer", qui crée mon conteneur avec la configuration, puis que dans mon fichier de configuration PHP-DI je rajoute quelque chose comme ça?

\Container::class => DI\factory([\Core\Core::class, 'getContainer']),

Merci!

FormType utilisateur par classe et école

$
0
0

Bonjour,

Je rencontre un soucis, j'ai besoins de créer un formulaire de présence pour des élèves, pour cela j'ai besoins d'afficher les élèves d'une classe et d'une école mais je n'arrive pas à faire cela.

Voici mon formType :

<?php

namespace App\Form;

use App\Entity\Timesheet;
use App\Entity\Student;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;

class TimesheetType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('Students', EntityType::class, [
                'class' => Student::class,
                'choice_label' => function (Student $student) {
                    return $student->getName() . ' ' . $student->getLastname();
                },
                'expanded'     => true,
                'multiple'     => true,
                'label' => 'Eleve',
                'attr' => ['class' => 'form-control']
            ])
            ->add('presence', CheckboxType::class, [
                'label' => 'Présent',
                'required' => false,
                'attr' => ['class' => 'form-control'],
                'value' => 0,
            ])
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
        ]);
    }
}

Merci à tous

requête d'insertion dans la base de données

$
0
0

Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

je cherche a inserer des données dans la bd

<?php 

session_start();
                try {


                        $db = new PDO('mysql:host=localhost;dbname=blog','root','');
                        $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); # les noms des champs seront en caractères miniscules 
                        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); # les erreurs lanceront des exceptions

                        echo "connecté";
                    } catch (Exception $e) {
                        echo "Erreur: ".$e->getMessage();
                        #die();

                    }
 ?>
     <h1>bienvenue <?php echo $_SESSION['username']; ?></h1> <br>
 <?php

if (isset($_SESSION['username'])) {
    # code...
    if (isset($_GET['action'])) {
        # code...
        if ($_GET['action']=='add') {
            # code...

            if (isset($_POST['submit'])) {
                # code...

                $titre=$_POST['titre'];
                $description=$_POST['description'];
                $prix=$_POST['prix'];

                if ($titre&&$description&&$prix) {
                    # code...



                    $insert = $db -> prepare ("INSERT INTO article VALUES ('','$titre','$description','$prix')");
                    $insert->exec();

                }else{
                    echo "veuillez remplir tous les champs";
                }
            }


            ?>

            <form action="" method="POST">
                <h3>Titre: </h3><input type="text" name="titre"><br>
                <h3>Description: </h3><input type="text" name="description"><br>
                <h3>Prix: </h3><input type="number" name="prix"><br><br>
                <input type="submit" name="submit">

            </form>

            <?php
        }elseif ($_GET['action']=='modifier') {
            # code...

        }elseif ($_GET['action']=='supprimer') {
            # code...

        }else{

            die('une erreur s\'est produite');
        }
    }

}else{

    header('location: index.php');
}


 ?>
    <link rel="stylesheet" type="text/css" href="../style/bootstrap.css"/>


 <a href="?action=add">Ajouter un article</a>
 <a href="?action=modifier">Modifier un article</a>
 <a href="?action=supprimer">Supprimer un article</a>

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

ET voilà ce que j obtiens
Notice: Undefined variable: db in C:\wamp64\www\site_final\admin\admin.php on line 40
( ! ) Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\wamp64\www\site_final\admin\admin.php on line 40
( ! ) Error: Call to a member function prepare() on null in C:\wamp64\www\site_final\admin\admin.php on line 40

aidez moi svp

le tuto de Paypal Express Checkout ne fonctionne pas

$
0
0

Bonjour,

j'ai installé les sources du tuto de Paypal Express Checkout mais ça ne fonctionne pas contrairement à ce que l'on voit sur la vidéo.
j'ai toujours l'erreur
logger.js:63 ppxo_unhandled_error {stack: "Error: Request to post payment.php failed with 500…s://www.paypalobjects.com/api/checkout.js:8156:3)", errtype: "[object Error]", timestamp: 1577108816778, windowID: "789b9a5099", pageID: "8c70a7bd55", …}
quoi que je fasse

quelqu'un peut-il m'aider svp????

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

Entourez votre code pour bien le mettre en forme

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

Form checkbox

$
0
0

Bonjour,

Je souhaiterais ajouter une checkbox (boolean) pour chaque utilisateur affiché dans mon formulaire, mais j'avoue je ne sais pas du tout comment m'y prendre. Quelqu'un serait m'expliquer cela ?

Merci à tous.

TutuApp


Cache symfony trop lent

$
0
0

Bonjour les amis

Depuis 2 jours mon cache symfony met beaucoup trop de temps à se vider.

Parfois de 10 minute.

De plus à la dès que je fais quelques changements au niveau de la vue, et je rafraîchie la page, le temps de rafraîchissement met plus 2 minutes, ce qui m'oblige pas la suite à faire encore un

php bin/console c:c

Quelqu'un connaîtrait la raison de ce ralentissement et comment je peux y remédier ?

Pour info je suis sous symfony 4.3.9

s'authentifier à API avec cURL avec un cookie

$
0
0

Bonjour,
Je suis toute nouvelle là dessus et je galère un peu même si cela doit certainement être basique....
J'ai accès à une API, pour s'authentifier j'utilise un username et un password et c'est censé renvoyer un cookie qui permet l'authentifiaction et ainsi l'accès à l'API (ce n'est pas moi qui ai fait l'API)
Voici comment j'ai essayé de coder pour l'authentification avec des choses trouvées sur internet:

public function test(){

        $cookie_file_path = "cookie.txt";
        $ch = curl_init('http://monURL/login?username=usernam&password=password');
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
        curl_setopt($ch, CURLOPT_URL, 'http://monURL/login?username=admin&password=password');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_USERPWD, "username:password");
       /* curl_setopt_array($ch,
            array(
                CURLOPT_URL => 'http://monUrl/login?username=username&password=password',
                CURLOPT_HTTPAUTH => CURLAUTH_ANY,
                CURLOPT_USERPWD  => "username:password",
                CURLOPT_RETURNTRANSFER   => true,
            )
        );*/
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
        $output = curl_exec($ch);
        $info = curl_getinfo($ch);

        if($output==false){ //la recup de la ressource a pas marché
            echo 'blob';
            var_dump(curl_error($ch));//affiche l'erreur
        }else {
            var_dump(curl_getinfo($ch, CURLINFO_HTTP_CODE));
            $data=json_decode($output, true);
            echo 'blobi';
            var_dump($data);

        }


        curl_close($ch);

        }

Et cela me renvoie blobstring(0) ""
Donc comme il y a blob cela veut dire que l'ouput est faux.

Je ne comprends pas trop... Merci beaucoup pour vos réponses

Test unitaire création d'un CSV

$
0
0

Bonjour tous le monde !

Je début un peu dans les tests unitaires avec PHP je me heurte à un problème où j'ai du mal à trouver la solution.

Je suis en train un package que j'utiliserais dans mes projets laravel.
Dedans je dois générer un fichier csv, je souhaiterais enregistrer ce fichier dans un emplacement qui sera passé en paramètre. Pour cela j'utilise la facade Storage::put();

voilà la fonction save():

public function save($filename = "im_your_father.csv")
    {
        $storageDirectory = __DIR__.'/';
        $data = $this->build();
        Storage::put($storageDirectory.$filename, $data);
        return file_exists($storageDirectory.$filename);
    }

Je voudrais savoir comment ecrire le test unitaire de cette fonction... j'ai essayé ceci :

public function testCreateCsvFromArray()
    {
        $csvName = 'csv_test.csv';
        $this->csvFile = $csvName;

        $csv = new CSVFactory();
        $arr = array(
            array(
                'name' => 'samplename1',
                'number' => 1
            )
        );
        $header = array(
            'name', 'number'
        );
        $csv->create($arr, $header)->save($this->csvFile);
        $this->assertTrue(file_exists('./test/'.$this->csvFile));
    }

Je sais que le test unitaire ne peut pas enregistrer de fichier directement, on est obligé de simuler cela. Mais je ne trouve pas comment faire :(

Le seul exemple que j'obtiens c'est :

```public function testAvatarUpload()
{
Storage::fake('avatars');

    $response = $this->json('POST', '/avatar', [
        'avatar' => UploadedFile::fake()->image('avatar.jpg')
    ]);

    // Assert the file was stored...
    Storage::disk('avatars')->assertExists('avatar.jpg');

    // Assert a file does not exist...
    Storage::disk('avatars')->assertMissing('missing.jpg');
}

Mais mon cas n'est pas un  UploadedFile.



Wiki.JS sur serveur mutualisé possible?

$
0
0

Bonjour,

Je voudrais savoir si il y a des gens qui utilisent Wiki.JS? j'ai quelques soucis avec mon installation. J'ai réussi à l'installer sur un VPS après de nombreuses galères et aussi parce que tous les guides sur ce système sont vieux et obsolètes, j'ai du carrément me créer mon propre guide pour pouvoir réussir à tout mettre en place correctement...
D'ailleurs si ça intéresse des gens n'hésitez pas à me faire vos retours dessus ! (Link : https://gist.github.com/Milehano/f7c547126f880942974712f3ed117e78)

Bref, maintenant j'essaye de le mettre en place sur un serveur mutualisé qui propose NodeJS (O2switch avec un système NginX + Cpanel + NodeJS sous Phusion Passenger) et c'est là que ça coince. (J'suis assez nouveau sur NodeJS)

Ce que je fais

Je rentre tout comme d'hab dans le config.yml (qui est le fichier qu'il faut modifier pour pouvoir lancer correctement l'APP) mais lorsque je lance le node ça fait à literralement planté le serveur NodeJS de O2Switch.
Tout à l'air correct dans mon fichier config.yml pourtant vu que quand je test le config il me dit que tout est OK. Cependant l'app nodeJS me retourne une erreur avec npm et c'est ça qui fait que l'APP n'a pas l'air de fonctionnée.

Voici l'erreur que je reçois quand je lance l'APP.

returncode: 1
stdout:
> wiki@2.0.12 build /home/grth****/domains/site.exemple.com/wiki
> webpack --profile --config dev/webpack/webpack.prod.js
stderr:
npm WARN lifecycle The node binary used for scripts is /home/grth****/nodevenv/domains/site.exemple.com/wiki/10/bin/node but npm is using /opt/alt/alt-nodejs10/root/usr/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.
sh: webpack: command not found
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! wiki@2.0.12 build: `webpack --profile --config dev/webpack/webpack.prod.js`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the wiki@2.0.12 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/grth****/.npm/_logs/2019-12-25T13_20_27_813Z-debug.log

et voici ce qu'il ce passe dans le fichier log en question :

0 info it worked if it ends with ok
1 verbose cli [ '/opt/alt/alt-nodejs10/root/usr/bin/node',
1 verbose cli   '/opt/alt/alt-nodejs10/root/usr/bin/npm',
1 verbose cli   'run-script',
1 verbose cli   'build',
1 verbose cli   '--' ]
2 info using npm@6.11.3
3 info using node@v10.17.0
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle wiki@2.0.12~prebuild: wiki@2.0.12
6 info lifecycle wiki@2.0.12~build: wiki@2.0.12
7 warn lifecycle The node binary used for scripts is /home/grth****/nodevenv/domains/site.exemple.com/wiki/10/bin/node but npm is using /opt/alt/alt-nodejs10/root/usr/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.
8 verbose lifecycle wiki@2.0.12~build: unsafe-perm in lifecycle true
9 verbose lifecycle wiki@2.0.12~build: PATH: /opt/alt/alt-nodejs10/root/usr/lib/node_modules/npm/node_modules.bundled/npm-lifecycle/node-gyp-bin:/home/grth****/domains/site.exemple.com/wiki/node_modules/.bin:/home/grth****/nodevenv/domains/site.exemple.com/wiki/10/bin:/opt/alt/alt-nodejs10/root/usr/bin:/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin
10 verbose lifecycle wiki@2.0.12~build: CWD: /home/grth****/domains/site.exemple.com/wiki
11 silly lifecycle wiki@2.0.12~build: Args: [ '-c',
11 silly lifecycle   'webpack --profile --config dev/webpack/webpack.prod.js' ]
12 info lifecycle wiki@2.0.12~build: Failed to exec build script
13 verbose stack Error: wiki@2.0.12 build: `webpack --profile --config dev/webpack/webpack.prod.js`
13 verbose stack spawn ENOENT
13 verbose stack     at ChildProcess.<anonymous> (/opt/alt/alt-nodejs10/root/usr/lib/node_modules/npm/node_modules.bundled/npm-lifecycle/lib/spawn.js:48:18)
13 verbose stack     at ChildProcess.emit (events.js:198:13)
13 verbose stack     at maybeClose (internal/child_process.js:982:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
14 verbose pkgid wiki@2.0.12
15 verbose cwd /home/grth****/domains/site.exemple.com/wiki
16 verbose Linux 3.10.0-962.3.2.lve1.5.26.3.el7.x86_64
17 verbose argv "/opt/alt/alt-nodejs10/root/usr/bin/node" "/opt/alt/alt-nodejs10/root/usr/bin/npm" "run-script" "build" "--"
18 verbose node v10.17.0
19 verbose npm  v6.11.3
20 error code ELIFECYCLE
21 error syscall spawn
22 error file sh
23 error errno ENOENT
24 error wiki@2.0.12 build: `webpack --profile --config dev/webpack/webpack.prod.js`
24 error spawn ENOENT
25 error Failed at the wiki@2.0.12 build script.
25 error This is probably not a problem with npm. There is likely additional logging output above.
26 verbose exit [ 1, true ]

Du coup si vous avez des idées sur comment régler ce problème je suis un peu en train déespérer là...

Merci d'avance pour l'aide!

Menu qui dépasse (help)

$
0
0

Bonjour,

comme vous pouvez le constater dans les captures suivantes:
image du problème: https://ibb.co/Vp5Rgcd
image de mon code css: https://ibb.co/YpZtZmc

le menu dépasse et je n'arrive toujours pas à trouver la solution pour que le menu soit parfaitement fidèle à la dimension de l'image sur mon site. Comment puis-je régler ce problème ?
Merci à vous

Viewing all 13822 articles
Browse latest View live