Avatar billede krydset Nybegynder
06. januar 2004 - 10:34 Der er 32 kommentarer og
1 løsning

kan ikke hente bestemt tekst

Hejsa jeg sidder og laver noget dvd kartotek men er kommet ud for et underligt spm, jeg skal kunne se i de forskelleige kategorier hvad film der ligger der, det virker osse fint bare ikke når der står spdan her

http://www.pc-dk.dk/video/admin/kategori.php?kategori=Action/Thriller

men hvis der står sådan her virker det
http://www.pc-dk.dk/video/admin/kategori.php?kategori=Action

Hvorfor virker den første ikke?

der ligger en film under den første Action/Thriller så det er ikke derfor
Avatar billede Slettet bruger
06. januar 2004 - 10:42 #1
Avatar billede Slettet bruger
06. januar 2004 - 10:46 #2
Før du skriver dit kategorinavn, skal du køre det igennem urlencode-funktionen.

Det kan endda være en god ide at sende det igennem htmlentities også

$nytekst=htmlentities(urlencode($adressetekst));
echo "http://www.pc-dk.dk/video/admin/kategori.php?$nytekst";
Avatar billede krydset Nybegynder
06. januar 2004 - 10:47 #3
Okay, har prøvet det her men det giver ingen forskel i linket

<td><?PHP echo "<a href='kategori.php?kategori=".urlencode($row[kategori])."'>$row[kategori]</a>"?></td>

Det ser stadig sådan her ud
http://www.pc-dk.dk/video/admin/kategori.php?kategori=Action/Thriller
Avatar billede krydset Nybegynder
06. januar 2004 - 10:52 #4
http://www.pc-dk.dk/video/admin/kategori.php?kategori=Action%2FThriller

nu ser det sådan ud men der bliver stadig ikke vist noget??
Avatar billede jensgram Nybegynder
06. januar 2004 - 10:53 #5
Jamen / er også ok. Prøv lige at udskrive $_GET['kategori'] når du skriver:

http://www.pc-dk.dk/video/admin/kategori.php?kategori=Action/Thriller

Bør være:

Action/Thriller
Avatar billede jensgram Nybegynder
06. januar 2004 - 10:54 #6
Så skal du bruge urldecode bagefter...
Avatar billede Slettet bruger
06. januar 2004 - 10:58 #7
Ifølge standarden er / et reserveret tegn, så det SKAL urlencodes.

An HTTP URL takes the form:
http://<host>:<port>/<path>?<searchpart>

Within the <path> and <searchpart> components, "/", ";", "?" are reserved.  The "/" character may be used within HTTP to designate a hierarchical structure.

PHP urldecoder automatisk variable, der bliver modtaget som url.
Avatar billede jensgram Nybegynder
06. januar 2004 - 10:59 #8
sandbox > Hmm, sorry ;)
Avatar billede krydset Nybegynder
06. januar 2004 - 11:02 #9
nu hedder med link der er urlencoded hvor jeg bruger echo $_GET[kategori]; ud fra det kommer det her
Action/Thriller so osse står i databasen under kategori
Avatar billede krydset Nybegynder
06. januar 2004 - 11:04 #10
dvs den bliver url decdoded
Avatar billede krydset Nybegynder
06. januar 2004 - 11:04 #11
Men der bliver intet vist :-(
Avatar billede jakoba Nybegynder
06. januar 2004 - 11:05 #12
Det er vist meningen du selv skal dele op når du modtager den parameter i php scriptet:

$kategorier = explode( "/", $kategori );
$betingelse = ""
for ( $i=0; $i<count($kategorier); $i++ ) {
    if ( $i != 0 ) $betingelse .= " OR ";
    $betingelse .= "kategori = '{$kategorier[$i]}'";
}
$resultatset = mysql_query( "SELECT * FROM tabelnavn where $betingelse" ) or die(mysql_error());

mvh JakobA
Avatar billede Slettet bruger
06. januar 2004 - 11:05 #13
Så er det nok din query, den er gal med.
Avatar billede krydset Nybegynder
06. januar 2004 - 11:07 #14
queryen virker men kun når der ikke er / med i linket. men burde det ikke virke med - så, eller er det osse med i url
Avatar billede Slettet bruger
06. januar 2004 - 11:07 #15
Jakob er måske inde på noget af det rigtige:

Er der tale om en enkelt kategori, der hedder Action/Thriller eller skal det fortolkes som en film, der hører i begge kategorier?
Avatar billede krydset Nybegynder
06. januar 2004 - 11:10 #16
Det virker heller ikke med thriller, hm skod jeg må kigge lidt på det
Avatar billede krydset Nybegynder
06. januar 2004 - 11:10 #17
Action/Thriller er en kategori
Avatar billede Slettet bruger
06. januar 2004 - 11:12 #18
Prøv at vise os din query. Som sagt tror jeg, det er der, den går galt.
Avatar billede krydset Nybegynder
06. januar 2004 - 11:16 #19
Okay problemet er delvist løst problemet er at hvis der kun ligger 1 fil i den pågældene kategori bliver de ikke vist, er der nogen der har en forklaring på dette?
Avatar billede krydset Nybegynder
06. januar 2004 - 11:17 #20
queryen er her, men det er ikke den

$res = mysql_query("SELECT * FROM film WHERE kategori = '$_GET[kategori]'") or die(mysql_error());

da det virker bare der ligger mere en en post i hver kategori
Avatar billede Slettet bruger
06. januar 2004 - 11:19 #21
Så er det måske koden udenom din query. Og du har ret - selve din query er fin nok.

Kan det være at din kode laver noget, der smider den første væk eller noget i den stil?
Avatar billede krydset Nybegynder
06. januar 2004 - 11:25 #22
hvis jeg kører den her sql i phpmyadmin får jeg 2 poster tilbage som er helt korrektSELECT *

FROM `film` WHERE kategori = 'ACTION/Thriller' LIMIT 0 , 30

men kører jeg den i php i scriptet får jeg kun 1 post tilbage det er wierd
Avatar billede krydset Nybegynder
06. januar 2004 - 11:26 #23
Hele scriptet er her

<?PHP
session_start();

echo $_GET[kategori];
if(!$_SESSION[tjek] == "OK") {
    header("location:logget_ind.php");
} else {
include("../dbconnect.php");
$res = mysql_query("SELECT * FROM `film` WHERE kategori = 'action/thriller' LIMIT 0 , 30 ") or die(mysql_error());
while($row = mysql_fetch_array($res)) {
?>
<link rel="stylesheet" type="text/css" href="style.css">
<table border="1" bgcolor="Silver">
    <tr>
        <td>Id</td>
        <td>Titel</td>
        <td>Beskrivelse</td>
        <td>Kategori</td>
        <td>Længde</td>
        <td>År</td>
        <td>Ejer</td>
        <td>Status</td>
        <td>Note</td>
        <td>Dato</td>
        <td>Covers</td>
        <td>Type</td>
    </tr>

<?PHP
while ($row = mysql_fetch_array($res))
{
   
?>


   
    <tr>
        <td><?PHP echo $row[id] ?></td>
        <td><?PHP echo $row[titel] ?></td>
        <td><?PHP echo substr($row[beskrivelse],0,50) ?>....<a href="laes_resten_film.php?function=laes&id=<?PHP echo $row[id]; ?>">Læs det hele</a></td>
        <?PHP $nytekst=htmlentities(urlencode($adressetekst)); ?>
        <td><?PHP echo "<a href='kategori.php?kategori='$nytekst'>$row[kategori]</a>"?></td>
        <td><?PHP echo $row[lengde] ?> Min.</td>
        <td><?PHP echo $row[aar] ?></td>
        <td><?PHP echo "<a href='besked.php?modtager=$row[ejer]'>$row[ejer](send besked)</a>"?></td>
        <td><?PHP echo $row[status] ?></td>
        <td><?PHP echo $row[note] ?></td>
        <td><?PHP echo $row[dato] ?></td>
       
        <?PHP
        if($row[pic_sti] == "NULL" or $row[pic_sti] == "") {
        ?>
           
        <td><?PHP echo "<a href='upl_cover.php?id=$row[id]'>Upload cover</a>" ?></td>
           
       
       
        <?PHP } else if ($row[pic_sti] !== "NULL") { ?>
           
        <td><?PHP echo "<a href='covers/$row[pic_sti]' target='_blank'>Hent cover her</a>" ?></td>
        <?PHP } ?>
        <td><?PHP echo $row[type]; ?></td>
       
       
    </tr>
   


<?PHP
}
}
?>
<?PHP
}
?>
</table>
<a href="logget_ind.php">Tilbage</a>
Avatar billede krydset Nybegynder
06. januar 2004 - 11:26 #24
Dette script SKULLE give 2 poster men giver kun 1
Avatar billede Slettet bruger
06. januar 2004 - 11:28 #25
Ret til:

<?PHP
session_start();

echo $_GET[kategori];
if(!$_SESSION[tjek] == "OK") {
    header("location:logget_ind.php");
} else {
include("../dbconnect.php");
$res = mysql_query("SELECT * FROM `film` WHERE kategori = 'action/thriller' LIMIT 0 , 30 ") or die(mysql_error());
?>
<link rel="stylesheet" type="text/css" href="style.css">
<table border="1" bgcolor="Silver">
    <tr>
        <td>Id</td>
        <td>Titel</td>
        <td>Beskrivelse</td>
        <td>Kategori</td>
        <td>Længde</td>
        <td>År</td>
        <td>Ejer</td>
        <td>Status</td>
        <td>Note</td>
        <td>Dato</td>
        <td>Covers</td>
        <td>Type</td>
    </tr>

<?PHP
while ($row = mysql_fetch_array($res))
{
 
?>


 
    <tr>
        <td><?PHP echo $row[id] ?></td>
        <td><?PHP echo $row[titel] ?></td>
        <td><?PHP echo substr($row[beskrivelse],0,50) ?>....<a href="laes_resten_film.php?function=laes&id=<?PHP echo $row[id]; ?>">Læs det hele</a></td>
        <?PHP $nytekst=htmlentities(urlencode($adressetekst)); ?>
        <td><?PHP echo "<a href='kategori.php?kategori='$nytekst'>$row[kategori]</a>"?></td>
        <td><?PHP echo $row[lengde] ?> Min.</td>
        <td><?PHP echo $row[aar] ?></td>
        <td><?PHP echo "<a href='besked.php?modtager=$row[ejer]'>$row[ejer](send besked)</a>"?></td>
        <td><?PHP echo $row[status] ?></td>
        <td><?PHP echo $row[note] ?></td>
        <td><?PHP echo $row[dato] ?></td>
     
        <?PHP
        if($row[pic_sti] == "NULL" or $row[pic_sti] == "") {
        ?>
         
        <td><?PHP echo "<a href='upl_cover.php?id=$row[id]'>Upload cover</a>" ?></td>
         
     
     
        <?PHP } else if ($row[pic_sti] !== "NULL") { ?>
         
        <td><?PHP echo "<a href='covers/$row[pic_sti]' target='_blank'>Hent cover her</a>" ?></td>
        <?PHP } ?>
        <td><?PHP echo $row[type]; ?></td>
     
     
    </tr>
 


<?PHP
}
?>
<?PHP
}
?>
</table>
<a href="logget_ind.php">Tilbage</a>
Avatar billede Slettet bruger
06. januar 2004 - 11:29 #26
Fejlen var netop, at scriptet havde 2 while-løkker, men kun brugte resultatet i den inderste. Dermed blev første række, som var hentet af den yderste smidt væk.
Avatar billede krydset Nybegynder
06. januar 2004 - 11:30 #27
oKAY HVAD VAR DET LIGE DU ÆNDREDE??
Avatar billede krydset Nybegynder
06. januar 2004 - 11:32 #28
Hold da op det kunne jeg godt se nu, damn en fejl at lave Takker for det
skal du have flere point eller er det ok med 15?
Avatar billede Slettet bruger
06. januar 2004 - 11:33 #29
Den var jo nem at finde, så 15 er fint.
Avatar billede krydset Nybegynder
06. januar 2004 - 11:34 #30
oki
Avatar billede Slettet bruger
06. januar 2004 - 11:35 #31
Og, hvis du sørger for at indrykke din kode korrekt, så er det meget lettere at fange den slags fejl.
Avatar billede krydset Nybegynder
06. januar 2004 - 11:44 #32
Ja ved det godt men er ikke så god til det indrykning endnu, jeg syns det ser ok ud, men har fået et par noticer om det :-(

Findes der noget på nettet om indrykninger så man snart kan få det lært?
Avatar billede Slettet bruger
06. januar 2004 - 12:21 #33
Hvis du har et fornuftigt forhold til engelsk, er her lidt god inspiration. De handler dog alle sammen om generel kodestil, men har naturligvis noget om indrykning også.

http://www.phpbuilder.com/columns/tim20010101.php3
http://www.developer.com/lang/php/article.php/2193341
http://www.phpfreaks.com/tutorials/35/0.php

Og den ultimative, som kode skal overholde for at blive accepteret som officiel PHP-udvidelse: http://pear.php.net/manual/en/standards.php
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester