Formulaire

Fermé
Eritou Messages postés 110 Date d'inscription samedi 20 décembre 2014 Statut Membre Dernière intervention 29 septembre 2023 - Modifié par Eritou le 24/08/2015 à 21:35
Eritou Messages postés 110 Date d'inscription samedi 20 décembre 2014 Statut Membre Dernière intervention 29 septembre 2023 - 25 août 2015 à 12:11
Bonsoir à tous,
Je tente depuis pas mal de temps de créer un formulaire... sans grand succès :(
Je suis donc parti sur un template Bootstrap, en remplissant correctement (J'espère) ce qui devait l'être (adresse de serveur, mon email etc...). Le formulaire accepte (enfin) les messages et les envois... mais je ne les reçois pas :/ Ne sachant que vous envoyer (fichier js, html...), je vous envoie directement le lien. CAN YOU HELP ME ??? ;)
http://sunrisecoffeeshopaddict.org/form.html
Merci à vous et bonne soirée,
E.

3 réponses

jordane45 Messages postés 38250 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 octobre 2024 4 691
24 août 2015 à 23:36
Bonjour,

L'envoie de mail ne saurait être géré simplement par du html / javascript...
Il te faut forcément un langage serveur comme du PHP par exemple (invisible dans le code source d'une page "affichée" ...)

Pour que l'on puisse t'aider... il faut donc que tu nous postes ton code ici.

PS: **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.



0
Bonsoir,
un formulaire étant l'élément HTML c'est ce qu'on fait de son contenu qui compte hors vous ne le précisez pas.
S'agit il d'un envoi sur votre email, vers une bases de données, autre?

En effet qui dit envoi dit réception et javascript fonctionnant sur le navigateur(client) uniquement il ne sera pas possible d'envoyer quoique ce soit.
PHP (serveur) permets cela, de communiquer avec une base de données ou un serveur d'email.
Des exemples qui devraient vous aider ici:
http://www.xul.fr/ecmascript/formulaire-envoi-reception.php
et là:
http://www.emmanuel-glajean.fr/tutoriel/formulaire-avec-envoi-par-mail-1.eg

Notez que JQuery possèdes certaines fonctions AJAX permettant de faire cet échange de manière simplifié mais l'échange l'est quand même avec php, donc php il doit y avoir (ou autre langage serveur) + derrière le serveur mail ou la base de données.
0
Eritou Messages postés 110 Date d'inscription samedi 20 décembre 2014 Statut Membre Dernière intervention 29 septembre 2023 4
25 août 2015 à 12:09
Bonjour,
Merci jordane45 et rominet pour vos réponses. Voici le fichier "MainHandler.php":
<?php

if(!isset($_GET['s'])) {
	die('You must define a search term!');
}

$highlight = true;//highlight results or not
$search_in = array('html', 'htm');//allowable filetypes to search in
$search_dir = '../';//starting directory
$recursive = true;//should it search recursively or not
define('SIDE_CHARS', 80);
$file_count = 0;
$search_term = mb_strtolower($_GET['s'], 'UTF-8');
//$search_term = $_GET['s'];
$search_term_length = strlen($search_term);
$final_result = array();

$files = list_files($search_dir);

foreach($files as $file){
	$contents = file_get_contents($file);
	preg_match("/\<title\>(.*)\<\/title\>/", $contents, $page_title); //getting page title
	if (preg_match("#\<body.*\>(.*)\<\/body\>#si", $contents, $body_content)){ //getting content only between <body></body> tags
		$clean_content = strip_tags($body_content[0]); //remove html tags
		$clean_content = preg_replace( '/\s+/', ' ', $clean_content ); //remove duplicate whitespaces, carriage returns, tabs, etc
	
	//$found = strpos_recursive($clean_content, $search_term);
	$found = strpos_recursive(mb_strtolower($clean_content, 'UTF-8'), $search_term);
	$final_result[$file_count]['page_title'][] = $page_title[1];
	$final_result[$file_count]['file_name'][] = $file;
}
	if($found && !empty($found)) {
		for ($z = 0; $z < count($found[0]); $z++){
			$pos = $found[0][$z][1];
			$side_chars = SIDE_CHARS;
			if ($pos < SIDE_CHARS){
				$side_chars = $pos;
				$pos_end = SIDE_CHARS + $search_term_length;
			}else{
				$pos_end = SIDE_CHARS*2 + $search_term_length;
			}

			$pos_start = $pos - $side_chars;
			$str = substr($clean_content, $pos_start, $pos_end);
			$result = preg_replace('#'.$search_term.'#ui', '<span class="search">\0</span>', $str);
			//$result = preg_replace('#'.$search_term.'#ui', '<span class="search">'.$search_term.'</span>', $str);
			$final_result[$file_count]['search_result'][] = $result;
		}
	} else {
		$final_result[$file_count]['search_result'][] = '';
	}
	$file_count++;
}
?>
<!DOCTYPE HTML>
<html lang="en-US" class="iframe">
<head>
	<title>Search results</title>	
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
	<link rel="stylesheet" href="../css/bootstrap.css" type="text/css" media="screen">
	<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen">
	<link rel="stylesheet" href="search.css" type="text/css" media="screen">

</head>
<body>
<script type="text/javascript">
;(function(){	
	document.body.onload=resize
	window.onresize=resize
	
	function resize(){
		parent._resize(document.getElementById('search-results').offsetHeight)
	}
})()
</script>

	<div id="search-results">
		<ol class="search_list">
	<?php
		$match_count = 0;
		for ($i=0; $i < count($final_result); $i++){
			if (!empty($final_result[$i]['search_result'][0]) || $final_result[$i]['search_result'][0] !== ''){
				$match_count++;
	?>
			<li>
				<h3 class="search_title"><a target="_top" href="<?php echo $final_result[$i]['file_name'][0]; ?>" class="search_link"> <?php echo $final_result[$i]['page_title'][0]; ?> </a></h3>
				...<?php echo $final_result[$i]['search_result'][0]; ?>...
				<span class="match">Terms matched: <?php echo count($final_result[$i]['search_result']); ?> - URL: <?php echo $final_result[$i]['file_name'][0]; ?></span>
			</li>
	<?php
			}
		}
		if ($match_count == 0) {
			echo '<h3>No results found for <span class="search">'.$search_term.'</span></h3>';
		}
	?>
		</ol>
	</div>

</body>
</html>


<?php
//lists all the files in the directory given (and sub-directories if it is enabled)
function list_files($dir){
	global $recursive, $search_in;

	$result = array();
	if(is_dir($dir)){
		if($dh = opendir($dir)){
			while (($file = readdir($dh)) !== false) {
				if(!($file == '.' || $file == '..')){
					$file = $dir.'/'.$file;
					if(is_dir($file) && $recursive == true && $file != './.' && $file != './..'){
						$result = array_merge($result, list_files($file));
					}
					else if(!is_dir($file)){
						if(in_array(get_file_extension($file), $search_in)){
							$result[] = $file;
						}
					}
				}
			}
		}
	}
	return $result;
}

//returns the extention of a file
function get_file_extension($filename){
	$result = '';
	$parts = explode('.', $filename);
	if(is_array($parts) && count($parts) > 1){
		$result = end($parts);
	}
	return $result;
}

function strpos_recursive($haystack, $needle, $offset = 0, &$results = array()) {               
    $offset = stripos($haystack, $needle, $offset);
    if($offset === false) {
        return $results;           
    } else {
        $pattern = '/'.$needle.'/ui';
	preg_match_all($pattern, $haystack, $results, PREG_OFFSET_CAPTURE);
		return $results;
    }
}
?>

Je vais de suite voir les liens que vous m'avez envoyés.
Merci pour votre aide et bonne journée,
E.
0
Eritou Messages postés 110 Date d'inscription samedi 20 décembre 2014 Statut Membre Dernière intervention 29 septembre 2023 4
25 août 2015 à 12:11
PS : le but est uniquement de recevoir les messages à l'adresse suivante : dm15517@
Merci ;)
E.
0