/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
ereg();
Fra : Alexander P.


Dato : 25-09-05 14:47

jeg sidder her og leger med en lille gæstebog på www.halsa.1go.dk

og jeg vil gerne havde så at når man skriver sin hjemmeside i
formen,så bliver navnet til et link og så kommer der http://
foran, hvis IKKE, man har skrevet det selv, og hvis folk skriver
"jeg har ingen" eller lign. så bliver der ikke noget link (der
tester jeg om det er et website ved at se om det indeholder et
"." (punktum..))

men den bliver ved med at melde fejl, det virkede før jeg har kun
indsat dette, så jeg regner med her er fejlen ét sted:

if(ereg (".", $hp)) {
   if(ereg("http://", $hp)) {
      $navn = "<a href=\"$hp\">$navn</a>";
   }else{
      $navn = "<a href=\"http://$hp\">$navn;
   }else{
   $navn = $navn;
}
}

- dog her kommer resten af koden

<html>
<head>
<meta http-equiv="imagetoolbar" content="no">
<link rel="stylesheet" type="text/css" href="../css/tagwall.css">
</head>
<body>
<div id="head">- Tagwall</div>
<br>
<form action="gem.php" method="post">
<div id="alm"><b>Navn:</b></div>
<input type="text" name="navn">
<div id="alm"><b>E-Mail:</b> * E-mailen offentliggøres ikke</div>
<input type="text" name="epost">
<div id="alm"><b>Hjemmeside:</b> (uden http://)

<input type="text" name="hp">
<div id="alm"><b>Besked:</b></div>
<textarea cols="27" rows="6" name="besked"></textarea>
<input type="image" src="images/tag.jpg" id="2" border="0">
</form>
<hr>
<br>

<?php
require("mysql.php");
$antal_ad_gangen = 7;

if(is_array($HTTP_GET_VARS)) {
$start_nr = $HTTP_GET_VARS['start_nr'];
} elseif (is_array($_GET)) {
$start_nr = $_GET['start_nr'];
}

if(!$start_nr || $start_nr < 0) {
$start_nr = 0;
}

$sql = "select id, navn, epost, hp, date_format(tid, '%e/%c %Y,
%H:%i') as tiden, besked from tagwall order by tid desc limit
$start_nr, $antal_ad_gangen";
$taeller_sql = "select count(*) as antal from tagwall";

aabn_forbindelse_og_vaelgdb();
$resultat = sql_spoerg_og_faa_svar($sql);
$optaelling = sql_spoerg_og_faa_svar($taeller_sql);
luk_forbindelse();

extract($optaelling[0]);

if($antal > ($start_nr + $antal_ad_gangen)) {

$naeste_start_nr = $start_nr + $antal_ad_gangen;
$naeste_nav = "<a
href=\"$PHP_SELF?start_nr=$naeste_start_nr\"><img
src=\"images/naste.jpg\" border=\"0\"></a>";

} else {

$naeste_nav = "<img src=\"images/naste_dis.jpg\"
border=\"0\">";

}

if($start_nr > 0 && ($start_nr - $antal_ad_gangen) < $antal) {

$forrige_start_nr = $start_nr - $antal_ad_gangen;
$forrige_nav = "<a
href=\"$PHP_SELF?start_nr=$forrige_start_nr\"><img
src=\"images/forrige.jpg\" border=\"0\"></a>";

} else {

$forrige_nav = "<img src=\"images/forrige_dis.jpg\"
border=\"0\">";

}

$nav = "<table width=\"100%\" border=\"0\" cellpadding=\"0\"
cellspacing=\"0\">
<tr><td align=\"left\" width=\"33%\">$forrige_nav</td>
<td align=\"center\" width=\"34%\">&nbsp;</td>
<td align=\"right\" align=\"33%\">$naeste_nav</td></tr>
</table>";

echo "$nav <p />";


if(count($resultat) < 1) {

echo "<div id=\"alm\">Der er ikke skrevet i Tagwallen, eller
der er sket en fejl - kontakt webmaster</div>";

} else {

for($i=0;$i<count($resultat);$i++) {

extract($resultat[$i]);

$besked = stripslashes($besked);
$navn = stripslashes($navn);
$epost = stripslashes($epost);
$hp = stripslashes($hp);

if($html_p != "t") {
$navn = htmlentities($navn);
$epost = htmlentities($epost);
$hp = htmlentities($hp);
$besked = htmlentities($besked);
}

$besked = nl2br($besked);


if(ereg (".", $hp)) {
   if(ereg("http://", $hp)) {
      $navn = "<a href=\"$hp\">$navn</a>";
   }else{
      $navn = "<a href=\"http://$hp\">$navn;
   }else{
   $navn = $navn;
}
}
?>

<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td width="50%"><div align="left" id="fed">Skrevet af: <?php
echo $navn; ?></div></td>
<td width="50%"><div align="right" id="fed"><?php echo $tiden;
?></div></td></tr></table>
<div id="alm"><?php echo $besked; ?>
<br>
<hr>
<br>
</div>
<?php
}

echo $nav;

}

?>

og jeg får fejlen:


Parse error: parse error, unexpected T_LNUMBER in
/free1go/h/a/www.halsa.1go.dk/tagwall/index.php on line 114

$navn = "<a href=\"$hp\">$navn</a>"; er linje 114

håber i kan/vil hjælpe mig :)

-/Ap

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Martin Ploug (25-09-2005)
Kommentar
Fra : Martin Ploug


Dato : 25-09-05 20:14

> men den bliver ved med at melde fejl, det virkede før jeg har kun
> indsat dette, så jeg regner med her er fejlen ét sted:
>
> if(ereg (".", $hp)) {
> if(ereg("http://", $hp)) {
> $navn = "<a href=\"$hp\">$navn</a>";
> }else{
> $navn = "<a href=\"http://$hp\">$navn;
> }else{
> $navn = $navn;
> }
> }


Hvad står der i fejlmeddelelsen?

Jeg kom i tanke om at jeg har nedenstående script liggende.
Jeg ved ikke, om det kan bruges.

$str = $row['URL'];
$strtjek = substr($str,0,7); //Tæller de første 7 tegn
if($strtjek == "http://") {
$url = $row['URL']; //Tjekker om de første 7 tegn er Http:// hvis det er
bliver $url sat til den orginale adresse
} else {
$url = "http://".$row['URL']; //Hvis ikke bliver der sat Http:// foran
}

echo "<a class='underlink' href=\"$url\"
target='_blank'>".$row['URL']."</a>";

// her skriver den så linket med <a class='underlink' href="
<http://www.adresse.dk>" target='_blank'>

www.adresse.dk/ <http://www.adresse.dk/> http://www.adresse.dk!



Med venlig hilsen
Martin











--
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 85 spam-mails.
Betalende brugere får ikke denne besked i deres e-mails.
Hent gratis SPAMfighter her: www.spamfighter.dk



Martin (26-09-2005)
Kommentar
Fra : Martin


Dato : 26-09-05 04:00

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Alexander P. wrote:
> jeg sidder her og leger med en lille gæstebog på www.halsa.1go.dk
>
> og jeg vil gerne havde så at når man skriver sin hjemmeside i
> formen,så bliver navnet til et link og så kommer der http://
> foran, hvis IKKE, man har skrevet det selv, og hvis folk skriver
> "jeg har ingen" eller lign. så bliver der ikke noget link (der
> tester jeg om det er et website ved at se om det indeholder et
> "." (punktum..))

Lad vær med at starte ereg motoren op for at tjekke et enkelt tegn

if(trim(substr_count($str,".")) < 1) return true; else return false;

Her tjekker den om der er 1 . somewhere i $str, hvis ikk returnes false;
ellers true.

Jeg plejer dog at køre den med minimum 2 punktummer, men så ska folk
også skrive www.dinside.dk

og i din anden ereg, der kan du også bruge en indbygget funktion for at
se de første 7 tegn i en streng.

Se Martin Ploug's svar for den løsning

>
> men den bliver ved med at melde fejl, det virkede før jeg har kun
> indsat dette, så jeg regner med her er fejlen ét sted:

Måske du lige skulle skrive hvilken fejl :) - istedet for bare "fejl"


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)

iD8DBQFDN2Q4AxDV/8Li8MYRAgpdAJ47xv/9peeLJqKZp2NcsTinuDiJuACdHwDe
IISnjYPYWhblp1v8Fmy7fNQ=
=nSyd
-----END PGP SIGNATURE-----

Alexander P. (26-09-2005)
Kommentar
Fra : Alexander P.


Dato : 26-09-05 15:00

$str = $row['URL'];
$strtjek = substr($str,0,7);
if($strtjek == "http://") {
$url = $row['URL'];
} else {
$url = "http://".$row['URL'];
}
$navn = "<a href=\"$url\" target=\"_blank\">$navn</a>"


- jeg har prøvet at gøre som i siger, men jeg forstår ikke rigtigt. nu
linker den bare til http:/// ligemget hvad, og jeg har omdøbt min tabel
osv..

nogen der ka gi en hånd?

-/Ap

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Martin Ploug (26-09-2005)
Kommentar
Fra : Martin Ploug


Dato : 26-09-05 20:30

"Alexander P." <awpdk@hotmail.com> wrote in message
news:4337fede$0$49011$14726298@news.sunsite.dk...
> $str = $row['URL'];
> $strtjek = substr($str,0,7);
> if($strtjek == "http://") {
> $url = $row['URL'];
> } else {
> $url = "http://".$row['URL'];
> }
> $navn = "<a href=\"$url\" target=\"_blank\">$navn</a>"
>
>
> - jeg har prøvet at gøre som i siger, men jeg forstår ikke rigtigt. nu
> linker den bare til http:/// ligemget hvad, og jeg har omdøbt min tabel
> osv..
>
> nogen der ka gi en hånd?

Har du i din formular givet indtastningsfeltet navnet URL (name="URL") ?

Skriver den http:// eller http:/// (altså med tre streger) ?

Kan du vise hele koden på en eller anden måde?

- Martin



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste