Page 1 sur 1

besoin d'un oeil d'expert

Posté : 16 févr. 2011, 17:26
par artenis
Bonjour

j'aurais besoin que quelqu'un me dise ou se trouve mon erreur, car là je suis en train de m'arracher le peu de cheveux qui me reste:

formulaire PHP/Mysql

je n'ai aucune erreure signalée, le var_dump ne fonctionne pas,
problème actuel: le INSERT INTO n'insert rien dans la base de donnée, la récupération de celles-ci marche

Un grand merci à la personne qui trouve mon erreur:

<?php
/* Les conditions de validation */
if(isset($_POST['ajouter'])){
if(isset($_POST['titre']) && isset($_POST['apercu']) && isset($_POST['reste'])){
// connexion à la base de données:
mysql_connect('localhost','root','');
mysql_select_db('data');
/* mysql_real_escape_string (ne marche qu'avec un mdp serveur)*/
/* creation de variable de stockage */
$titre=$_POST['titre'];
$date=$_POST['date'];
$auteur=$_POST['auteur'];
$apercu=$_POST['apercu'];
$reste=$_POST['reste'];
/*if(empty($date) || empty($auteur)){ $error_date = 'Voulez-vous continuez sans mettre de date'; $error_auteur ='Voulez-vous continuez sans mentionner d\'auteur';}*/
/* Insertion du formulaire dans BDD */
$sql = 'INSERT INTO recup (titre,date,auteur,apercu,reste) VALUES ("'.$titre.'","'.$date.'","'.$auteur.'","'.$apercu.'","'.$reste.'")';

/* Execution de la requête ou affichage d'une erreur SQL selon que le script marche ou pas */
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());

/* fermeture acces BDD */
mysql_close();
}

}

?>
<form method="post" action="result.php" id="f" >
<table>
<tr><td><label>TITRE</label></td></tr>
<tr><td><input type="text" id="arrondi" class="titre" name="titre" value=""/><br /></td></tr>
<tr><td><label>DATE</label></td></tr>
<tr><td><input type="text" id="arrondi" class="date" name="date" value=""/><br /></td></tr>
<tr><td><label>AUTEUR</label> </td></tr>
<tr><td><input type="text" id="arrondi" class="auteur" name="auteur" value=""/><br /></td></tr>
<tr><td><label>APERCU DU SUJET (Il s'agit de la partie visible de l'iceberg)</label></td></tr>
<tr><td><textarea id="arrondi" name="apercu" class="apercu" value=""/></textarea><br /></td></tr>
<tr><td><label>RESTE DU SUJET (Au click "aperçu" la partie caché de l'iceberg sera visible)</label></td></tr>
<tr><td><textarea id="arrondi" name="reste" class="reste" value=""/></textarea><br /></td></tr>
<tr><td><input type="submit" name="ajouter" id="locus" value="Ajouter ce sujet"/></td></tr>
</table>
</form>

voici la base : "data"

Structure de la table `recup`
--

DROP TABLE IF EXISTS `recup`;
CREATE TABLE IF NOT EXISTS `recup` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`titre` text NOT NULL,
`date` text NOT NULL,
`auteur` text NOT NULL,
`apercu` longtext NOT NULL,
`reste` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Contenu de la table `recup`
--

Re: besoin d'un oeil d'expert

Posté : 16 févr. 2011, 17:33
par xTG
Si le var_dump() ne renvoie rien c'est qu'il n'y a rien de reçu...
Essayes de mettre POST plutôt que post dans ton attribut method.

Et bien sûr si cela n'avait pas été le cas, le var_dump() doit être mis en première instruction du script.

Enfin tu ne protèges pas les valeurs que tu envoies dans la bdd.
Utilises mysql_real_escape_string().

Re: besoin d'un oeil d'expert

Posté : 16 févr. 2011, 18:13
par AoSiX
Si le var_dump() ne renvoie rien c'est qu'il n'y a rien de reçu...
Si il n'y a aucun retour, c'est que le script ne passe pas par le var_dump, car var_dump aurait renvoyé NULL.

@artenis -> Suis les conseille de xTG, fais un var_dump au tout début, puis au fur et à mesure descend le dans le code, pour voir étape / étape :)

Re: besoin d'un oeil d'expert

Posté : 17 févr. 2011, 17:04
par artenis
merci pour vos suggestions,

cependant lorsque j'utilise var_dump(); au tout début du script : citation:

var_dump() expects at least 1 parameter, 0 given in C:\wamp\www\upload_image_sql\index.php on line 26

je comprends l'anglais mais interpréter une erreur c autre chose : merci pour vos explications (google me dit tout et n'importe quoi, je ne trouve pas ma réponse)

quelqu'un pourrait-il me donner la réponse ou me donner un indice sur mon erreur (je ne suis pas faignant , mais j'ai envoyer ce code à 4 amis qui code également en php et ne trouvent pas non plus mon erreur)

encore merci pour le temps que vous consacrez à me répondre

Re: besoin d'un oeil d'expert

Posté : 17 févr. 2011, 17:17
par macgawel
var_dump() expects at least 1 parameter, 0 given in C:\wamp\www\upload_image_sql\index.php on line 26
Il faut faire var_dump($MaVariable), hein...

Re: besoin d'un oeil d'expert

Posté : 17 févr. 2011, 22:32
par artenis
la ligne:

'INSERT INTO recup ( , , , , , ) VALUES ("'..'", ...)';

à été remplacé par

'INSERT INTO recup VALUES ("","'.$titre.'","'.$date.'","'.$auteur.'","'.$apercu.'","'.$reste.'")';

j'ai enlevé les varibles de la table et rajouté un champ dans values correspondant à l'id

et surtout le plus stupide dans l'histoire: l'action du form était redirigé vers la page de visualisation de la BDD au lieu d'être dirigé vers la même page (insertion dans la BDD)

Une fois de plus des conneries de débutant (même si ça arrive de tmps en temps aux meilleurs)

merci encore aux personnes qui m'ont aider