8722 sujets

Développement web côté serveur, CMS

Bonjour à tous,
je dois mettre en place un formulaire de réservation de concerts. J'ai donc fait un formulaire de contact, la base de données et le formulaire de validation (envoi des données sur adresse mail).
Voilà le début du formulaire de contact
<?php
include('connexion.php');

$action=isset($_REQUEST['action'])?$_REQUEST['action']:'';
$id_contact=isset($_REQUEST['id_contact'])?$_REQUEST['id_contact']:0;
$nom=isset($_REQUEST['nom'])?$_REQUEST['nom']:'';
$prenom=isset($_REQUEST['prenom'])?$_REQUEST['prenom']:'';
$email=isset($_REQUEST['email'])?$_REQUEST['email']:'';
$concert=isset($_REQUEST['concert'])?$_REQUEST['concert']:'';
$message=isset($_REQUEST['comment'])?$_REQUEST['comment']:'';

if($action=='envoyer'){
		$req="INSERT INTO contact VALUES(NULL,'{$nom}','{$prenom}','{$email}','{$concert}','{$comment}')";
		$envoie=mysql_query($connex,$req);
		header('Location:form_envoi.php');
		exit;
}
	
?>

puis la structure de ma base de données
Base de données: `reservation`
--

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

--
-- Structure de la table `contact`
--

CREATE TABLE IF NOT EXISTS `contact` (
  `id_contact` int(11) NOT NULL AUTO_INCREMENT,
  `nom` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `prenom` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `mail` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `concert` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `comment` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id_contact`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


et connexion.php
<?php
$connex=mysql_connect('mysql5-16.240','reservation','mot de passe');
mysql_select_db ('contact', $base) ; 
mysql_query($connex,"SET NAMES 'utf8'");
?>


lorsque je teste le formulaire, je reçois bien les données par mail mais au niveau de la connexion de la base de données il y a souci : message d'erreur :
Warning: mysql_select_db() expects parameter 2 to be resource, null given in /homez.647/.../connexion.php on line 3

Warning: mysql_query() expects parameter 1 to be string, resource given in /homez.647/.../connexion.php on line 4

j'avoue que je cherche mais rien alors je fais appel à vos connaissances.
D'avance merci
Modérateur
Bonjour
minimouse31 a écrit :

Warning: mysql_select_db() expects parameter 2 to be resource, null given in /homez.647/.../connexion.php on line 3

Attention: mysql_select_db() attend que le paramètre 2 soit une ressource, mais vous lui avez refilé NULL.
=>
$base n'est pas défini, il faut changer $base par $connex

minimouse31 a écrit :
Warning: mysql_query() expects parameter 1 to be string, resource given in /homez.647/.../connexion.php on line 4

Pour cette erreur, je préconise de lire le manuel. Par ailleurs, portez une attention toute particulière au grand carré rouge en haut de la page: http://br2.php.net/manual/fr/function.mysql-query.php
Modérateur
celui qui dit:
a écrit :

Avertissement

Cette extension est obsolète depuis PHP 5.5.0, et sera supprimée dans le futur. À la place, les extensions MySQLi ou PDO_MySQL doivent être utilisées. Voir aussi le guide MySQL : choix de l'API ainsi que la FAQ associée pour plus d'information. Voici les alternatives à cette fonction :

mysqli_query()
PDO::query()


cela est aussi valide pour mysql_connect et mysql_select_db. Toutes les fonctions mysql_* sont obsolètes et ne doivent plus être utilisées, particulièrement sur de nouveaux projets.
minimouse31 a écrit :
merci beaucoup pour la réponse ... quel carré rouge ?

Je suppose que kustolovic fait référence à l'avertissement Smiley cligne
Je tiens à préciser que sur la nouvelle version (beta) du site php.net l'avertissement est en rose et pas en rouge. C'était important de le préciser.