Avatar billede jkn83 Praktikant
08. januar 2005 - 20:59 Der er 1 kommentar og
1 løsning

form post, eller default insat linier som $_POST ?

Lad os sige jeg har en registration form på min side, og vil have brugeren aktivere den via mail. Den del er lavet. Men når den så aktiveres, vil jeg have en kode på aktiverings tjek siden, der indsætter en nyhed, om at en bruger er oprettet med følgende brugernavn. Så min første ide til at få det til at fungere, ville være at sætte en form post ind, hvor jeg satte types til hidden og default values. Som det her:

<form method='post' action='<?php echo $PHP_SELF ?>'>
<br>
<input type='hidden' name='title' value='New user:<b><? echo $username; ?></b>'>
<br>
<input type='hidden' name='text1' value='Added new user: <? echo $username; ?>. Welcome in :)'>
<br>
<input type='hidden' name='author' value='Registration'>

Men så er det jo netop at det ikke kommer med, da man skal have en "submit button"... Det skal jo sættes ind på deres pladser før det kan læses korrekt.

Da jeg så kom til at se på $_POST kom jeg til at tænke på om man ikke lige så godt kunne ændre de inputs der, som den smider ind fra formen... Så man ikke behøver en form?

Mit eneste problem er så, at jeg tror jeg skrev tingene forkert da det ikke helt ville virke som jeg havde forestillet mig.

Den ting jeg vil have hjælp til er at få indsat de VALUES jeg har sat i formen, ind i $_POST i stedet, så den ikke insætter 'title' men 'New user:<b><? echo $username; ?></b>'

Koden til $_POST kan ses her neden under for at få en forståelse af det :)


if($doublecheck == 0){
    echo "<strong><font color=red>Error on activating your account! Please try again in a few mins.</font></strong>";
} elseif ($doublecheck > 0) {

    echo "<br /><br /><center><strong>Your account has been activated!</strong><br />Redirecting you in (5) seconds</center><br />";

      $title = mysql_real_escape_string($_POST['title']);
      $text1 = mysql_real_escape_string($_POST['text1']);
      $author = mysql_real_escape_string($_POST['author']);

        $result = mysql_query("INSERT INTO news (title, dtime, text1, author)
                      VALUES ('$title',NOW(),'$text1','$author')",$connect);

            echo "<meta http-equiv=Refresh content=5;url=index2.php>";
Avatar billede jkn83 Praktikant
08. januar 2005 - 21:24 #1
en anden måde at sige det på... Jeg vil gerne have denne linie: 'New user: <? echo $username; ?> indsat der hvor der står 'title' i $_POST, på en måde så det fungere sammen... I stedet for at jeg skal bruge den i en form, og så ade en submit knap som jeg så kan håbe på folk trykker på :)


      $title = mysql_real_escape_string($_POST['title']);
      $text1 = mysql_real_escape_string($_POST['text1']);
      $author = mysql_real_escape_string($_POST['author']);


de 3 linier er de eneste der skal ændres... Med de values der er angivet i formen...
Avatar billede jkn83 Praktikant
09. januar 2005 - 11:34 #2
fandt ud af en anden løsning... brugte følgende kode i stedet for en del af den anden kode længere oppe i første post:

if($doublecheck > 0){
    $row = mysql_fetch_array($sql_doublecheck);
    $username = $row['username'];   
    }
   
$value1="New user: $username";
$value2="Added new user: $username";
$value3="Registration";

if($doublecheck == 0){
    echo "<strong><font color=red>Your account could not be activated!</font></strong><br />";
    echo "Try again in a few mins!";
   
} elseif ($doublecheck > 0) {

    echo "<br /><br /><center><strong>Your account has been activated!</strong><br />Redirecting you in (5) seconds</center><br />";

        $result = mysql_query("INSERT INTO news (title, dtime, text1, author)
                      VALUES ('$value1',NOW(),'$value2','$value3')",$connect);
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