Avatar billede kellesen Nybegynder
19. august 2007 - 02:32 Der er 5 kommentarer

automatisk anker

jeg har oprettet en form hvor der vises noget tekst hvis der opstår en fejl. mit problem er, at jeg gerne vil have den automatisk går ned til min for og ikke forbliver i går til toppen når man trykker sumbit inkl. en fejl. jeg har et anker der hedder abc. Hvordan sætter man det ind i denne php kode så det køres automatisk?

<?php

if($_GET[mode] == "opret") {

if($_POST[bruger] == "") {
echo("Du skal indtaste dit navn<br><br>");

} else {

if($_POST[titel] == "") {
echo("Du skal skrive et titel på dit indlæg<br><br>");

} else {

if($_POST[kommentar] == "") {
echo("Du skal skrive din kommentar<br><br>");

} else {

if(strlen($_POST[titel]) > 100) {
echo("Din titel er for lang - max. 100 anslag<br><br>");

}


else { opret blablabla
Avatar billede jkhaledsoueidan Nybegynder
19. august 2007 - 10:26 #1
Jeg forstår minus af hvad du skriver?

hvad er "min for"?

hvad er "i går"? om den skal forblive i?
Avatar billede masik7 Nybegynder
19. august 2007 - 11:29 #2
<?
header("Location: abc.php");
?>
Avatar billede kellesen Nybegynder
19. august 2007 - 13:58 #3
jeg prøver lige igen i lidt mere vågen tilstand...

jeg har en form. hvis man f.eks. ikke udfylder titel kommer der en fejlmeddelelse frem lige under formen.
problemet er, at når man trykker submit springer den op til starten af koden lige meget om der kommer en fejlkode eller hvad. jeg ville gerne, at den sprang ned til formen igen så man blev opmærksom på sin fejl. hvordan integrerer jeg dette i mine if sætninger?
Avatar billede erikjacobsen Ekspert
19. august 2007 - 14:05 #4
Generelt vil jeg sige at du kan checke simple ting, som at der står noget i felterne og at formater er ok, i JavaScript på klienten. Så kan man "hoppe" til et felt med .focus()-metoden. Ting der skal kontrolleres på serveren ved fx databaseopslag kan så også bruge samme metode ved i svaret at lave et tilsvarende .focus()-kald
Avatar billede zurekk Nybegynder
19. august 2007 - 17:04 #5
Jeg har gjort det med en function.
Det kan sikkert gøres lettere, men du kan gøre sådan her:

opretbruger.php:

if( empty( $age ) )
formerror( 'Wrong age!' );
elseif( $age > 100 )
formerror( 'You're to old!!!!' );

if( $GLOBALS['stop'] ) == 0 )
    OPRET BRUGER!!!



functions.php

$GLOBALS['stop'] = 0;
function formerror( $message )
    {
        $GLOBALS['formessage'] = '<span style="color: red;">' . $message . '</div>';
        $GLOBALS['stop']++;
    }
   
function formconfirm( $message )
    {
        $GLOBALS['formessage'] = '<span style="color: green;">' . $message . '</div>';
        $GLOBALS['stop']++;
    }

function formessage()
    {
        return $GLOBALS['formessage'];
    }


Og så skriver du bare echo formessage(); der hvor beskeden skal vises :)
formerror( 'besked' ); og formconfirm( 'besked' ); stopper din form, hvis du bruger $GLOBALS['stop'] == 0 til at tjekke med, og skriver beskeden hvor du vil have det :)
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

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