8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je voudrais un ti coup de main sur un élément que je veux creer
.
J'ai un code où l'utilisateur rentre le nom d'une protéine tel que celui-ci soit composé de 3 lettres et 6 chiffres (ex : HBG000010)

Je récupère les données ainsi
<!--choix du système à étudier-->
                <form action="script_acceuil.php" method="post">
                  <p>
                    <label for="choix"> Choix du syst&egrave;me à &eacute;tudier : </label><select name="choix" id="choix">
                    <option value="proteine">
                    ..................
                    </option>
                  </p>
                  <tr>
                    <td>
                     [b] <INPUT TYPE="TEXT"   NAME="requete" SIZE="30"> [/b]&nbsp;<INPUT TYPE="submit" VALUE="Get It"> &nbsp;<INPUT TYPE="reset"  VALUE="Clear">
                    </td>
                  </tr>
                </form>


Je traite en php :

<?php
if (isset($_POST['requete']))
{

$requete = $_POST['requete'];
} ?>


et je l'utilise dans mes autres pages avec un GET classique

   
<?php
$requete=$_GET["requete"];[
 ?>


Je veux à présent créer un dossier portant le nom de cette "requete", dans lequel je pourrai rentrer les données la concernant.

Y-t-il un moyen de faire un mkdir requete avec le php ?????
Donc sous la forme '.mkdir /home/yuki/My_php/Webdom/jobs/ + 'requete.' ça sera fonctionnel avec ma variable "requete" ?
Peu de chances, vu que ça c'est du bash

Par contre avec :

<?php
mkdir ("/home/yuki/My_php/Webdom/jobs/".$requete);
?>


ça doit être possible.

Par contre l'URL doit être correcte.

Le lien que je t'ai donné donne la syntaxe précise de la fonction php ainsi que des exemple d'implémentation (un rien plus sécurisé que ce que je te donne Smiley cligne ).
Oui j'écris sous cette forme en faite car j'intègre le php dans du html, ça m'évite de remettre <? php ?> à chaque fois.

Le seul inconvénient c'est que je ne bénéficie plus de la coloration syntaxique php/html, tout mon code est rouge snif, seul le php ressort en bleu foncé.
merci je vais y jeter un oeil desuite
Bon j'ai la bonne formule mais aucune réaction voici mon code cette fois-ci

<?php
if (isset($_POST['requete']))
{
// Alors on peut vérifier si le mot existe 
$requete = $_POST['requete'];

}


if(isset($_POST['choix'])){//vérification de l'existance de "choix"
	switch($_POST['choix']){
		case "proteine":
			header("location:../description_prot.php?requete=".$requete); //donner le bon chemin
                        mkdir ("/home/idris/My_php/Webdom/jobs/" .$requete, 700);
			break;
		case "domaine":
			header("location:../description_domain.php?requete=".$requete); 
                        mkdir ("/home/idris/My_php/Webdom/jobs/" .$requete, 700);
			break;
		case "espece":
			header("location:../description_species.php?requete=".$requete);
                        mkdir ("/home/idris/My_php/Webdom/jobs/" .$requete, 700);
			break;
	}
}

?>


Quand je vais sur la page web je suis bien redirigée vers la bonne adresse et ma variable est conservée, mais le dossier n'est pas créer !!!!!

En mettant le mkdir en premier j'ai une erreur de redirection



Warning: mkdir() [function.mkdir]: Permission denied in /home/idris/My_php/script_acceuil.php on line 13

Warning: Cannot modify header information - headers already sent by (output started at /home/idris/My_php/script_acceuil.php:13) in /home/idris/My_php/script_acceuil.php on line 14


Pourtant j'ai bien le droit de mettre plusieurs instructions dans les case non ????
Salut,

ce serait plus logique de faire le mkdir avant le header.

Sinon, le message d'erreur te parle de permissions : renseignes-toi sur le CHMOD à affecter à jobs (ainsi que sur la fonction PHP correspondante).
Modifié par Heyoan (24 Apr 2009 - 10:06)
J'avais déja interverti avant mais c'était pas mieux, et en mettant 700 ou 0700 ben j'ai toujours cette erreur.

J'ai regardé la page que tu me conseillais, mais je suis encore plus confuse................... Smiley confused Smiley sweatdrop
Je parlais de jobs... et ce serait bien plus simple de modifier le CHMOD à l'aide de ton logiciel FTP (Filezilla ou autre)...

Et il me semble (pas sûr sûr...) que c'est plutôt 755.
775 le chmod pour que tout le monde puisse executer/lire et seul le propriétaire et le groupe du propriétaire ont l'accès en écriture.
Maintenant je voudrais faire appel à un script Perl (script simplissime) dans mon php, le script marche bien, mais le truc c'est q'uil s'affiche tout en haut de la page php..... Smiley sweatdrop Smiley bawling ....au lieu de l'endoirt ou je voudrais.

#! /usr/bin/perl

print "Coucou depuis perl !!!\n";

# @_ = arguments qu'on donne 
my @mot = @ARGV;
print "le premier mot : $mot[0] \n";
# le premier element du tableau
 my @element = @mot;
print "le second élément est : $element[1]\n";

print "le nom de mon prog est $0 \n";


exec, system passthru, j'ai tenté mais c'est pas encore ça, auriez vous des idées ???


 <TABLE BORDER=0 ALIGN=Left  cellspacing="3" cellpadding="0">
            <tr>
              <td bgcolor="#CCCCCC">
                <p>
                  <b>Description</b>
                </p>
              </td>
              <td>
                <p>
                   '.nl2br(passthru("perl ./perl_script/test.pl aaaa bbbb")).'
              </p>
              </td>
            </tr>

Modifié par Yuki_Hime (24 Apr 2009 - 15:38)