/ 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
Validerings-problem
Fra : Dennis Munding


Dato : 28-03-06 21:28

Hej NG!

Jeg har hentet et færdigt script til forsendelse af nyhedsbreve.
Det er skrevet i PHP, og nu sidder jeg og prøver at validere det efter
XHTML-strict standarderne, men jeg er løbet ind i et problem:

<?
$counter = 0;
while ($row = mysql_fetch_assoc($result))
{
$time_diff = floor((time() - $row[last_sub_req_date])/86400);

echo "<label class=\"alle\" for=\"$row[address]\"><input type=\"checkbox\"
name=\"delete[]\" value=\"$row[address]\" id=\"$row[address]\"
onclick=\"CheckboxCheck()\" />";

Ovenstående kodestump giver følgende validerings-fejl:
1: Error Line 174 column 38: character "@" is not allowed in the value of
attribute "for".
2: Error Line 174 column 142: character "@" is not allowed in the value of
attribute "id".

Problemet er, at $row[address] er en email-adresse, og at den
(selvfølgelig!) indeholder et @ - hvordan kan jeg lave det, så det både
validerer og virker??

På forhånd mange tak for svar!


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



 
 
Benny Nissen (28-03-2006)
Kommentar
Fra : Benny Nissen


Dato : 28-03-06 23:21

Dennis Munding ramte sit keyboard den 28-03-2006 22:27 og fik dette ud
af det:

> Problemet er, at $row[address] er en email-adresse, og at den
> (selvfølgelig!) indeholder et @ - hvordan kan jeg lave det, så det både
> validerer og virker??

Hvad med at replace @ med noget andet ? F.eks. _ (underscore)

Kig på str_replace i manualen.


--
Benny Nissen
www.bennynissen.dk

Dennis Munding (29-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 29-03-06 07:47

Hej Benny!
"Benny Nissen" <news@bennynissen.dk> skrev i en meddelelse
news:4429b6df$0$67259$157c6196@dreader2.cybercity.dk...
> Dennis Munding ramte sit keyboard den 28-03-2006 22:27 og fik dette ud af
> det:

Fandt du selv på den?

>> Problemet er, at $row[address] er en email-adresse, og at den
>> (selvfølgelig!) indeholder et @ - hvordan kan jeg lave det, så det både
>> validerer og virker??
>
> Hvad med at replace @ med noget andet ? F.eks. _ (underscore)

Måske en mulighed - ved ikke hvilken effekt det vil få på scriptet....

> Kig på str_replace i manualen.

Det vil jeg prøve (teknisk engelsk igen... :-/).


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



David Trasbo (29-03-2006)
Kommentar
Fra : David Trasbo


Dato : 29-03-06 18:22

Dennis Munding skrev:

> Problemet er, at $row[address] er en email-adresse, og at den
> (selvfølgelig!) indeholder et @ - hvordan kan jeg lave det, så det både
> validerer og virker??

Værdierne "name" og "for" har ingen betydning for hvordan serveren eller
browseren modtager de data, der er indtastet i formularen.

Så hvis jeg var dig, ville jeg bare kalde feltet for eksempelvis "e-mail".

--
David Trasbo.
Vær en god Usenet-bruger. http://usenet.dk/netikette.



Dennis Munding (30-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 30-03-06 09:01

Hej David!
"David Trasbo" <datra@mail.dk> skrev i en meddelelse
news:442ac274$0$15791$14726298@news.sunsite.dk...
> Værdierne "name" og "for" har ingen betydning for hvordan serveren eller
> browseren modtager de data, der er indtastet i formularen.
>
> Så hvis jeg var dig, ville jeg bare kalde feltet for eksempelvis "e-mail".

Det vil jeg da lige prøve...

Tak for tippet - kommer med en tilbagemelding senere...


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



Dennis Munding (30-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 30-03-06 09:15

Hej igen!
"Dennis Munding" <mail@invalid.dk> skrev i en meddelelse
news:jfMWf.25$Kl3.1@news.get2net.dk...
>> Så hvis jeg var dig, ville jeg bare kalde feltet for eksempelvis
>> "e-mail".
>
> Det vil jeg da lige prøve...
>
> Tak for tippet - kommer med en tilbagemelding senere...

Det virkede desværre ikke... :-/
Måske fordi jeg glemte at nævne, at det er en blanding af javascript og php:

<script type="text/javascript">
<!-- //
function swap(group)
{
if (document.getElementById(group).style.height == '200')
{
document.getElementById(group).style.height= '30';
}
else
{
document.getElementById(group).style.height= '200';
}
}

function do_divs(x)
{
var divs = document.getElementsByTagName('DIV');

if(x == 1)
{
for(var i=0;i<=(divs.length)-5;i++)
{
document.getElementById(i).style.height= '200';
}
}
if(x == 0)
{
for(var i=0;i<=(divs.length)-5;i++)
{
document.getElementById(i).style.height= '30';
}
}
}
//-->
</script>

<?
$counter = 0;
while ($row = mysql_fetch_assoc($result))
{
$queue_query = "SELECT COUNT(*) FROM mailinglist_queue WHERE message_id =
'$row[id]'";
$queue_result = mysql_query($queue_query) or die("Forespørgsel fejlede : "
.. mysql_error());
$queue_count = mysql_fetch_row($queue_result);

$percent = floor((($row[count]-$queue_count[0])/$row[count])*100);
echo "<table>\n";
echo "<tr><td>Oprettet: " . date("j-n-Y @ H:i ",$row[created]) .
"</td><td>";
echo "Sendt til: $row[count] abonnent(er) (<img src=\"bar.php?p=$percent\"
alt=\"bar.gif\" title=\"\" /> $percent% udført) ";
echo "<a href=\"popwin.php?m=$row[id]\"
onclick=\"NewWindow(this.href,'link','500','280','yes');return false;\"
title=\"Klik for at få vist nyheden i et nyt vindue\"><img alt=\"Klik for at
få vist nyheden i et nyt vindue\" src=\"newwin.gif\" /></a></td>\n";
echo "<td><a onclick=\"return besure();\"
href=\"archives.php?m=$row[id]\">Slet?</a></td></tr>\n";
echo "<tr><td>Begynd forsendelse: " . date("j-n-Y @ H:i ",$row[queued]) .
"</td><td>Emne: $row[subject]</td><td>Send som: $row[format]</td></tr>\n";

echo "<tr><td><div onclick=\"swap('$counter');\" id=\"$counter\">\n"; /*
Det er i denne linie, at det går galt [1] */

echo nl2br(htmlspecialchars($row[message])) . "</div></td></tr></table>\n";
$counter++;
}
?>

1: $counter er sat til nul, hvilket et id ikke må starte med. Hvis jeg
ændrer det til 1, så validerer det, men virker ikke (vis/skjul nyhed)...


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



David Trasbo (30-03-2006)
Kommentar
Fra : David Trasbo


Dato : 30-03-06 11:11

Dennis Munding skrev:

>>> Så hvis jeg var dig, ville jeg bare kalde feltet for eksempelvis
>>> "e-mail".
>>
>> Det vil jeg da lige prøve...

Det kan ikke passe. Men jeg skrev altså forkert igår. Da jeg skrev 'name'
*mente* jeg 'id'. Hvis 'name' er ændret der, og ikke i siden der modtager
dataen, vil det logisk nok ikke virke.

Men jeg vil meget gerne se et link til siden og nogle .phps-filer,
indeholdende filernes originale kildekode.

--
David Trasbo.
Vær en god Usenet-bruger. http://usenet.dk/netikette.



Dennis Munding (30-03-2006)
Kommentar
Fra : Dennis Munding


Dato : 30-03-06 17:58

Hej David!
"David Trasbo" <datra@mail.dk> skrev i en meddelelse
news:442baebd$0$15788$14726298@news.sunsite.dk...
> Det kan ikke passe. Men jeg skrev altså forkert igår. Da jeg skrev 'name'
> *mente* jeg 'id'. Hvis 'name' er ændret der, og ikke i siden der modtager
> dataen, vil det logisk nok ikke virke.

Der er ikke nogen side, som modtager data - der bliver derimod hentet data
fra en database, som så bliver behandlet på "problem-siden"...

> Men jeg vil meget gerne se et link til siden og nogle .phps-filer,
> indeholdende filernes originale kildekode.

Et link til siden kan jeg af sikkerheds-grunde ikke give dig, men jeg kan
give dig et link til alle filerne:

http://www.skovaa-munding.dk/Downloads/Program/SML_Dansk.zip

Original-filerne ligger i mappen "SML (Original)", og det er filen
"archives.php" i mappen "admin", som ligger i mappen "simple"....
Hvis det er for besværligt at overskue, kan jeg godt ligge filen
"archives.php" op på nettet som en *.phps-fil...


Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.eds-denmark.dk/



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

Månedens bedste
Årets bedste
Sidste års bedste