Erreur Undefined index

Yurexa Messages postés 13 Statut Membre -  
 le père -
Bonjour,
J'ai un problème avec un petit script PHP, qui me donne l'erreur suivante :
Notice: Undefined index: titre in \insertion_accueil.php on line 27

Notice: Undefined index: img in \insertion_accueil.php on line 28

Notice: Undefined index: message in \insertion_accueil.php on line 29


titre, img et message sont des variables... Comme vous l'auriez sûrement remarqué.
J'ai cherché plusieurs solutions sur Internet, mais aucune ne me satisfais, étant donné que je n'ai que des connaissances plus que limitées sur la programmation PHP, comme celle indiquée ici --> Notice: Undefined index: .

Voici le script PHP :
<?php
	require("connection.inc");
				
	// Déclaration des variables

		$titre=$_POST['titre'];
		$img=$_POST['img'];
		$message=$_POST['message'];

		$connection=mysql_connect("localhost","root","")
			or die ("Connexion au serveur impossible");
		$db=mysql_select_db("DivingCenter",$connection)
			or die ("Sélection de la base de données impossible");

		$req="UPDATE new SET 	id_new='', 
							titre='$titre',
							message='$message',
							img='$img'";
										
		$res=mysql_query($req)or die(mysql_error());
?>

Donc, en claire, mon script a déjà fonctionné correctement, et je ne sais pas pourquoi, il ne veux plus fonctionner. Le but est d'envoyer un message sur ma page d'accueil, en tant qu'information importante que je récupère dans ma base de données, je récupère les valeurs avec la méthode POST dans une autre page afin de les traiter :
<form enctype="multipart/form-data" action="insertion_accueil.php" method="post">

<table id='cadre_bis'>
	<tr>
		<td class='interieur'>Titre du message</td>
		<td class='interieur'><input type="text" name="titre" value=""></td>
	</tr>

	<tr>
		<td class='interieur'>Image à insérer dans le message (URL)</td>
		<td class='interieur'><input type="hidden" name="image" value="1"><input name="img" type="text"></td>
	</tr>
</table>

<table id='cadre_new'>

<tr>
    <td align="center" colspan="2">
    <textarea name="message" onkeyup="preview(this, 'previewDiv');" onselect="preview(this, 'previewDiv');" id="textarea" cols="80" rows="10"></textarea>
    </td>
</tr>

<tr>
    <td align="center" colspan="2">
    <input class="button" type="button" value="Visualiser" onclick="view('textarea','viewDiv');document.getElementById('viewDiv').style.display = '';" />
    <input class="button" type="button" value="Masquer" onclick="document.getElementById('viewDiv').style.display = 'none';" /> 
    <input class="button" type="submit" value="Envoyer" /> 
    </td>
</tr>

<tr>
	<td><div id="viewDiv"></div></td>
</tr>

</form>


J'ai enlevé de bon morceaux de la page, alors s'il y a une erreur de syntaxe, balise et autre, c'est de là que ça vient.

Merci d'avance pour vos réponses !
A voir également:

4 réponses

jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
apparement ce sont les variables POST qui n'existent pas (enfin il me semble, vu que tas tronqué ton code, on peut pas trouver les lignes ^^)
normalement quand on récupère des variables POST, on vérifie d'abord qu'elles existent bien avec un truc comme un if(isset($_POST['titre']) && isset($_POST['message']) && isset($_POST['img']))
dans ton cas
0
Yurexa Messages postés 13 Statut Membre
 
Je regarde ça tt de suite et je te dis si ça fonctionne.

-----------------------------------------

EDITION : Non, ça ne fonctionne pas, il me met de nouvelles erreurs.
Notice: Undefined index: img in C:\Program Files\Wamp\www\Nautilus\insertion_accueil.php on line 26

Notice: Undefined index: message in C:\Program Files\Wamp\www\Nautilus\insertion_accueil.php on line 27

Notice: Undefined variable: titre in C:\Program Files\Wamp\www\Nautilus\insertion_accueil.php on line 36


Et voici mon code PHP :
<?php
	require("connection.inc");

if(isset($_POST['titre']) && isset($_POST['img']) && isset($_POST['message'])) 
			
	$titre=$_POST['titre'];
	$img=$_POST['img'];
	$message=$_POST['message'];
			
	$connection=mysql_connect("localhost","root","")
		or die ("Connexion au serveur impossible");
	$db=mysql_select_db("DivingCenter",$connection)
		or die ("Sélection de la base de données impossible");

	$req="UPDATE new SET 	id_new='', 
							titre='$titre',
							message='$message',
							img='$img'";
										
	$res=mysql_query($req)or die(mysql_error());
?>



Les balises existent bien, voici ma page d'information (tronquée, mais l'essentiel y est) :
<form enctype="multipart/form-data" action="insertion_accueil.php" method="post">

<table id='cadre_bis'>
	<tr>
		<td class='interieur'>Titre du message</td>
		<td class='interieur'><input type="text" name="titre" value=""></td>
	</tr>

	<tr>
		<td class='interieur'>Image à insérer dans le message</td>
		<td class='interieur'><input type="hidden" name="image" value="1"><input name="img" type="text"></td>
	</tr>
</table>

<table id='cadre_new'>
	<tr align='center'>
		<td>
	
	<br>
	<br>
    <img src="images/icones/bold.png" alt="Gras" onclick="insertTag('', '', 'textarea')" />
    <img src="images/icones/italic.png" alt="Italique" onclick="insertTag('', '', 'textarea')" />
    <img src="images/icones/underline.png" alt="Souligne" onclick="insertTag('', '', 'textarea')" />
    <img src="images/icones/barre.png" alt="Barre" onclick="insertTag('<barre>', '</barre>', 'textarea')" />
    <img src="images/icones/left.png" alt="Gauche" onclick="insertTag('<gauche>', '</gauche>', 'textarea')" />
    <img src="images/icones/center.png" alt="Centrer" onclick="insertTag('<centrer>', '</centrer>', 'textarea')" />
    <img src="images/icones/right.png" alt="Droite" onclick="insertTag('<droite>', '</droite>', 'textarea')" />
    <img src="images/icones/link.png" alt="Lien" onclick="insertTag('', '', 'textarea', 'lien')" />
    <img src="images/icones/image.png" alt="Image" onclick="insertTag('<image>', '</image>', 'textarea')" />
    <img src="images/icones/citation.png" alt="Citation" onclick="insertTag('', '', 'textarea', 'citation')" />
						<br>
    <img src="images/icones/fontsize.png" usemap="#Map2" href="#" border="0" /><br />
	<img src="images/icones/color.png" usemap="#Map3" alt="" border="0" />    </td>
</tr>
<tr>
    <td align="center" colspan="2">
		<img src="images/icones/previewon.png" alt="Preview On" onclick="document.getElementById('previewDiv').style.display = '';" /> 
		<img src="images/icones/previewoff.png" alt="Preview Off" onclick="document.getElementById('previewDiv').style.display = 'none';" />
		<input name="previsualisation" type="checkbox" id="previsualisation" value="previsualisation" checked="checked" disabled="disabled" />
		<label for="previsualisation">Pr&eacute;visualisation automatique</label>
		<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
	</td>
</tr>
<!-- -------------------------------------------[Zone de texte]------------------------------------------- -->
<tr>
    <td align="center" colspan="2">
    <textarea name="message" onkeyup="preview(this, 'previewDiv');" onselect="preview(this, 'previewDiv');" id="textarea" cols="80" rows="10"></textarea>
    </td>
</tr>
<!-- ---------------------------[Insertion de la prévisualisation directe du message]---------------------------
<tr>
    <td colspan="2">
    <div id="previewDiv"></div>
    </td>
</tr>
-->
<tr>
    <td align="center" colspan="2">
    <input class="button" type="button" value="Visualiser" onclick="view('textarea','viewDiv');document.getElementById('viewDiv').style.display = '';" />
    <input class="button" type="button" value="Masquer" onclick="document.getElementById('viewDiv').style.display = 'none';" /> 
    <input class="button" type="submit" value="Envoyer" /> 
    </td>
</tr>

<tr>
	<td><div id="viewDiv"></div></td>
</tr>

</form>
0
le père
 
Bonsoir

Il te manque des { } autour de la partie soumise au if
if(isset($_POST['titre']) && isset($_POST['img']) && isset($_POST['message'])) 
{			
	$titre=$_POST['titre'];...

et } juste avant le ?>
sans cela, le if ne s'applique qu'à la première instruction qui suit
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
mais ta page insertion_accueil.php c'est laquelle ?
0
Yurexa Messages postés 13 Statut Membre
 
C'est celle qui contient le code PHP :
<?php
	require("connection.inc");

if(isset($_POST['titre']) && isset($_POST['img']) && isset($_POST['message'])) 
			
	$titre=$_POST['titre'];
	$img=$_POST['img'];
	$message=$_POST['message'];
			
	$connection=mysql_connect("localhost","root","")
		or die ("Connexion au serveur impossible");
	$db=mysql_select_db("DivingCenter",$connection)
		or die ("Sélection de la base de données impossible");

	$req="UPDATE new SET 	id_new='', 
							titre='$titre',
							message='$message',
							img='$img'";
										
	$res=mysql_query($req)or die(mysql_error());
?>
0