8791 sujets

Développement web côté serveur, CMS

Bonjour à tous.
Voilà j'ai un problème avec l'envoie via un formulaire pour une bdd.
Je précise que ca marchait nickel avant que je ne le modifie pour ajouter l'option by (que j'ai également ajouter dans phphmyadmin). Cette option me permet de savoir qui a ajouter la news dans l'exemple du code :

<div>
	<p>Ajouter une news</p>
		<form method="post" action="" onsubmit="javascript:return confirm( 'Confirmer la mise a jour ?' );">
		<table>
		<tr>
			<td><label for="date">Date :</label></td><td> <input type="text" name="date" id="date" value="<?php echo date("Y-m-d"); ?>"></td>
		</tr>
		<tr>
			<td><label for="news">News :</label></td><td> <textarea name="texte" rows="5" cols="75" id="news"></textarea></td>
		</tr>
		<tr>
			<td></td><td><input type="submit" name="submit" value=" Envoyer "></td>
		</tr>
		</table>
		</form>
		


		<?php
			$result=false;
			if (isset($_POST['submit'])){
				$date=$_POST['date'];
				$texte=$_POST['texte'];
				$by=$_SESSION['login'];
					if(($date!='')&&($texte!='')){
						$sql = "INSERT INTO news(id,date,texte,by) VALUES ('','$date','$texte','$by')";
						$result = mysql_query($sql);
						$result=true;
						echo("L'insertion a ete correctement effectuee" ) ;
					} else {
					echo 'L\'insertion a echouee - date et/ou texte vide' ;
					}
			}
		?>
	</div>

Merci de votre aide. Smiley smile
Modifié par Fer2Lance (21 Dec 2010 - 17:18)
Merci de ta réponse très rapide.
Le message affiché est 'L'insertion a été correctement effectué', mais bien evidement, elle n'est pas effectué ! Smiley lol
Je ne savais pas qu'il y avait des mot réservé, je vais donc modifier et je tiens au jus.
Merci.
Effectivement, ca marche beaucoup mieux avec un autre mot ! Smiley biggrin
Merci bien.

Par contre j'ai un nouveau problème (rah ces changements ca fout tout en l'air Smiley lol ) :
J'ai changé by par util et le but de cette variable est que l'utilisateur X peut supprimer uniquement les news qu'il a lui même posté. Je sélectionne donc ma bdd et je lui demande de comparé data['util'] avec $_SESSION['login']. Or j'ai une erreur qui me dit ceci : Notice: Undefined variable: data in ...
Je ne comprend pas puisque util existe bien dans ma bdd et gràace au select mon data['util'] devrait bel et bien exister.
Voici le code :
<?php
			$result=false;
			if(isset($_POST['submit2'])) {
				$id=$_POST["id"];
				if(!empty($id)){
					if(($_SESSION['loginok']==true)&&($_SESSION['admin']==false)){ // si redac
						$sql="SELECT id,date,texte,util FROM news WHERE id='$id'";
						$req=mysql_query($sql);
						if($_SESSION['login']==$data['util']){
							$sql = "DELETE FROM news WHERE id=$id;";
							$result = mysql_query($sql);
							$result=true;
							echo("Suppression effectuee avec succes" ) ;
						}
					} else {
						echo 'Vous etes redacteur. Vous ne pouvez donc supprimer cette news';
					}
				} else {
						echo 'La suppression a echouee' ;
						}
			}
		?>
Modérateur
En fait, je suis plutôt Coldfusion et MSSQL, alors je ne peux pas beaucoup t'aider.

Je ne sais pas comment fonctionne exactement le PHP ($req=mysql_query($sql);), mais à voir ton code, je ne vois pas où est créé $data['util'] ou même juste la variable $data? Es-tu certain que cette variable existe bel et bien? Il doit forcément manquer une ligne de code quelque part...

Être motivé et avoir le temps, j'irais bien lire la documentation de PHP pour t'aider, mais bon, je préfère laisser les autres membres d'Alsacreations s'en charger. PHP est leur petit bébé quand même. Smiley cligne
Modifié par Tony Monast (21 Dec 2010 - 16:46)
Effectivement, je débute en mysql et je pensais que data se créé automatiquement avec le select, mais en fait non. Smiley lol
Merci beaucoup Tony Monast !