CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Notice: Array to string conversion ?(PHP

noname4
noname4
Niveau 4
26 février 2014 à 20:48:05

Bonsoir, je bloque sur un TP (BTS SIO), j'ai un formulaire (saisiefilm.php) et un fichier de traitement (transfert.php) qui l'envoie dans la BDD) :

http://pastebin.com/BcLsHLJS -> saisiefilm.php
http://pastebin.com/agYCqv1A -> transfert.php

Et quand je l'execute j'ai :
"Notice: Array to string conversion in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\proj
ects\TP
PHP\TP2_gest_film_texte_php\transfert.php on line 17

Notice: Array to string conversion in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\proj
ects\TP
PHP\TP2_gest_film_texte_php\transfert.php on line 17"

Apparemment c'est les champs type et pays qui ne passent pas dans ma BDD... D'où peut venir le pb ? Merci.

noname4
noname4
Niveau 4
26 février 2014 à 21:13:06

Problème résolu en virant les [] si ça peut aider quelqu'un.

froggy0025
froggy0025
Niveau 10
26 février 2014 à 22:02:35

<input type="checkbox" name="type[]" value="histoire">
$type=$_POST['type'];

Forcément, ça ne fonctionne pas.

Il y a un autre problème dans ton traitement des données.
Et tu ne vérifies ni ne sécurises les données recueillies.
Et mysql_query est obsolète.

Encore un peu de travail :)

froggy0025
froggy0025
Niveau 10
26 février 2014 à 22:13:41

Et par rapport à ton balisage html, les balises <head> englobent l'encodage de la page, les balises <title>, les balises <meta>, des liens (favicon, css...), et dans certains cas des scripts (en général il vaut mieux exécuter ses scripts après que le contenu de la page ait été généré et affiché afin de ne pas bloquer le chargement de la page en lui faisant attendre les scripts).

Du coup, ça c'est pas bon :

<head>
<center><h1>Saisir un film</h1></center>
</head>

froggy0025
froggy0025
Niveau 10
26 février 2014 à 22:17:53

Et <center> est obsolète

noname4
noname4
Niveau 4
27 février 2014 à 11:16:44

Merci de tes conseils, "mysql_query est obsolète" ? Remplacer par ? Sécurisation des données c'est du local le stage est dans 2 mois. Mais tu parles de MD5 non ? (à ce propos ça fonctionne aussi dans l'autre sens pour du SELECT) ?

AlgerianHeenok
AlgerianHeenok
Niveau 10
27 février 2014 à 12:17:40

Il parle de php en pdo surement mais pour la sécurité c'est quand tu recuperes tes variables, fais des recherche sur l'injection sql !

froggy0025
froggy0025
Niveau 10
27 février 2014 à 13:36:11

Oui, je parle de PDO et de ses requêtes préparées (tu peux aussi utiliser mysqli)

Et même si PDO protège automatiquement les paramètres que tu lui soumets, ça ne dispense pas de vérifier le type des données reçues (vérifier qu'il s'agit bien d'un integer ou la longueur d'un résumé par exemple), et dans certains cas de vérifier leur intégrité (mais pas besoin ici).

Si tu te sers de mysql tu dois échapper tes données / vérifier leur contenu / galérer avec l'api pour les donnés en utf-8 / oublier les procédures stockées / utiliser une extension qui n'est plus supportée

C'est bien de savoir bien s'en servir quand tu bosses sur des vieux php, mais si c'est pour des nouveaux projets il ne faut plus s'en servir.

froggy0025
froggy0025
Niveau 10
27 février 2014 à 13:41:38

"Sécurisation des données c'est du local le stage est dans 2 mois."

:d) Autant prendre de bonnes habitudes tout de suite :)

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment