Avatar billede mini41 Nybegynder
16. juni 2004 - 14:12 Der er 18 kommentarer og
1 løsning

Enkel rettelse til script

Jeg har et script jeg ønsker lidt hjælp til, en del af scriptet er listet herunder:

echo "<table border=0 cellpadding=0 cellspacing=0><tr><td>$row[html]</td></tr><form method=post><tr><td align=center><input type=hidden value=$row[ptsid] name=ptsconfirm><textarea name=ptsemail rows=4 cols=30>$pasteinst</textarea><br><input type=submit value='$submitbutton'></td></tr></form></table>";


Jeg ønsker at hvis variablen $pasteinst er mindre end 100 karakterer så giver der en alert på skærmen.


Jeg ved hvordan det gøres med javascript i html, men jeg tør ikke give mig i kast med det her, håber på lidt hjælp :)
Avatar billede ztyxx Nybegynder
16. juni 2004 - 14:14 #1
Avatar billede jaw Nybegynder
16. juni 2004 - 14:14 #2
if(strlen($pasteinst) >= 100) {
  echo "Ordet er for langt !"
} else {
  echo "Ordet er under 100 tegn og godkendt!"
}

En desideret popup-alert som man har i Javascript kan man ikke direkte med PHP!
Avatar billede jaw Nybegynder
16. juni 2004 - 14:16 #3
Hov, jeg skal lige vende den om!

if(strlen($pasteinst) < 100) {
  echo "Ordet er for kort !"
} else {
  echo "Ordet er over 100 tegn og godkendt!"
}
Avatar billede ztyxx Nybegynder
16. juni 2004 - 14:16 #4
jaw> istedet for echo-sætningerne kan man sagtens smide et javascript ind
Avatar billede jaw Nybegynder
16. juni 2004 - 14:17 #5
ztyxx - ja, ja det kan man sagtens... men så er man jo over i javascript og ikke i PHP !
Avatar billede ztyxx Nybegynder
16. juni 2004 - 14:18 #6
jeps det er korrekt, personligt ville jeg foretrække javascript modellen, da man så validerer feltet inden  man submitter
Avatar billede jaw Nybegynder
16. juni 2004 - 14:20 #7
Tjah, kommer jo an på hvad det er man vil... Man kan jo også benytte sessions og headers, men java-modellen vil vist nemt kunne laves således:

if(strlen($pasteinst) < 100) {
  echo "<script type=\"text/javascript\">alert(\"Ordet er for kort, du bliver sendt 1 side tilbage!\");history.go(-1)</script>";
} else {
  //ordet er ok, så indsæt i db eller hvad du vil!
}
Avatar billede mini41 Nybegynder
16. juni 2004 - 14:29 #8
Jeg kunne godt tænke mig at bruge javaen, men hvordan sætter jeg det ind i mit script ?


jeg kan godt paste hele scriptet, men det er frygtelig stort :)
Avatar billede jaw Nybegynder
16. juni 2004 - 14:30 #9
Det er jo lidt svært at sige hvor det skal sættes ind, når vi ikke har nogen anelse om hvad dit script gør/ser ud :)
Avatar billede mini41 Nybegynder
16. juni 2004 - 14:48 #10
Jeg paster lige hele filen.

Det scriptet gør er det laver en input box, hvori man kan skrive en tekst, under boxen er der en submit knap, det er alt. (scriptet laver en del bla. hentes der fra en db)

Når man klikker på submit sendes teksten til vores admin modul.
Det jeg ønsker er at hvis man trykker på submit og den indtastede tekst er mindre end 100 karakterer får man en alert og teksten skal IKKE sendes.




<?
if (!defined('version')){
exit;}
global $_GET,$_SERVER,
            $HTTP_SESSION_VARS;
        $pasteinst=trim($pasteinst);

        if (!$_GET[startpos])
            {
            $_GET[startpos]=0;
            }

        if (!$HTTP_SESSION_VARS[ptslist])
            {
            $getclicks
                =@mysql_query('select * from ' . mysql_prefix . 'pts_ads where category like "'.$get.'" and ((run_quantity>signups  and run_type="signups") or (run_quantity>views and run_type="views") or run_type="ongoing" or (run_type="date" and run_quantity>='.mysqldate.'))');

            while ($setclicks=@mysql_fetch_array($getclicks))
                {
                list ($userchk)=@mysql_fetch_row(
                    @mysql_query('select username from ' . mysql_prefix . 'paid_signups_'.$setclicks[ptsid].' where username="'.$HTTP_SESSION_VARS[username].'"'));

                if ($userchk == $HTTP_SESSION_VARS[username])
                    {
                    $HTTP_SESSION_VARS[ptslist]['ID'.$setclicks[ptsid]]=1;
                    }
                }

            }
if ($HTTP_SESSION_VARS[ptslist]){
        foreach($HTTP_SESSION_VARS[ptslist] as $keyvalue => $value)
            {
            $keyvalue=substr($keyvalue,2,strlen($keyvalue)-2);
            $clicklist=$clicklist . 'ptsid!="'.$keyvalue.'" and ';

          } }
        $getrow
            =@mysql_query('select * from ' . mysql_prefix . 'pts_ads where category like "'.$get.'" and '.$clicklist.' ((run_quantity>signups  and run_type="signups") or (run_quantity>views and run_type="views") or run_type="ongoing" or (run_type="date" and run_quantity>='.mysqldate.')) order by vtype,value desc limit '.$_GET[startpos].',5');
        $backpos=$_GET[startpos];

        while ($row=@mysql_fetch_array($getrow))
            {
            $_GET[startpos]++;


                if ($row[image_url])
                    {
                    $width='';

                    $height='';

                    if ($row[img_width])
                        {
                        $width="width=$row[img_width]";
                        }

                    if ($row[img_height])
                        {
                        $height="height=$row[img_height]";
                        }

                    $row[site_url]
                        =str_replace("#USERNAME#", $HTTP_SESSION_VARS[username], $row[site_url]);
                    echo
                        '<table border=0 cellpadding=0 cellspacing=0 bgcolor=ffffff><form method=post><tr><td><a href=' . runner_url . '?REDIRECT=' . rawurlencode(
                        $row[site_url]). ' target=_pts><img src=' . runner_url . '?REDIRECT=' . rawurlencode($row[image_url]). ' alt="' . $row[alt_text] . '" ' . $width . ' ' . $height . ' border=0></a></td></tr><tr><td align=center><input type=hidden value=' . $row[ptsid] . ' name=ptsconfirm><input type=hidden name=pasteinstcode value='.md5($pasteinst).strlen($pasteinst).'><textarea name=ptsemail rows=4 cols=30>' . $pasteinst . '</textarea><br><input type=submit value="' . $submitbutton . '"></td></tr></form></table>';
                    }
                else
                    {
                    $row[html]=str_replace("#USERNAME#", $HTTP_SESSION_VARS[username], $row[html]);

                    echo "<table border=0 cellpadding=0 cellspacing=0><tr><td>$row[html]</td></tr><form method=post><tr><td align=center><input type=hidden value=$row[ptsid] name=ptsconfirm><textarea name=ptsemail rows=4 cols=30>$pasteinst</textarea><br><input type=submit value='$submitbutton'></td></tr></form></table>";
                    }

                $mdgroup="#" . substr(md5($row[category]), 0, 8). "#";
                $typemsg=$points;
                $amount=$row[value] / 100000;

                if ($row[vtype] == 'cash')
                    {
                    $typemsg=$cash;

                    $amount=$amount / $factor;
                    }

                echo $message . " " . $amount . " " . $typemsg . "<br><br>";
                @mysql_query ("update " . mysql_prefix . "pts_ads set views=views+1 where ptsid='$row[ptsid]'");
                }

        if (!$typemsg)
            {
            echo $notfound . "<br>";
            }
        else
            {
            echo "<br>";

            $page=$backpos / 5 + 1;

            if ($backpos - 5 >= 0)
                {
                $backpos=$backpos - 5;

                echo '<a href='.$_SERVER[PHP_SELF].'?startpos='.$backpos.'>'.$back.'</a>';
                }

            if ($_GET[startpos] / 5 == intval($_GET[startpos] / 5))
                {
                echo ' <a href='.$_SERVER[PHP_SELF].'?startpos='.$_GET[startpos].'>'.$forward.'</a>';
                }

            echo "<br><br><b>$page</b><br> ";
            }
       
return 1;
?>
Avatar billede jaw Nybegynder
16. juni 2004 - 14:56 #11
Det kan du ikke med PHP uden at sende det... Så skal det være en ren javascript. Du kan ikke verificere noget PHP uden at det bliver sendt først...
Avatar billede mini41 Nybegynder
16. juni 2004 - 15:07 #12
Det forstår jeg ikke, der submittes jo med htlm og ikke php

Selve formen er da html ?


"<table border=0 cellpadding=0 cellspacing=0><tr><td>$row[html]</td></tr><form method=post><tr><td align=center><input type=hidden value=$row[ptsid] name=ptsconfirm><textarea name=ptsemail rows=4 cols=30>$pasteinst</textarea><br><input type=submit value='$submitbutton'></td></tr></form></table>";
Avatar billede mini41 Nybegynder
16. juni 2004 - 15:33 #13
Jeg har prøvet at rette scriptet men uden helt, kan du se hvad der er galt ?


<SCRIPT LANGUAGE=javascript><!--

function Formcheck() {
    var miss = "";
 
        if (document.ptsconfirm.value.length < 100) {
            miss = "text here\n";
        }
               

        if (miss != "") {
            window.alert(miss)
            return false;
        }
    }

//-->
</SCRIPT>


<?
if (!defined('version')){
exit;}
global $_GET,$_SERVER,
            $HTTP_SESSION_VARS;
        $pasteinst=trim($pasteinst);

        if (!$_GET[startpos])
            {
            $_GET[startpos]=0;
            }

        if (!$HTTP_SESSION_VARS[ptslist])
            {
            $getclicks
                =@mysql_query('select * from ' . mysql_prefix . 'pts_ads where category like "'.$get.'" and ((run_quantity>signups  and run_type="signups") or (run_quantity>views and run_type="views") or run_type="ongoing" or (run_type="date" and run_quantity>='.mysqldate.'))');

            while ($setclicks=@mysql_fetch_array($getclicks))
                {
                list ($userchk)=@mysql_fetch_row(
                    @mysql_query('select username from ' . mysql_prefix . 'paid_signups_'.$setclicks[ptsid].' where username="'.$HTTP_SESSION_VARS[username].'"'));

                if ($userchk == $HTTP_SESSION_VARS[username])
                    {
                    $HTTP_SESSION_VARS[ptslist]['ID'.$setclicks[ptsid]]=1;
                    }
                }

            }
if ($HTTP_SESSION_VARS[ptslist]){
        foreach($HTTP_SESSION_VARS[ptslist] as $keyvalue => $value)
            {
            $keyvalue=substr($keyvalue,2,strlen($keyvalue)-2);
            $clicklist=$clicklist . 'ptsid!="'.$keyvalue.'" and ';

          } }
        $getrow
            =@mysql_query('select * from ' . mysql_prefix . 'pts_ads where category like "'.$get.'" and '.$clicklist.' ((run_quantity>signups  and run_type="signups") or (run_quantity>views and run_type="views") or run_type="ongoing" or (run_type="date" and run_quantity>='.mysqldate.')) order by vtype,value desc limit '.$_GET[startpos].',5');
        $backpos=$_GET[startpos];

        while ($row=@mysql_fetch_array($getrow))
            {
            $_GET[startpos]++;


                if ($row[image_url])
                    {
                    $width='';

                    $height='';

                    if ($row[img_width])
                        {
                        $width="width=$row[img_width]";
                        }

                    if ($row[img_height])
                        {
                        $height="height=$row[img_height]";
                        }

                    $row[site_url]
                        =str_replace("#USERNAME#", $HTTP_SESSION_VARS[username], $row[site_url]);
                    echo
                        '<table border=0 cellpadding=0 cellspacing=0 bgcolor=ffffff><form method=post><tr><td><a href=' . runner_url . '?REDIRECT=' . rawurlencode(
                        $row[site_url]). ' target=_pts><img src=' . runner_url . '?REDIRECT=' . rawurlencode($row[image_url]). ' alt="' . $row[alt_text] . '" ' . $width . ' ' . $height . ' border=0></a></td></tr><tr><td align=center><input type=hidden value=' . $row[ptsid] . ' name=ptsconfirm onsubmit="return Formcheck()"><input type=hidden name=pasteinstcode value='.md5($pasteinst).strlen($pasteinst).'><textarea name=ptsemail rows=4 cols=30>' . $pasteinst . '</textarea><br><input type=submit value="' . $submitbutton . '"></td></tr></form></table>';
                    }
                else
                    {
                    $row[html]=str_replace("#USERNAME#", $HTTP_SESSION_VARS[username], $row[html]);

                    echo "<table border=0 cellpadding=0 cellspacing=0><tr><td>$row[html]</td></tr><form method=post><tr><td align=center><input type=hidden value=$row[ptsid] name=ptsconfirm><textarea name=ptsemail rows=4 cols=30>$pasteinst</textarea><br><input type=submit value='$submitbutton'></td></tr></form></table>";
                    }

                $mdgroup="#" . substr(md5($row[category]), 0, 8). "#";
                $typemsg=$points;
                $amount=$row[value] / 100000;

                if ($row[vtype] == 'cash')
                    {
                    $typemsg=$cash;

                    $amount=$amount / $factor;
                    }

                echo $message . " " . $amount . " " . $typemsg . "<br><br>";
                @mysql_query ("update " . mysql_prefix . "pts_ads set views=views+1 where ptsid='$row[ptsid]'");
                }

        if (!$typemsg)
            {
            echo $notfound . "<br>";
            }
        else
            {
            echo "<br>";

            $page=$backpos / 5 + 1;

            if ($backpos - 5 >= 0)
                {
                $backpos=$backpos - 5;

                echo '<a href='.$_SERVER[PHP_SELF].'?startpos='.$backpos.'>'.$back.'</a>';
                }

            if ($_GET[startpos] / 5 == intval($_GET[startpos] / 5))
                {
                echo ' <a href='.$_SERVER[PHP_SELF].'?startpos='.$_GET[startpos].'>'.$forward.'</a>';
                }

            echo "<br><br><b>$page</b><br> ";
            }
       
return 1;
?>
Avatar billede jaw Nybegynder
16. juni 2004 - 15:52 #14
Skal du ikke have onsubmit="return Formcheck()" op i din <form> ?
Avatar billede mini41 Nybegynder
16. juni 2004 - 16:11 #15
Det var en fejl, det er nu rettet men det hjalp nu ikke :-(


<SCRIPT LANGUAGE=javascript><!--

function Formcheck() {
    var miss = "";
 
        if (document.WEB.ptsconfirm.value.length < 100) {
            miss = "text here\n";
        }
               

        if (miss != "") {
            window.alert(miss)
            return false;
        }
    }

//-->
</SCRIPT>


<?
if (!defined('version')){
exit;}
global $_GET,$_SERVER,
            $HTTP_SESSION_VARS;
        $pasteinst=trim($pasteinst);

        if (!$_GET[startpos])
            {
            $_GET[startpos]=0;
            }

        if (!$HTTP_SESSION_VARS[ptslist])
            {
            $getclicks
                =@mysql_query('select * from ' . mysql_prefix . 'pts_ads where category like "'.$get.'" and ((run_quantity>signups  and run_type="signups") or (run_quantity>views and run_type="views") or run_type="ongoing" or (run_type="date" and run_quantity>='.mysqldate.'))');

            while ($setclicks=@mysql_fetch_array($getclicks))
                {
                list ($userchk)=@mysql_fetch_row(
                    @mysql_query('select username from ' . mysql_prefix . 'paid_signups_'.$setclicks[ptsid].' where username="'.$HTTP_SESSION_VARS[username].'"'));

                if ($userchk == $HTTP_SESSION_VARS[username])
                    {
                    $HTTP_SESSION_VARS[ptslist]['ID'.$setclicks[ptsid]]=1;
                    }
                }

            }
if ($HTTP_SESSION_VARS[ptslist]){
        foreach($HTTP_SESSION_VARS[ptslist] as $keyvalue => $value)
            {
            $keyvalue=substr($keyvalue,2,strlen($keyvalue)-2);
            $clicklist=$clicklist . 'ptsid!="'.$keyvalue.'" and ';

          } }
        $getrow
            =@mysql_query('select * from ' . mysql_prefix . 'pts_ads where category like "'.$get.'" and '.$clicklist.' ((run_quantity>signups  and run_type="signups") or (run_quantity>views and run_type="views") or run_type="ongoing" or (run_type="date" and run_quantity>='.mysqldate.')) order by vtype,value desc limit '.$_GET[startpos].',5');
        $backpos=$_GET[startpos];

        while ($row=@mysql_fetch_array($getrow))
            {
            $_GET[startpos]++;


                if ($row[image_url])
                    {
                    $width='';

                    $height='';

                    if ($row[img_width])
                        {
                        $width="width=$row[img_width]";
                        }

                    if ($row[img_height])
                        {
                        $height="height=$row[img_height]";
                        }

                    $row[site_url]
                        =str_replace("#USERNAME#", $HTTP_SESSION_VARS[username], $row[site_url]);
                    echo
                        '<table border=0 cellpadding=0 cellspacing=0 bgcolor=ffffff><form method=post name=WEB onsubmit=return Formcheck()><tr><td><a href=' . runner_url . '?REDIRECT=' . rawurlencode(
                        $row[site_url]). ' target=_pts><img src=' . runner_url . '?REDIRECT=' . rawurlencode($row[image_url]). ' alt="' . $row[alt_text] . '" ' . $width . ' ' . $height . ' border=0></a></td></tr><tr><td align=center><input type=hidden value=' . $row[ptsid] . ' name=ptsconfirm onsubmit="return Formcheck()"><input type=hidden name=pasteinstcode value='.md5($pasteinst).strlen($pasteinst).'><textarea name=ptsemail rows=4 cols=30>' . $pasteinst . '</textarea><br><input type=submit value="' . $submitbutton . '"></td></tr></form></table>';
                    }
                else
                    {
                    $row[html]=str_replace("#USERNAME#", $HTTP_SESSION_VARS[username], $row[html]);

                    echo "<table border=0 cellpadding=0 cellspacing=0><tr><td>$row[html]</td></tr><form method=post name=WEB onsubmit=return Formcheck()><tr><td align=center><input type=hidden value=$row[ptsid] name=ptsconfirm><textarea name=ptsemail rows=4 cols=30>$pasteinst</textarea><br><input type=submit value='$submitbutton'></td></tr></form></table>";
                    }

                $mdgroup="#" . substr(md5($row[category]), 0, 8). "#";
                $typemsg=$points;
                $amount=$row[value] / 100000;

                if ($row[vtype] == 'cash')
                    {
                    $typemsg=$cash;

                    $amount=$amount / $factor;
                    }

                echo $message . " " . $amount . " " . $typemsg . "<br><br>";
                @mysql_query ("update " . mysql_prefix . "pts_ads set views=views+1 where ptsid='$row[ptsid]'");
                }

        if (!$typemsg)
            {
            echo $notfound . "<br>";
            }
        else
            {
            echo "<br>";

            $page=$backpos / 5 + 1;

            if ($backpos - 5 >= 0)
                {
                $backpos=$backpos - 5;

                echo '<a href='.$_SERVER[PHP_SELF].'?startpos='.$backpos.'>'.$back.'</a>';
                }

            if ($_GET[startpos] / 5 == intval($_GET[startpos] / 5))
                {
                echo ' <a href='.$_SERVER[PHP_SELF].'?startpos='.$_GET[startpos].'>'.$forward.'</a>';
                }

            echo "<br><br><b>$page</b><br> ";
            }
       
return 1;
?>
Avatar billede jaw Nybegynder
16. juni 2004 - 16:15 #16
Jeg kan ikke helt gennemskue din, er ikke så sej til javascript, men tror da det her måske virker:

<script>
function tjek(f) {
  if(f.pstconfirm.value.length < 100) {
    alert("For kort tekst!");
    return false;
  }
  return true;
}
</script>

Og så flg. i din <form>

<form method="post" action="bum.php" onSubmit="return tjek(this)">
Avatar billede mini41 Nybegynder
16. juni 2004 - 20:36 #17
jaw svar for point, jeg likker dette spørgsmål.
Avatar billede jaw Nybegynder
16. juni 2004 - 20:37 #18
Erh, yes yes op til dig :)
Avatar billede mini41 Nybegynder
19. juni 2004 - 10:59 #19
Jeg har fundet svaret andet sted, men point til dig for din hjælp.
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