Pagina 1 din 1

Problema Insert date dupa cautare in site

Scris: Vin Apr 26, 2013
de alingol4nu
Salut,
Stie cineva de ce nu pot cauta cuvinte pe site gen: "i'm good".
In script am "cauta.php" , "search.php" si daca adaug un javascript imi cauta, dar nu imi adauga in database ce se cauta pe site.

Cod search.php

Cod: Selectaţi tot

<?php
include('config.php');
include('functions.php');
$cautare = $_GET['search'];
$cautare = iconv('iso-8859-1', 'US-ASCII//TRANSLIT', $cautare);
$ip=$_SERVER['REMOTE_ADDR'];
$con=mysql_connect($server,$user,$pass);
if (!$con)
{
    die('Cannot connect to mysql ' . mysql_error());
}
$ip=$_SERVER['REMOTE_ADDR'];
mysql_select_db($db, $con);
$query="SELECT * FROM tags where cautare='$cautare'";
$res=mysql_query($query) or die(mysql_error());
if (mysql_num_rows($res)==0 && strlen($cautare)>=3)
{
$q="INSERT INTO tags (cautare, ip) VALUES('$cautare','$ip')";
mysql_query($q) or die(mysql_error());
}
mysql_close();
$cautare=str_replace(" ","-",$cautare);
$cautare=str_replace("'","-",$cautare);
$cautare=str_replace("`","-",$cautare);
$cautare=str_replace("[","",$cautare);
$cautare=str_replace("]","",$cautare);
$cautare=str_replace(",","-",$cautare);
$cautare=str_replace(".","-",$cautare);
$cautare=str_replace(":","-",$cautare);
$cautare=str_replace(";","-",$cautare);
$cautare=str_replace("?","",$cautare);
$cautare=str_replace("!","",$cautare);
$cautare=str_replace("&","-",$cautare);
$cautare=str_replace("@","",$cautare);
$cautare=str_replace(")","",$cautare);
$cautare=str_replace("(","",$cautare);
$cautare=str_replace("~","",$cautare);
$cautare=str_replace("#","",$cautare);
$cautare=str_replace("%","",$cautare);
$cautare=str_replace("^","",$cautare);
$cautare=str_replace("*","",$cautare);
$cautare=str_replace("'\'","",$cautare);
$cautare=str_replace("|","",$cautare);
$cautare=str_replace("<","",$cautare);
$cautare=str_replace(">","",$cautare);
$cautare=str_replace("/","",$cautare);
$cautare=str_replace("+","-",$cautare);
$cautare=str_replace("=","",$cautare);
$cautare=str_replace("+","-",$cautare);
$cautare=str_replace("~","-",$cautare);
$cautare=str_replace("    "," ",$cautare);
$cautare=str_replace("   "," ",$cautare);
$cautare=str_replace("  "," ",trim($cautare));
mysql_close($con);
header("Location: http://www.site.net/download/" . $cautare . "/");
?>
Cod JS:

Cod: Selectaţi tot

function CreateBookmarkLink() {
var title = 'site.net : Sursa Ta De Muzica Noua';
var url = 'http://www.site.net/';

	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; }
}

if (top.location != self.location) {
top.location = self.location.href
}

$("#search-btn").click(function() {

       $(".error").hide();
        var hasError = false;
        var searchReg = /^[a-zA-Z0-9-]+$/;
        var searchVal = $("#search-text").val();

        //alert(searchVal);

        if(searchVal == '') {
            $("#search-text").after('<span class="error" style="color: #F11111;">Nu ai introdus nimic in campul de cautare</span>');
            hasError = true;
        } else if(searchVal.length < 4) {
            $("#search-text").after('<span class="error" style="color: #F11111;">Text prea scurt, minim 4 caractere</span>');
            hasError = true;
        }/*else if(!searchReg.test(searchVal)) {
            $("#search-text").after('<span class="error" style="color: #F11111;">Enter valid text.</span>');
            hasError = true;
        }*/
        if(hasError == true) {return false;}

        searchVal = perma(searchVal.removeDiacritics());

        window.location = 'http://www.site.net/download/'+searchVal+'/';

        return false;
    });

function perma(value) {
	value = value.replace(new RegExp("([^a-zA-Z0-9-]{1,})", "g"), "-");
	value = value.replace(" ",'-');
	value = value.replace("_",'-');	
	value = value.replace("a",'a');
	value = value.replace("î",'i');
	value = value.replace("Î",'i');
	value = value.replace("í",'i');
	value = value.replace("â",'a');
	value = value.replace("á",'a');
	value = value.replace("s",'s');
	value = value.replace("t",'t');
	value = value.replace("ú",'u');
	value = value.replace("",'-');
	value = value.replace("é",'e');
	value = value.replace("–",'-');
	value = value.replace("“",'-');
	value = value.replace("ç",'c');
	value = value.replace("ë",'e');
	value = value.replace("ä",'a');
	value = value.replace("Ö",'o');
	value = value.replace("ö",'o');
	value = value.replace("ó",'o');
	value = value.replace("ü",'u');
	value = value.replace("’",'-');
	value = value.replace("´",'-');
	value = value.replace("µ",'-');
	value = value.replace("°",'-');
	value = value.replace("—",'-');
	value = value.replace("ß",'-');
	value = value.replace("š",'s');
	value = value.replace("€",'-');
	value = value.replace("„",'-');
	value = value.replace("§",'-');
	value = value.replace("Ç",'c');
	value = value.replace("'",'-');
	value = value.replace("‘",'-');
	value = value.replace("¨",'-');
	value = value.replace("Š",'s');
	value = value.replace("ñ",'n');
	value = value.replace("è",'e');
	value = value.replace("ò",'o');
	value = value.replace("à",'a');
	value = value.replace("ù",'u');
	value = value.replace("[",'');
	value = value.replace("]",'');
	value = value.replace("(",'');
	value = value.replace(")",'');
	value = value.replace("*",'');
	value = value.replace("*",'');
	value = value.replace("|",'');
	value = value.replace("!",'');
	value = value.replace("£",'');
	value = value.replace("$",'');
	value = value.replace("%",'');
	value = value.replace("/",'');
	value = value.replace("^",'');
	value = value.replace("?",'');
	value = value.replace("+",'');
	value = value.replace("@",'');
	value = value.replace(".",'');
	value = value.replace(",",'');
	value = value.replace(";",'');
	value = value.replace(":",'');
	value = value.replace("<",'');
	value = value.replace(">",'');

	return value = value.replace(new RegExp("[_]{2,}", "g"), "-");
}

String.prototype.removeDiacritics = function() {
    var diacritics = [
        [/[\300-\306]/g, 'A'],
        [/[\340-\346]/g, 'a'],
        [/[\310-\313]/g, 'E'],
        [/[\350-\353]/g, 'e'],
        [/[\314-\317]/g, 'I'],
        [/[\354-\357]/g, 'i'],
        [/[\322-\330]/g, 'O'],
        [/[\362-\370]/g, 'o'],
        [/[\331-\334]/g, 'U'],
        [/[\371-\374]/g, 'u'],
        [/[\321]/g, 'N'],
        [/[\361]/g, 'n'],
        [/[\307]/g, 'C'],
        [/[\347]/g, 'c'],
    ];
    var s = this;
    for (var i = 0; i < diacritics.length; i++) {
        s = s.replace(diacritics[i][0], diacritics[i][1]);
    }
    return s;
}

function validate(frm)
   {
	if(frm.elements["search"].value.length<=2)
		{
			alert("Introduceti minim 3 caractere pentru cautare!");
			return false;	
		}
		return true;
    }
Cod casuta de cautare :

Cod: Selectaţi tot

<form action="http://www.site.net/search.php" method="get">
<input autocomplete="off" title="Cauta fisierul dorit" placeholder="Cauta aici fisierul dorit .." id="search-text" class="custom" type="text" size="30" name="search" x-webkit-speech="" spellcheck="false"/>

<input id="search-btn" class="btn" type="submit" name="submit" value="Cauta"/>

Problema Insert date dupa cautare in site

Scris: Vin Apr 26, 2013
de MarPlo
Salut
Daca problema e ca nu face Insert in baza de date dupa Select-ul de cautare, inlocuieste in "search.php" codul:

Cod: Selectaţi tot

if (mysql_num_rows($res)==0 && strlen($cautare)>=3)
Cu acesta:

Cod: Selectaţi tot

if (mysql_num_rows($res)>0 && strlen($cautare)>=3) 
- mysql_num_rows($res) trebuie sa fie mare decat 0.

Problema Insert date dupa cautare in site

Scris: Vin Apr 26, 2013
de alingol4nu
Nci un efect, am observat ca daca sterg "search.php" de pe ftp tot imi cauta, dar nu imi insereaza in baza de date ce se cauta.
Cineva zicea ca solutia ar fii ajax -> din javascript sa trimit o cerere la "search.php" sau nu stiu cum dar cum se face ?

Problema Insert date dupa cautare in site

Scris: Vin Apr 26, 2013
de MarPlo
Nu stiu de ce nu merge si nici nu am cum sa testez.
Daca e vorba de Ajax si vrei sa stii cum se face transmitere de date prin JavaScript la PHP, vezi lectiile de la Cursul Ajax de pe site.

Problema Insert date dupa cautare in site

Scris: Vin Apr 26, 2013
de alingol4nu
M-am uitat si acolo, si pe alte site-uri, dar nu inteleg cum se face. Ce trebuie sa scriu mai exact?