19 berichten aan het bekijken - 1 tot 19 (van in totaal 19)
  • Q:
    Bijdrager
    DarkRaverNL

    SQL Query: $sql = “SELECT linktitle,linkdescription………

    Ik ben bezig met een SQL zoekpagina voor me site, en ik gebruik de volgende Query:

    $sql = “SELECT linktitle,linkdescription FROM links LIKE ‘%$HTTP_POST_VARS[searchword]%'”;
    alles werkt met deze query,
    searchword word in een search.php gePOST wat dus hierheen word gestuurd, nou was mijn vraag hoe kan ik WHERE linktitle in meerdere zoeken ? bijv. WHERE linktitle,linkdescription,linkurl ofzo, als ik WHERE weglaat dan krijg ik een error, wie o wie kan me helpen :|

    Bijdrager
    klaus

    je zal moeten dynamisch je query opbouwen.

    Trouwens, een like is relatief zwaar voor je database, dus bekijk het goed vooraf.

    ‘where linktitle like ‘%test%’ and linkdescription like ‘%test2%’

    Bijdrager
    Jello

    Redelijk simpel

    “SELECT naam FROM leden WHERE leeftijd >= ’20’ AND functie <> ‘Admin’ “;

    Simpelweg met de AND, of OR … tussen…

    PS: een goede tut vind u op http://www.semeleer.nl/tut_sql.html

    Bijdrager
    DarkRaverNL

    Seriues, daar hat ik nou net niet aan gedacht, ga het glijk uit proberen !

    ”klaus”

    je zal moeten dynamisch je query opbouwen.

    Trouwens, een like is relatief zwaar voor je database, dus bekijk het goed vooraf.

    ‘where linktitle like ‘%test%’ and linkdescription like ‘%test2%'

    ach, je moet mijn site maar is WC3 checken, alst werkt vink ut goed:)

    Bijdrager
    Jello
    ”DarkRaverNL”

    Seriues, daar hat ik nou net niet aan gedacht, ga het glijk uit proberen !

    ”klaus”

    je zal moeten dynamisch je query opbouwen.

    Trouwens, een like is relatief zwaar voor je database, dus bekijk het goed vooraf.

    ‘where linktitle like ‘%test%’ and linkdescription like ‘%test2%'

    ach, je moet mijn site maar is WC3 checken, alst werkt vink ut goed:)

    http://validator.w3.org/check?uri=http%3A%2F%2Fdarkraver.net%2F , maar 18 error’s;)

    Bijdrager
    DarkRaverNL

    Wat doek fout ?

    $sql = “SELECT linktitle,linkdescription FROM links WHERE linkdescription AND linktitle AND linkurl LIKE ‘%$HTTP_POST_VARS[searchword]%'”;

    levert niks meer op… :(

    ”Jello”
    ”DarkRaverNL”

    Seriues, daar hat ik nou net niet aan gedacht, ga het glijk uit proberen !

    ”klaus”

    je zal moeten dynamisch je query opbouwen.

    Trouwens, een like is relatief zwaar voor je database, dus bekijk het goed vooraf.

    ‘where linktitle like ‘%test%’ and linkdescription like ‘%test2%'

    ach, je moet mijn site maar is WC3 checken, alst werkt vink ut goed:)

    http://validator.w3.org/check?uri=http%3A%2F%2Fdarkraver.net%2F , maar 18 error’s;)

    Hah!! hat je vanmorgen moeten zien man, 304 errors, en kijk me links paginas maar enzo, kmoet nog een hoop doen, maar GROEN zaldie nooit woorden:P al dat ge <br> is niet goed, ALT vergeten, <HEAD begint verkeerd, DOCTYPE niet gevonden, BORDER=’0 is neit goed, wat een gezeur, ut werkt op me Safari dus WC3 meot nie zo zeiken:P

    Bijdrager
    Jello

    [code:1:846ef35791]
    $sql = "SELECT linktitle,linkdescription FROM links WHERE linkdescription LIKE ‘%$HTTP_POST_VARS[searchword]% AND linktitle LIKE ‘%$HTTP_POST_VARS[searchword]% AND linkurl LIKE ‘%$HTTP_POST_VARS[searchword]%’";

    [/code:1:846ef35791]

    Wat dacht je hiervan?

    Bijdrager
    Paetor

    syntax lijkt inderdaad (ook taalkundig) niet je ding nee:P

    Bijdrager
    DarkRaverNL

    Error: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/darkrave/public_html/result.php on line 15

    uhg uhg, hmmmmzzors

    PS: hij staat hier: http://darkraver.net/?p=search

    Bijdrager
    DarkRaverNL

    Ja ne ja hoowww, was nog komaatjes vergeten, dowh:P
    ***Edit: nee toch niet, dan zoekt weer aleen in de eerste…hmmm***

    En nou vintie ook niks meer op dingen die wer wel staat, BF1942 etc etc…uhg

    Bijdrager
    lensco

    Ik denk dat ze van het “W3C” ook niet zo blij zullen zijn met zo’n hollander die heel de tijd “WC3” op z’n site zet … :P

    Bijdrager
    tennapel
    ”DarkRaverNL”

    Wat doek fout ?

    $sql = “SELECT linktitle,linkdescription FROM links WHERE linkdescription AND linktitle AND linkurl LIKE ‘%$HTTP_POST_VARS[searchword]%'”;

    levert niks meer op… :(

    Dit is een onzin query. Ik neem aan dat je een woord zoekt en dat het woord of in linkdescription, of in linktitle of linkurl moet voorkomen:
    [code:1:e1ba2279fc]
    $sql = "SELECT
    linktitle,linkdescription
    FROM links
    WHERE
    linkdescription LIKE ‘%$HTTP_POST_VARS[searchword]%’
    OR linktitle LIKE ‘%$HTTP_POST_VARS[searchword]%
    OR linkurl LIKE ‘%$HTTP_POST_VARS[searchword]%’";
    [/code:1:e1ba2279fc]

    Bijdrager
    Jello

    Ik heb hem gisterenavond nog via aim zitten helpen, en het werkt. Dus wat mij betreft is deze zaak [Opgelost].

    Bijdrager
    DarkRaverNL

    Ja euhm kben ook maar een amatuertje:P kzal de volledige code vandaag nog ff posten voor de mense die er mischien wel wat aan hebbe:)

    Oh en tennappel nog iets, als ik naar jou site ga nu naar die contact dinges, dan kirjg ik allemaal errors, was je er mee bezig ? khep dat REFERRER probleem waarschijnlijk opgelost:)

    Bijdrager
    tennapel
    ”DarkRaverNL”

    Oh en tennappel nog iets, als ik naar jou site ga nu naar die contact dinges, dan kirjg ik allemaal errors, was je er mee bezig ? khep dat REFERRER probleem waarschijnlijk opgelost:)

    Ik krijg geen errors, dus kan ik ook niets testen. Screenshotje?

    Bijdrager
    DarkRaverNL

    Neen, gisteren, nadat ik je die PM had gestuurd, maar nu ist weer normaal.

    De code die nu werkt, maar nog ge optimaliseerd word is:

    [code:1:17f72a30c9]

    if ([email protected]_select_db("darkrave_drcms", @mysql_connect("localhost", "darkrave_drcms", "*dbpass*")))
    {
    echo "Error connecting Database.";
    exit();
    }
    $search=$HTTP_POST_VARS[searchword];
    $search="%".$search."%";
    $sql = "SELECT linktitle,linkdescription FROM links WHERE linkdescription LIKE ‘".$search."’ OR linktitle LIKE ‘".$search."’ OR linkurl LIKE ‘".$search."’ ";

    $res = mysql_query($sql);
    $aantal = mysql_num_rows($res);

    if (mysql_num_rows($res) >= 1)
    {
    echo "<b> $aantal </b> Search results for <b>$HTTP_POST_VARS[searchword]</b>:<br /><br />";
    echo "<table width=100% border=1 bordercolor=’#C0C0C0′ cellspacing=0 cellpadding=0>";
    while ($row = mysql_fetch_array($res))
    {
    echo "<tr bgcolor=’#cccccc’><td border=’0′ background=’images/bar.gif’><b>$row[linktitle]</b></td></tr>";
    echo "<tr><td colspan=’2′><p>$row[linkdescription]</p></td></tr>";
    }
    echo "</table>";
    echo "<br /><a href="?p=search" title="search again">Search again</a>";
    }
    else
    {
    echo "<p>There where no results matching <b> $HTTP_POST_VARS[searchword]</b>.</p>";

    echo "<p><a href="?p=search" title="search again">Search again</a></p>";
    }
    [/code:1:17f72a30c9]

    Any comments r welcome:)

    Bijdrager
    tennapel

    @darkraver: je vroeg me in een PB of ik een geode methode wist voor het opslaan van wachtwoorden e.d.:

    http://phpsec.org/articles/2005/password-hashing.html

    Verder kan je dan iedere PHP pagina beginnen op de volgende manier:
    [code:1:56b99f89e1]
    <?php require_once(init.php); ?>
    [/code:1:56b99f89e1]

    In init.php zet je dan de volgende code:
    [code:1:56b99f89e1]
    session_start();
    require_once("functies.php");

    $password = GetPassword($_SESSION[’user’]);

    if($_SESSION[’password’] != $password) {
    header("Location: login.php");
    exit;
    }
    [/code:1:56b99f89e1]

    Eerst wordt het wachtwoord opgehaald via een functie. Die functie staat in functies.php. Het is de functie uit het artikel, waarmee je een wachtwoord ophaalt uit de database, op basis van een gebruikersnaam.

    Wanneer er geen sessie is wordt je automatisch doorgelinkt naar een login pagina. Wanneer er wel een sessie is wordt gecontroleerd op het opgegeven wachtwoord wel en gelijk is aan het wachtwoord in de database.

    Hoe worden die sessie variabelen ‘user’ en wachtwoord gevuld?

    Dat doe je door in login.php een formulier te zetten waar je een gebruikersnaam en wachwoord opvraagt:
    [code:1:56b99f89e1]
    session_start();
    require_once("functies.php");

    $password = GetPassword($_POST[’user’]);

    if(!$_POST[submit] or $_POST[password] != $password) {
    $s .= ‘<form method="post" action="login.php">’."n";
    $s .= ‘<p>’."n";
    $s .= ‘Gebruiker: <input type="text" name="user" /><br />’."n";
    $s .= ‘Wachtwoord: <input type="text" name="password" /><br />’."n";
    $s .= ‘<input type="submit" name="submit" />’."n";
    $s .= ‘<p>’."n";
    $s .= ‘</form>’."nn";

    echo $s;
    }
    elseif ($_POST[wachtwoord] == $password) {
    $_SESSION[’password’] = $password;
    $_SESSION[’user’] = $_POST[’user’];
    header("Location: index.php");
    exit;
    }
    [/code:1:56b99f89e1]

    Wanneer de correcte combinatie van wwachtwoord en gebruikersnaam is ingevoerd wordt doorgelinkt naar index.php.

    Index.php begint zelf weer met de eerste regel waarin init.php wordt opgevraagd. Wachtwoord wordt gecontroleerd en dit is nu correct en de rest van de pagina wordt uitgevoerd.

    Bijdrager
    DarkRaverNL

    Ik gerbuikte nu:

    [code:1:5e56d8e8c8]

    <?php

    session_start();

    if (!isset($_SESSION[’db_is_logged_in’]) || $_SESSION[’db_is_logged_in’] !== true) {
    // not logged in, move to login page
    header(’Location: login.php’);
    exit;
    } ?>

    [/code:1:5e56d8e8c8]

    Zal is naar de jouwe kijken:)

    Bijdrager
    DarkRaverNL

    Dit bedoel je:

    [code:1:ece5d8fe96]

    <?php

    /* Check user details */

    $passwordHash = sha1($_POST[’password’]);

    $sql = ‘SELECT username FROM user WHERE username = ? AND passwordHash = ?’;
    $result = $db->query($sql, array($_POST[’username’], $passwordHash));
    if ($result->numRows() < 1)
    {
    /* Access denied */
    echo ‘Sorry, your username or password was incorrect!’;
    }
    else
    {
    /* Log user in */
    printf(’Welcome back %s!’, $_POST[’username’]);
    }

    ?>

    [/code:1:ece5d8fe96]
    ?

19 berichten aan het bekijken - 1 tot 19 (van in totaal 19)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.