Avatar billede christianandersen Nybegynder
13. februar 2009 - 15:19 Der er 4 kommentarer og
1 løsning

indhold bliv i tekstfelt

Hej,
Jeg er igang med at lave en opret bruger funktion med fejlmeldinger som f.eks. brugernavnet er ikke udfyldt korrekt.

Når man så submitter og man får fejlmeldingen, ja så er alle felter blanke, og det skal de ikke være.

Nogle der kan hjælpe?

Kode:

<?php
session_start();
require_once("config.php");
require_once("kerne.php");
require_once("sideopbygning.php");

$bruger_maaned = $_POST['bruger_maaned'];
$bruger_dag = $_POST['bruger_dag'];
$bruger_aar = $_POST['bruger_aar'];
$brugernavn = $_POST['brugernavn'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
$email = $_POST['email'];
$opret_bruger = $_POST['opret_bruger'];
$navn = $_POST['navn'];
$koen = $_POST['koen'];
$presentation = $_POST['presentation'];
$skjul_email = $_POST['skjul_email'];
$foresp_kode = mysql_query("SELECT brugernavn, kode FROM users WHERE aktiv ='0'") or die (mysql_error());
$resultat_kode = mysql_fetch_array($foresp_kode);


open_side("Opret bruger");

if (isset($_GET[aktiveringskode]) && isset($_GET[kode])) {
       
        if ($_GET[aktiveringskode] == md5($resultat_kode['brugernavn']) && $_GET[kode] == $resultat_kode['kode']) {
        mysql_query("UPDATE users SET aktiv ='1' WHERE md5(brugernavn) ='$_GET[aktiveringskode]' AND kode ='$_GET[kode]'")  or die (mysql_error());
        echo"Din bruger er nu aktiveret";
        }
        else {
            echo"aktiveringen fejlede";
            }
        }
else {
if (isset($opret_bruger)) {
    if(empty($brugernavn) || empty($password) || empty($password2) || empty($email) || $password != $password2 || !preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $email) ||
        !preg_match("/^[0-9A-Z@]{4,20}$/i", $password) || !preg_replace("#[^a-zA-Z0-9-_\.]#", "", $brugernavn)) {
        echo"Fejl!<p>";
        if (empty($brugernavn)) {
            echo"<br><span style='color:#ff0000'>*</span>Brugernavn er tomt";
            }
        if (empty($password)) {
        echo"<br><span style='color:#ff0000'>*</span>Password er tomt";
        }
        if (empty($password2)) {
        echo"<br><span style='color:#ff0000'>*</span>Password2 er tomt";
        }
        if ($password != $password2) {
        echo"<br><span style='color:#ff0000'>*</span>De 2 passwords er ikke ens";
        }
        if (empty($email)) {
        echo"<br><span style='color:#ff0000'>*</span>Email er tomt";
        }
                echo"<br>";
                if (!preg_replace("#[^a-zA-Z0-9-_\.]#", "", $brugernavn)) {
                echo"<br>Brugernavnet indeholder ulovlige tegn";
                }
        if (!preg_match("/^[-0-9A-Z\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $email)) {
            echo"<br>Ugyldig email";
        }
        if (!preg_match("/^[0-9A-Z@]{4,20}$/i", $password)) {
                echo"<br>Ugyldigt password";
        }

    }   
else{

    if ($bruger_maaned != "--" && $bruger_dag != "--" && $bruger_aar != "----") {
      if(checkdate($bruger_maaned, $bruger_dag, $bruger_aar)) {
        $birthdate[] = "$bruger_aar";
        $birthdate[] = "$bruger_maaned";
        $birthdate[] = "$bruger_dag";
        $foedsels_dato = implode("-",$birthdate);
      }
      else{
      echo"<p>Ugyldig dato";
    }
  }
  if (isset($brugernavn) && isset($email) && isset($password) && isset($password2) && $password = $password2) {
    $foresp = mysql_query("SELECT brugernavn, email FROM users WHERE brugernavn ='$brugernavn' OR email ='$email'") or die (mysql_error());
    $resultat = mysql_fetch_array($foresp);

    if ($resultat['brugernavn'] == $brugernavn || $resultat['email'] == $email) {
      if ($resultat['brugernavn'] == $brugernavn) {
        echo"<br>brugernavnet er optaget";
      }
      if ($resultat['email'] == $email) {
        echo"<p>Der er allerede en bruger der andvender denne email adresse";
      }
    }

    else {
      $kode = mt_rand();
      $aktiv_kode = md5($brugernavn);
      $email = mysql_real_escape_string($email);
      $navn = mysql_real_escape_string($navn);
      $presentation = mysql_real_escape_string($presentation);
      $password = md5($password);

      mysql_query("INSERT INTO users (brugernavn, password, navn, birthdate, email, koen, presentation, skjul_email, kode) values ('$brugernavn', '$password', '$navn', '$foedsels_dato', '$email', '$koen', '$presentation', '$skjul_email', '$kode')")
      or die(mysql_error());                                                                                                                                                                                                                                                 
      echo "Du er nu oprettet som bruger med brugernavnet: <b>$brugernavn</b>.";
      echo "<br>Din bruger mangler kun at blive aktiveret, og det gøres ved at trykke på nedenstående link.";
      echo "<p><a href='opret.php?aktiveringskode=".$aktiv_kode."&kode=".$kode."'>http://localhost/opret.php?aktiveringskode=".$aktiv_kode."&kode=".$kode."</a>";

      }
  }
}
}
    if(bruger_check()) {
        echo"Du har allerede en bruger med brugernavnet ".$_SESSION['brugernavn']."";
        }
        else{
echo"
<html>
<head>
</head>
<body>

<div align='center'>
<form method='post' action=".$PHP_SELF.">

                <table border='0' cellspacing='2' cellpadding='0' align='center'>
<tr>
<td>Alle felter med <span style='color:#ff0000'>*</span> skal udfyldes</td>
</tr>

                    <tr>
                        <td>Navn:</td>
                        <td><input type='text' name='navn' size='30'></td>
                    </tr>

                    <tr>
                        <td><span style='color:#ff0000'>*</span> Email:</td>
                        <td><input type='text' name='email' size='30'></td>
                    </tr>
                    <tr>
                        <td>Skjul email:</td>
                        <td><input type='checkbox' name='skjul_email' value='1'></td>
                    </tr>
                                        <tr>
                        <td>Fødselsdato:</td>
                        <td><select name='bruger_dag'><option>--</option>"; for ($i=1;$i<=31;$i++) echo "<option>$i</option>";echo "</select>
                                                <select name='bruger_maaned'><option>--</option>"; for ($i=1;$i<=12;$i++) echo "<option>$i</option>";echo "</select>
                                                <select name='bruger_aar'><option>----</option>"; for ($i=1930;$i<=2009;$i++) echo "<option>$i</option>";echo"</select>
                                          </td>
                            </tr>

                                        <tr>
                        <td>Køn:</td>
                        <td>Mand <input type='radio' name='koen' value='mand'>                            
                            Kvinde <input type='radio' name='koen' value='kvinde'></td>
                    </tr>
                    <tr>
                        <td><span style='color:#ff0000'>*</span> Brugernavn:</td>
                        <td><input type='text' name='brugernavn' size='30'></td>
                    </tr>

                    <tr>
                        <td><span style='color:#ff0000'>*</span> Password: (mindst 4 tegn)</td>
                        <td><input type='password' name='password' size='30'></td>
                    </tr>
                                        <tr>
                        <td><span style='color:#ff0000'>*</span> Gentag password:</td>
                        <td><input type='password' name='password2' size='30'></td>
                    </tr>
                            <tr>
                        <td>Presentation:</td>
                        <td><textarea name='presentation' rows='8' cols='54'></textarea></td>
                    </tr>

</table>
<br><input type='submit' name='opret_bruger' value='Opret bruger'>
</form>
</body>
</html>";
close_side();
}
}
?>
Avatar billede psychopixi Nybegynder
13. februar 2009 - 15:24 #1
I felter laver du bare noget i stil med:

<td><input type='text' name='navn' <?php if(isset($brugernavn)){echo "value=\"$brugernavn\"";} ?> size='30'></td>

Den metode benytter du blot på alle felter du gerne vil have til at skrive indholdet:)
Avatar billede christianandersen Nybegynder
13. februar 2009 - 15:29 #2
jo tak du får lige nogle point
Avatar billede christianandersen Nybegynder
13. februar 2009 - 15:30 #3
okay er helt ny her inde hvordan giver jeg dig poins??
Avatar billede psychopixi Nybegynder
13. februar 2009 - 15:52 #4
Hehe - du accepterer bare dette svar:)
Avatar billede christianandersen Nybegynder
13. februar 2009 - 16:06 #5
;)
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