Bonjour,

sur une page, j'ai un formulaire et quand on clique sur soumettre, cela "lance" un script PHP (qui se trouve en fait sur la même page, avant le formulaire).

voilà le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
// si on a cliqué sur Soumettre
	if (isset($_POST['submit']))
	{ 
 
	// on créé et exécute la requête de ajout du lien
    $sql_ajout = "INSERT INTO NFT_Articles (id_art, nom_mag, num_mag, jour_art, mois_art, annee_art, titre_art, texte_art, nom_envoyeur, id_SA, 
				nb_scan, visible) VALUES ('','".$_POST['nom_mag']."','".$_POST['num_mag']."','".$_POST['jour_art']."',
				'".$_POST['mois_art']."','".$_POST['annee_art']."','".$_POST['titre_art']."','".$_POST['texte_art']."',
	             '".$_POST['nom_envoyeur']."','".$_POST['id_SA']."','".$_POST['nb_scan']."','".$_POST['visible']."')";
    mysql_query($sql_ajout,$connect)  or die ('Erreur de requête ligne 33.<br>Erreur : '.mysql_error());
 
 
	   // création de la requête
	    $sql = "SELECT id_art, nom_mag FROM NFT_Articles WHERE id_art='SELECT max(id_art) FROM NFT_Articles'";
	    // on exécute la requête
	    $req = mysql_query($sql,$connect) or die('Erreur SQL  ligne 39!<br>'.$sql.'<br>'.mysql_error());
 
		$val = mysql_fetch_assoc($req);
 
	// création des répertoires
	$nom_rep = "".$val['id_art']."_".$val['nom_mag'].""; // nom du futur répertoire
	mkdir($_SERVER['DOCUMENT_ROOT'].'/NCIS-fr/Arts/'.$nom_rep);
	mkdir($_SERVER['DOCUMENT_ROOT'].'/NCIS-fr/Arts/'.$nom_rep.'/images'); // création dossier images associé au répertoire
	$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/NCIS-fr/Arts/'.$nom_rep.'/article.php', 'wb');
	$source = $_POST['texte_art'];
	copy ($source, ($_SERVER['DOCUMENT_ROOT'].'/NCIS-fr/Arts/'.$nom_rep.'/article.php')); // on copie le contenu du fichier source ds article.php
	$chem_art = $_SERVER['DOCUMENT_ROOT'].'/NCIS-fr/Arts/'.$nom_rep.'/article.php'; // chemin de l'article
	// insertion du chemin menant vers l'article
	$sql_ajout2 = "UPDATE NFT_Articles SET texte_art='".$chem_art."' WHERE id_art='SELECT max(id_art) FROM NFT_Articles'";
    mysql_query($sql_ajout2,$connect)  or die ('Erreur de requête ligne 54.<br>Erreur : '.mysql_error());
 
	}
apparement, le script ne comprend pas la requête

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 $sql = "SELECT id_art, nom_mag FROM NFT_Articles WHERE id_art='SELECT max(id_art) FROM NFT_Articles'";
également, il y a un problème avec la variable 'texte_art' qui n'est pas reconnue dans la tout premiere requete, cela affiche l'erreur

"Notice: Undefined index: texte_art" pour la variable

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$_POST['texte_art']
(dans le formulaire, le champ 'texte_art' est de type file, on clique sur parcourir pour rechercher le fichier).

et dans le formulaire, on peut normalement selectionner dans une liste multiple plusieurs "nom_SA", mais apparement, cela ne veut pas prendre plusieurs noms.

sauriez vous d'où peuvent venir les problèmes ?

merci pour votre aide