Problema Insert date dupa cautare in site

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
alingol4nu
Mesaje: 5

Problema Insert date dupa cautare in site

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"/>

MarPlo Mesaje: 4343
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.

alingol4nu Mesaje: 5
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 ?

MarPlo Mesaje: 4343
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.

alingol4nu Mesaje: 5
M-am uitat si acolo, si pe alte site-uri, dar nu inteleg cum se face. Ce trebuie sa scriu mai exact?

Subiecte similare