> Tous les forums > Forum des Webmasters
 Petit probleme de script PHP
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
bilourock
  Posté le 24/05/2007 @ 22:03 
Aller en bas de la page 
Petit astucien

Bonjour, j'ai téléchargé un petti script de gestion de galerie photo tout pret (flemmede coder )...

J'ai une page php qui sert à creer un nouveau dossier, le bouton submit renvoi vers une autre page qui ajoute les données du formulaire dans ma bdd.

Voici le code qui, je pense, foire, puisque il affiche toujours le 'print' de 'else' c'est à dire: Action non connue.

include("l_photos.php");
include("const.php");

// Connexion a mySQL
$link = @mysql_connect ("**********", "*********", "*********");
if ($link == 0) {
print("Echec de la connexion");
exit();
}

// Connexion a la base de donnees arbraphoto
$db = @mysql_select_db (db_1);
if ($db == 0) {
print("Echec de la connexion a la base de donnee");
exit();
}

if (substr($action, 0, 7) == 'Ajouter') {

// Ici on se charge d'ajouter un nouvelle photo dans la base

// Pour faire la nique aux ptits plaisantins
$commentaire = HTMLspecialchars($commentaire);

// Recuperer le nom du dossier
$nomDossier = nom_dossier($dossier);

// Appel a la fonction qui compresse le fichier
niveau(REP_UPLOAD . $nomDossier . '/' . $fichier_photo, 10);
niveau(REP_UPLOAD . $nomDossier . '/' . $fichier_photo, 40);

// Envoi de la requete : on insert la nouvelle photo
$sql = "INSERT INTO Photos (id_dossier, fichier_photo, commentaire) VALUES";
$sql .= "('$dossier', '$fichier_photo', '$commentaire')";

$result = @mysql_db_query (db_1, $sql, $link);
if ($result == false) {
print("Echec de la requete insert");
exit();
}

print("Photo bien inseree
");

} elseif (substr($action, 0, 9) == 'Supprimer') {

// Ici on supprime une photo de la base

// Transformer le nom du bouton 'Supprimer dossier/fichier' en 'fichier'
$fichier = substr (strrchr ($action, '/'), 1 );

// Recuperer le nom du dossier
$nomDossier = nom_dossier($dossier);

// Effacer les fichiers
unlink(REP_UPLOAD . $nomDossier . '/' . $fichier);
unlink(REP_UPLOAD . $nomDossier . '/' . format_compresse($fichier, 10));
unlink(REP_UPLOAD . $nomDossier . '/' . format_compresse($fichier, 40));

// Envoi de la requete : on supprime la photo choisie
$sql = "DELETE FROM Photos WHERE id_dossier = '$dossier' AND fichier_photo = '$fichier'";

$result = @mysql_db_query (db_1, $sql, $link);
if ($result == false) {
print("Echec de la requete delete");
exit();
}

print("Photo supprimee
");

} elseif (substr($action, 0, 7) == 'Nouveau') {

// Ici on ajoute un nouveau dossier

// On verifie que le nom est un nom de fichier possible
$ok = ereg("^[a-zA-Z0-9_]+$", $nouveau);
if (!$ok) {
print("Le nom de fichier n'est pas valide
");
bouton_annuler();
exit();
}

// Envoi de la requete : on ajoute le dossier saisi
$sql = "INSERT INTO Dossier (nom_dossier) VALUES ('$nouveau')";

$result = @mysql_db_query (db_1, $sql, $link);
if ($result == false) {
print("Echec de la requete insert de dossier");
exit();
}

mkdir (REP_UPLOAD . '/' . $nouveau, 0744);

print("Dossier ajouté avec succès
");
print("Retour à l'ajout de photo");


} else {

print("Action non connue
");

}

@mysql_close ($link);

?>


bouton_annuler();
?>

Je ne vous propose pas de voir le site, la premiere page est codée.

Si il y a une erreur dans le code, merci de me le dire !

Merci de votre aide, Bilourock.



Modifié par bilourock le 24/05/2007 22:10
Publicité
AlexPrince
 Posté le 24/05/2007 à 22:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Tu vois, je n'ai aucune mauvaises intentions, mais ceux qui en ont ont maintenant l'adresse de ton serveur, ton nom d'utilisateur et ton mot de passe. Je te suggère de les enlever de la vue de tous...
bilourock
 Posté le 24/05/2007 à 22:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
exact merci ^^ j'ai betement copié/collé j'ai même pas regarde merci beaucoup.
Malcolm
 Posté le 25/05/2007 à 09:00 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

tu testes :

if (substr($action, 0, 7) == 'Ajouter') {

mais que vau$action au départ ? Et à l'arrivée ?

conseil : fais :

echo "<ul><li>AVANT : ".$action."</li><li>APRES : ".substr($action,0,7)."</li></ul>"; 

pour voir ce que vaut $action avant et après le "traitement". Tu verras bien si ça correspond à un de tes "if" ...

telliak
 Posté le 25/05/2007 à 10:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

AlexPrince a écrit :

Tu vois, je n'ai aucune mauvaises intentions, mais ceux qui en ont ont maintenant l'adresse de ton serveur, ton nom d'utilisateur et ton mot de passe. Je te suggère de les enlever de la vue de tous...

Salut Bilourock,

Evidemment tu as pensé à changer le mot de passe...

A+

bilourock
 Posté le 25/05/2007 à 19:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Malcolm a écrit :

tu testes :

if (substr($action, 0, 7) == 'Ajouter') {

mais que vau$action au départ ? Et à l'arrivée ?

conseil : fais :

echo "
  • AVANT : ".$action."
  • APRES : ".substr($action,0,7)."
";

pour voir ce que vaut $action avant et après le "traitement". Tu verras bien si ça correspond à un de tes "if" ...


Je ne comprends pas : Il faut que je supprime cette ligne :

if (substr($action, 0, 7) == 'Ajouter') {

Pour la remplacer (copié/collé) par la phrase que tu m'as donné ?

Malcolm
 Posté le 26/05/2007 à 01:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

non, tu rajoutes celle que je t'ai donnée juste avnt ton "if" ... somme ça tu sauras ce que vaut $action, et ce quer vaut substr($action) ... Et tu pourras voir quel if est réellement exécuté.
bilourock
 Posté le 26/05/2007 à 19:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

C'est bon, le probleme est réglé

Voici le nouveau code :

<?php

include("l_photos.php");
include("const.php");

// Connexion a mySQL
$link = @mysql_connect ("**********", "***********", "**********");
if ($link == 0) {
print("Echec de la connexion");
exit();
}

// Connexion a la base de donnees arbraphoto
$db = @mysql_select_db (db_1);
if ($db == 0) {
print("Echec de la connexion a la base de donnee");
exit();
}

$action = $_GET['action'];

if (substr($action, 0, 7) == 'Nouveau') { //ct pas ajouter, mais nouveau le bon mot sorry

// Ici on se charge d'ajouter un nouvelle photo dans la base

// Pour faire la nique aux ptits plaisantins
$commentaire = HTMLspecialchars($commentaire);

// Recuperer le nom du dossier
$nomDossier = nom_dossier($dossier);

// Appel a la fonction qui compresse le fichier
niveau(REP_UPLOAD . $nomDossier . '/' . $fichier_photo, 10);
niveau(REP_UPLOAD . $nomDossier . '/' . $fichier_photo, 40);

// Envoi de la requete : on insert la nouvelle photo
$sql = "INSERT INTO Photos (id_dossier, fichier_photo, commentaire) VALUES";
$sql .= "('$dossier', '$fichier_photo', '$commentaire')";

$result = @mysql_db_query (db_1, $sql, $link);
if ($result == false) {
print("Echec de la requete insert");
exit();
}

print("Photo bien inseree<BR>");

} elseif (substr($action, 0, 9) == 'Supprimer') {

// Ici on supprime une photo de la base

// Transformer le nom du bouton 'Supprimer dossier/fichier' en 'fichier'
$fichier = substr (strrchr ($action, '/'), 1 );

// Recuperer le nom du dossier
$nomDossier = nom_dossier($dossier);

// Effacer les fichiers
unlink(REP_UPLOAD . $nomDossier . '/' . $fichier);
unlink(REP_UPLOAD . $nomDossier . '/' . format_compresse($fichier, 10));
unlink(REP_UPLOAD . $nomDossier . '/' . format_compresse($fichier, 40));

// Envoi de la requete : on supprime la photo choisie
$sql = "DELETE FROM Photos WHERE id_dossier = '$dossier' AND fichier_photo = '$fichier'";

$result = @mysql_db_query (db_1, $sql, $link);
if ($result == false) {
print("Echec de la requete delete");
exit();
}

print("Photo supprimee<BR>");

} elseif (substr($action, 0, 7) == 'Nouveau') {

// Ici on ajoute un nouveau dossier

// On verifie que le nom est un nom de fichier possible
$ok = ereg("^[a-zA-Z0-9_]+$", $nouveau);
if (!$ok) {
print("Le nom de fichier n'est pas valide<BR>");
bouton_annuler();
exit();
}

// Envoi de la requete : on ajoute le dossier saisi
$sql = "INSERT INTO Dossier (nom_dossier) VALUES ('$nouveau')";

$result = @mysql_db_query (db_1, $sql, $link);
if ($result == false) {
print("Echec de la requete insert de dossier");
exit();
}

mkdir (REP_UPLOAD . '/' . $nouveau, 0744);

print("Dossier ajouté avec succès<BR>");
print("<a href='f_ajouter.php'>Retour à l'ajout de photo</a>");


} else {

print("Action non connue<BR>");

}

@mysql_close ($link);

?>

<!// Fin partie variable>

<p>
<?php
bouton_annuler();
?>

Seulement il ne retient pas l'ajout !

C'est à dire que si je retourne à l'ajout de photo mon dossier créé a disparu....

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
7,28 €Câble antivol Ewent EW1241 (1.5 m, à combinaison) à 7,28 €
Valable jusqu'au 26 Juillet

Amazon fait une promotion sur le câble antivol Ewent EW1241 qui passe à 7,28 € seulement au lieu de 12 €. Ce câble de 1,5 m est universel et facile à utiliser avec n'importe quel ordinateur portable ou de bureau avec un slot de sécurité. intégré. Protégez votre ordinateur contre le vol grâce à la serrure à combinaison à 4 chiffres.


> Voir l'offre
87,90 €Tondeuse à gazon électrique Bosch ARM 32 à 87,90 €
Valable jusqu'au 30 Juillet

Amazon fait une promotion sur la tondeuse à gazon électrique Bosch ARM 32 qui passe à 87,90 € livrée gratuitement alors qu'on la trouve ailleurs à partir de 109,99 €.  Avec la tondeuse à gazon ARM 32 Bosch, rien de plus facile que de bien entretenir sa pelouse en un minimum de temps. Équipée d’un puissant moteur de 1 200 W, elle tond sans effort et efficacement l’herbe haute ou dense et assure une tonte parfaite.

Sa grande légèreté et sa forme compacte permettent de contourner facilement les obstacles. Son guide herbe permet une tonte au ras des murs, des parterres de fleurs et des bordures.  La hauteur de coupe est réglable de 20 à 60 mm. Bac de ramassage de 31 litres. La tondeuse à gazon ARM 32 est par ailleurs peu encombrante. Le guidon peut être replié après utilisation.


> Voir l'offre

Sujets relatifs
Petit problème script PHP
Programmation d'un petit script phantomjs.
petit probleme!!
Petit problème
petit probleme d'hebergement
Problème script redirection selon identifiant
Problème d'affichage de Script sous Firefox
problème script
cherche petit script
problème avec un script php
Plus de sujets relatifs à Petit probleme de script PHP
 > Tous les forums > Forum Forum des Webmasters