Stuk script nakijken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ernst Jacobs

Ernst Jacobs

26/12/2009 18:17:00
Quote Anchor link
Hallo beste mensen,

ik weet niet of dit toegestaan is, of dat iemand er uberhaubt naar wil kijken, maar ik heb een stukje code geschreven die ik graag door iemand zou willen laten nakijken. Het werkt prima, maar of het netjes en veilig is, dat is mijn vraag. (het is niet een geheel script, maar een klein deel ervan)


de betreffende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
    //Strip whitespace (or other characters) from the beginning and end of the string
    $search = trim($_GET['searchQuery']);
    
    //If something from the form has been submitted
    //Is the search string empty?

    if( strlen($search) < 2 ) {
        echo "Your search query is too small, please search with more than 1 character.";
    }
else {
        //Put the search string in an array
        $keywords = mysql_real_escape_string($search);
        $crit = array();
        foreach(array_filter(explode(' ',$keywords)) as $searchKeyWords)
        
        //Create the WHERE statement
        $crit[] = "(artist.artistname LIKE '%$searchKeyWords%' OR lyrics.songname LIKE '%$searchKeyWords%')";
        $whereStatement = implode(' AND ',$crit);
        
        $sql = "SELECT lyrics.lyricID, artist.artistID, artist.artistname, lyrics.songname
                FROM lyrics
                INNER JOIN artist
                ON lyrics.artistID = artist.artistID
                WHERE $whereStatement"
;
                
        $result = mysql_query($sql);
        //Check for problems with MySQL
        if( mysql_error() ) {
            trigger_error('&nbsp; There seems to be a problem with the connection to the database, if this keeps appearing please. <br />' .mysql_error());
        }
else {    
            //Are there one or more results to show?            
            if( mysql_num_rows($result) >= 1 ) { ?>
    
            
            <table id="myTable" class="tablesorter" border="0" cellpadding="0" cellspacing="1">
                <thead>
                    <tr>
                        <th>Artist</th>
                        <th>Songtitle</th>
                        <th>Album</th>
                    </tr>
                </thead>
            <tbody>
            
        <?php     while($row = mysql_fetch_array($result)) { ?>
                    <tr>
                        <td><?php echo $row['artistname'];?></td>
                        <td class="result_click" onclick="window.location = "><?php echo $row['songname'];?></td>
                        <td><?php echo $row['artistname'];?></td>
                    </tr>
        <?php    }    ?>
        
            </tbody>
        </table>
        
    <?php    } else {
                echo "There are no results to show you.";
            }
        }
    }

?>


Achter de window.location staat een lange link, die heeft een RewriteRule.

Nou, ik hoor het wel, ben benieuwd.
Serellyn
Gewijzigd op 01/01/1970 01:00:00 door Ernst Jacobs
 
PHP hulp

PHP hulp

08/11/2024 12:49:18
 
- Ariën  -
Beheerder

- Ariën -

26/12/2009 19:50:00
Quote Anchor link
Kan je het tussen code-tags plaatsen?
 
Joren de Wit

Joren de Wit

26/12/2009 22:38:00
Quote Anchor link
Een ding dat me op het eerste gezicht opvalt, haal variabelen buiten quotes. Dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
echo 'Een variabele ' . $var;

// In plaats van:
echo "Een variabele $var";
?>
 
Pepijn

Pepijn

26/12/2009 23:26:00
Quote Anchor link
1.Kijk of $_GET['searchQuery'] wel bestaat, als deze nu niet bestaat zal PHP een notice geven.

2. if( mysql_error() ) moet zijn if(!$result)

3. If this keeps appearing please. please WAT?

Persoonlijk zou ik alle output echoen.
Verder is het mooi script.
Gewijzigd op 01/01/1970 01:00:00 door Pepijn
 
Ernst Jacobs

Ernst Jacobs

27/12/2009 00:05:00
Quote Anchor link
Aar schreef op 26.12.2009 19:50:
Kan je het tussen code-tags plaatsen?


Graag, maar wat zijn de code tags?
 
Ernst Jacobs

Ernst Jacobs

27/12/2009 00:06:00
Quote Anchor link
Bedankt voor de reacties tot nu toe! Ze zijn erg behulpzaam, dat is altijd fijn :)
Ik zal de aanpassingen even gaan doorvoeren.

Meer adviezen zijn altijd welkom
 
Joris van Rijn

Joris van Rijn

27/12/2009 01:13:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
 if( strlen($search) < 2 ) {
     //rest
 }
?>


Is het niet zo, dat de like operator niet meer werkt als je string minder dan 3 tekens is?
 
- SanThe -

- SanThe -

27/12/2009 01:46:00
Quote Anchor link
Serellyn schreef op 27.12.2009 00:05:
Aar schreef op 26.12.2009 19:50:
Kan je het tussen code-tags plaatsen?


Graag, maar wat zijn de code tags?

Je script in je post is nu niet echt leesbaar. Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
Gebruik je Afbeelding knop om dit te doen.

SanThe.
 
Ernst Jacobs

Ernst Jacobs

27/12/2009 23:32:00
Quote Anchor link
SanThe schreef op 27.12.2009 01:46:
Serellyn schreef op 27.12.2009 00:05:
Aar schreef op 26.12.2009 19:50:
Kan je het tussen code-tags plaatsen?


Graag, maar wat zijn de code tags?

Je script in je post is nu niet echt leesbaar. Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
Gebruik je Afbeelding knop om dit te doen.

SanThe.


Thanks, geregeld!
 
Ernst Jacobs

Ernst Jacobs

27/12/2009 23:34:00
Quote Anchor link
``Joris,, schreef op 27.12.2009 01:13:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
 if( strlen($search) < 2 ) {
     //rest
 }
?>


Is het niet zo, dat de like operator niet meer werkt als je string minder dan 3 tekens is?


Ik weet niet precies hoe je dat bedoeld, maar ik krijg keurig de melding te zien als er minder dan 2 characters gegeven zijn. en als er 2 of meer characters worden gegeven gaat hij gewoon zoeken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.