webForumDet fria alternativet

if (empty($siteurl))

7 svar · 278 visningar · startad av Nina

NinaMedlem sedan feb. 200358 inlägg
#1

Försöker använda den kodsnutten till att stoppa så att man inte kommer till root mappen ifall man lämnar sidlänken tom när man signerar i gästboken men får den inte att fungera
Några förslag?

MatteMedlem sedan aug. 20002 975 inlägg
#2

Skulle du kunna visa lite kod, så är det lättare att förstå vad du frågar efter.

Vad är $siteurl ?

NinaMedlem sedan feb. 200358 inlägg
#3

Det här är processing.php, den som skickar inlägget

// This is form.php 
//Turns the code users put for a smilie into html so 
you can view the smilie
$comments=str_replace(":)","<img src=smilis/s30.gif>",$comments);
$comments=str_replace(":(","<img src=smilis/s34.gif>",$comments);
$comments=str_replace(":/","<img src=smilis/s33.gif>",$comments);
//inserts the information

$q="INSERT into guestbook (id,name,email,sitename,siteurl,date,ip,comments)
VALUES ('','$name','$email','$sitename','$siteurl',now(),'$REMOTE_ADDR','$comments')"; 

$result= mysql_query($q, $connection) or die 
("Could not execute query : $q." . mysql_error()); 

if ($result)
{

$siteurl = 'view.php';
header('Location: '.$siteurl);

} 

?>

Siteurl är länken till personens hemsida, dne som skriver ett inlägg i gästboken

MatteMedlem sedan aug. 20002 975 inlägg
#4

Testa det här:

if ($result)
{

   $siteurl = trim($siteurl); // Tar bort eventuella blanksteg i början och slutet

   if (substr($siteurl, 0, 7) != 'http://') {
      $siteurl = 'http://'.$siteurl;
   }

   $siteurl = empty($siteurl) ? 'view.php' : $siteurl;

   header('Location: '.$siteurl);
   exit;

}

En fråga för att stilla min nyfikenhet lite :)
Varför ska den som skrivit i gästboken komma till sin egen hemsida ?

dectgapMedlem sedan sep. 20021 655 inlägg
#5

Vad är meningen med att kolla om $siteurl är tom?
Om den tidigare var tom kommer den efter den sista if-satsen att innehålla "http://", och då är den ändå inte tom, så $siteurl kommer aldrig att få värdet "view.php", om jag inte har läst helt fel.

NinaMedlem sedan feb. 200358 inlägg
#6

Nej nej den spom skrivit ska inte komma till sin sida utan när någon läser i gästboken och klickar på personens länk så hamnar man i root mappen om någon inte skrivit hemside adress i sitt inlägg, gästboken har inga if alls så det är väl där kruxet ligger.
Förresten det där fungerade inte..

MatteMedlem sedan aug. 20002 975 inlägg
#7

Men då kör du följande innan du sparar till databasen:

$siteurl = trim($siteurl); // Tar bort eventuella blanksteg i början och slutet

if (!empty($siteurl) && substr($siteurl, 0, 7) != 'http://') {
    $siteurl = 'http://'.$siteurl;
}

// Sen kommer koden för att spara till databasen.

Sen när du listar gästboken från databasen använder du if($empty($variabel)) för att avgöra om det ska bli en länk eller ej.

NinaMedlem sedan feb. 200358 inlägg
#8

Jag löste det till slut nu iaf :)
Tack så mycket... igen *S*

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)