Bonjour

Je suis débutante et j'ai un probleme avec mon fichier js la console m'affiche SyntaxError: missing ) after condition[En savoir plus]..

Pouvez vous m'aider s'il vous plaît

 VerifFormulaire = 0;

function conditionsVerifiees() {
   var erreur = 0;
   var erreurnom = 0;
   var erreurmail = 0;
   var Nom = document.getElementById("nom").value;
   var Mail = document.getElementById("mail").value;
        var testMail = Mail.search("@");
   var IDNom = document.getElementById("nom");
   var IDMail = document.getElementById("mail");
   var Condition = document.getElementById("cg").checked;
   VerifFormulaire = 1;		
    if (Nom === "") {
        alert("Merci de saisir un nom.");
        IDNom.style.borderColor = "#FF0000";
        erreur++; 
		erreurnom =1;
    } else if (Mail === "") {    
        IDNom.style.borderColor = "#808080";
        alert("Merci de rentrer votre adresse e-mail");
        IDMail.style.borderColor = "#FF0000";
        erreur++;
		erreurmail =1;
    } else if (Mail ! == "" && testMail <= 0) {
		alert("Votre adresse e-mail n'est pas valide.");
		IDMail.style.borderColor = "#FF0000";
		erreur++;
		erreurmail =1;
    }
	else if (Condition==false) {
		document.getElementById("cg").style.borderColor = "#FF0000";
        alert("Avant l'envoie du formulaire, veuillez accepter les conditions générales en cochant la case.");
        erreur++;
    } else
	{        
        document.getElementById("cg").style.borderColor = "#808080";
		var nomMinuscules = Nom, nomMajuscules = nomMinuscules.toUpperCase();
        Nom = nomMajuscules;    
	}
	
	if (erreurnom==0) {
        IDNom.style.borderColor = "#808080";
	}
	if (erreurmail==0) {
        IDMail.style.borderColor = "#808080";
	}
	
	if (erreur>0){
    return VerifFormulaire=0
	else{
	return VerifFormulaire=1;
		redirect;
	}
	
}

// Fonction impression du formulaire
function impressionFormulaire() {
    window.print();
}

// Fonction On change value
function CalculerTotal() {
	var Valeur;
	var choix;
	Valeur = parseInt(document.getElementById("nombre1").value);
	alert(Valeur);
	if (isNaN(Valeur)) { Valeur = 0; }
	choix = document.getElementById("resa1").value;
	
	if (Valeur != ""){
		if (choix=="demijour")
		Valeur = Valeur*8;	
	}
		else{
		if (choix=="jour")
		Valeur = Valeur*15;
	}
		else{
		if (choix=="repas")
		Valeur = Valeur*7;
		document.getElementById("stot1").value = Valeur+" euros" ;	
		
	}else	
	Valeur = 0;


	var Valeur2=0;
	Valeur2 = parseInt(document.getElementById("nombre2").value);
	if (isNaN(Valeur2)) { Valeur2 = 0; }
	choix = document.getElementById("resa2").value;
	if (Valeur2!==''){
		if (choix=="demijour")
		Valeur2 = Valeur2*8;	
		else{
		if (choix=="jour")
		Valeur2 = Valeur2*15;	
		else
		if (choix=="repas")
		Valeur2 = Valeur2*7;
		document.getElementById("stot2").value = Valeur2+" euros" ;
	}else	{
	valeur2 = 0;
	
	var Valeur3, totalht, tva, totalttc;
	Valeur3 = parseInt(document.getElementById("nombre3").value);
	if (isNaN(Valeur3)) { Valeur3 = 0; }
	choix = document.getElementById("resa3").value;
	if (Valeur3!=''){
		if (choix=="demijour")
		Valeur3 = Valeur3*8;	
		else{
		if (choix=="jour")
		Valeur3 = Valeur3*15;
		else{
		if (choix=="repas")
		Valeur3 = Valeur3*7;
		document.getElementById("stot3").value = Valeur3+" euros" ;
	}
	else{
	Valeur3 = 0;
	
	}	
	function totalht(){
	totalht = Valeur+Valeur2+Valeur3;
	tva = (totalht*20)/100;
	totalttc = totalht+tva;
	totalttc = totalttc.toFixed(2);
	document.getElementById("st").value = totalht;
	sousTotal = parseInt(document.getElementById("st").value);
	document.getElementById("total").value = totalttc;
}
}
// Vérification du formulaire
function testFormReservation() {
    if(VerifFormulaire == 0) {
        alert("Veuillez vérifier votre formulaire avant son envoi.");
    }
    else {
        document.getElementById("formulaire").submit();
    }
}


window.addEventListener("load", function () {
    document.getElementById("verifier").addEventListener("click", conditionsVerifiees);
    document.getElementById("envoyer").addEventListener("click", testFormReservation);
    document.getElementById("imprimer").addEventListener("click", impressionFormulaire);
    document.getElementById("nombre1").addEventListener("change", CalculerTotal);
    document.getElementById("nombre2").addEventListener("change", CalculerTotal);
    document.getElementById("nombre3").addEventListener("change", CalculerTotal);
    document.getElementById("resa1").addEventListener("change", CalculerTotal);
    document.getElementById("resa2").addEventListener("change", CalculerTotal);
    document.getElementById("resa3").addEventListener("change", CalculerTotal);
});


je vous remercie
Bonjour,

Je crée le squelette de mon futur site...
Je suis débutant et j'ai un souci de colonnes.
J'ai créé trois colonnes : artistes, presentation et informations.
La colonne information s'affiche à la fin du texte de la colonne centrale presentation.

Voici l'adresse de la page Artistes :
https://orguesplurielles.000webhostapp.com/artistes.html

et voici le css pour les colonnes, il y a forcément un truc qui ne colle pas. Mais je ne vois pas. Je pensais m'en sortir avec overflow: hidden... Ben non Smiley sweatdrop

div#artistes
{
float: left;
width: 160px;
margin-right: 10px;
padding: 1px 0;
}
div#presentation
{
overflow: hidden;
padding: 1px 20px;
}
div#informations
{
float: right;
width: 300px;
margin-left: 10px;
padding: 1px 0;
}

Merci à ceux qui pourront m'aider.

Jean-Baptiste
Modifié par Skyros (21 Aug 2017 - 18:33)
Bonjour
Il y a quelques années j'ai créé un forum gratuit sur un site dédié à ce type d'applications.
sur ce forum il y un lien vers mon site actuel.
Les appels venant de ce forum sont sous cette forme : http://timbres-de-france.clicforum.com/xx/xx (exemple http://timbres-de-france.clicforum.com/t914-Aide-Datation-timbres-Ceskoslovensko.htm) ces appels provoque toujours une erreur de page (erreur 404)
important : je n'ai plus accès à ce forum

J'ai créé un fichier htaccess pour essayer de résoudre le problème mais ça ne marche pas

fichier htaccess
order allow,deny
allow from all
# redirection forum
Redirect 301  http://timbres-de-france.clicforum.com/  http://www.timbres-de-france.com/index.php
RewriteEngine On
# Domaine bloqué
RewriteCond %{HTTP_USER_AGENT} .*proximic* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} .*admantx* [OR]
RewriteCond %{HTTP_USER_AGENT} .*comscore*
RewriteRule .* - [F]
# redirection erreur
ErrorDocument 404  http://www.timbres-de-france.com/erreur_page.php


Pouvez vous m'aider Smiley decu
D'avance merci
Bonjour,
Retour d'un petit break d'une semaine.. je relis.. je pars du css.. et rajoute au fur et à mesure..et voilà l'erreur dans le début d'un commentaires : deux slash au lieu d'un

//**
 * ------------------------
 * --- TABLE OF CONTENT ---
 * ------------------------
 */

au lieu de :

/**
 * ------------------------

Cordialement
Modifié par cpalo (21 Aug 2017 - 15:05)
Bonjour,

pour le cas des boutons, on est passé de
<button class="btn btn-primary" type="button">Envoyer</button>
 à
 <button class="btn-primary" type="button">Envoyer</button>


avec le sélecteur suivant :
[class^="btn-"],
.btn {
  display: inline-block;
  /* (…) */
}


Ça fonctionne dans CE cas parce qu'aucune classe n'a le droit de commencer par btn- et ne pas avoir une tête de bouton (ce serait idiot).
En aucun cas ce n'est pour une question de performances : la différence se mesure en µs, aucune importance.

Pour des composants (disons pagination ou onglets), on (alsacreations.fr l'agence) ajoute au parent une 2e classe de spécialisation :

<div class="pagination pagination-narrow">
  <ul class="pagination-list">
    <li class="pagination-item">
  </ul>
</div>


Si tu veux une nomenclature robuste, sans surprise (tout-terrain qui passe partout quoi), il y a BEM. Si tu respectes la nomenclature, tu n'auras plus jamais une hésitation sur quoi que ce soit mais c'est un peu "lourd" à écrire. Pas un problème si tu as des soucis de ce genre 3x par semaine Smiley smile Perso j'ai pas, j'utilise pas mais dans d'autres circonstances ce serait sûrement différent
Modifié par Felipe (21 Aug 2017 - 14:40)
Merci de toutes ces informations
Dans la mesure où, comme tu le dis, .htaccess est un langage pour les gestionnaires de serveurs, le fait que les gestionnaires de site ont besoin de s'en servir signifie à mon sens qu'il serait bien d'avoir un utilitaire pour les gestionnaires de site qui génère le code en question, de la même façon qu'il existe des langages permettant de ne pas avoir à connaître le langage machine d'un ordinateur pour faire des applications.
Mon erreur de base a été d'utiliser le code fourni par Online.net en pensant qu'il pouvait être utilisé tel quel sur un site géré par Infomaniak.
Pour améliorer mes connaissances, peux tu m'expliquer la deuxième ligne du code Online.net:
RewriteEngine On
RewriteCond %{HTTP:HTTPS} !on
RewriteRule (.*)   https://%{SERVER_NAME}/$1   [QSA,L,R=301]

Merci de ton aide
Modifié par PapyJP (21 Aug 2017 - 14:39)
Le serveur de ton hébergeur tourne avec un proxy: Un serveur qui reçoit les requêtes et qui les renvoie au serveur où sont hébergés tes fichiers.

Les en-têtes commençant par X-* sont (ou étaient plutôt) des en-têtes non standardisées. Difficile en effet de pouvoir l'écrire soi-même sans le savoir. C'est à ton hébergeur de te fournir ces informations, soit dans sa base de connaissances/FAQ soit par une demande. Il faut connaître l'infrastructure du serveur pour le savoir.
Si tu as peiné à trouver cette information c'est à ton hébergeur qu'il faut s'en prendre.

a écrit :

La page que j'ai trouvée sur le sujet est https://httpd.apache.org/docs/current/fr/howto/htaccess.html C'est du jargon pour gestionnaire de serveur, pas pour gestionnaire de site.

Les .htaccess étant de la configuration de serveur, ça s'adresse à des gestionnaires de serveur oui.

La doc sur mod_rewrite quant à elle est ici: https://httpd.apache.org/docs/current/fr/mod/mod_rewrite.html
SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

Et si j'utilise un autre code trouvé ailleurs sur le web ça me donne :
Notice: Undefined index: N°Appart.


L'autre code c'est quelque chose comme ça (en tout cas c'est ce que j'ai essayé) :


<?php
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=dmd;charset=utf8', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

$sql = ('INSERT INTO dmdapp(Pseudo, Localisation, N°Appart., Signature) VALUES("'.$_POST['Pseudo'].'", "'.$_POST['Localisation'].'", "'.$_POST['N°Appart.'].'", "'.$_POST['Signature'].'")');


echo 'Votre demande a bien été transmise !';
?>



Edit :

Dans la documentation PHP j'ai vu dans les codes qu'il y avait ça d'ajouté :

$matches = array('1');
$count = count($matches);
for($i = 0; $i < $count; ++$i) {
    $values[] = '?';
}


Donc je l'ai ajouté (dans le code du dessus, le dernier) juste après ma connexion à ma BDD et juste avant l'INSERT TO.
La réponse reste la même pour celui-ci : Notice: Undefined index: N°Appart. in ...

Et si je mets ça avec le tout premier code (où il y avait les variables ligne par ligne), j'ai encore la même réponse.

En fait, les mêmes réponses restent. Ça ne change rien.
Modifié par ahover (21 Aug 2017 - 13:57)
Voilà le vrai code :



<?php
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=dmd;charset=utf8', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

$req = $bdd->prepare('INSERT INTO dmdapp(Pseudo, Localisation, N°Appart., Signature) VALUES(:Pseudo, :Localisation, :N°Appart., :Signature)');

$req->execute(array(

    'Pseudo' => $_POST['Pseudo'],

    'Localisation' => $_POST['Localisation'],

    'N°Appart.' => $_POST['noapp'],

    'Signature' => $_POST['Signature'] ));


echo 'Votre demande a bien été transmise !';
?>


J'ai pas compris "virer un commentaire" ? Tu veux dire enlever, par rapport à ce que j'ai juste avant ? Ou tu veux dire autre chose ?


Merci de bien vouloir m'aider Smiley smile
Modifié par ahover (21 Aug 2017 - 13:33)
25 Dernières réponses