Avatar billede tobrukDk Novice
25. februar 2012 - 05:33 Der er 5 kommentarer og
1 løsning

sæt 3 ting samme

Davss Alle sammen


det er sådan at jeg er i gang med en hjemmeside og det er sådan at når bruger skal opret sig på hjemmesiden så komme jeg til at tænke på om man kan gøre sådan her som jeg vise her


if($password == "" && $gentag == "" && $gentag != $password && $djnavn == "")
    {
        echo "Password og Djnavn der er ingen ting i dem! prøve igen <br>";
        $errorCount++;
    }


Altså jeg spørger om password er tom og hvis det er gentag og password ikke passer sammen ved jeg det men samme tid hvis djnavn er tom så kan den sende mig hen på en side eller sådan

jeg vil bare høre om man kan gør det på den her måde eller hvad???


<?php
    error_reporting(E_ALL ^ E_NOTICE);
    include("include/database/db.php");
   
    //Infomation
    $email = mysql_real_escape_string($_POST["email"]);
    $password = mysql_real_escape_string($_POST["password"]);
    $gentag = mysql_real_escape_string($_POST["gentag"]);
    $facebook = mysql_real_escape_string($_POST["facebook"]);
    $land = mysql_real_escape_string($_POST["land"]);
    $profiltekst = mysql_real_escape_string($_POST["profiltekst"]);
    $djnavn = mysql_real_escape_string($_POST["djnavn"]);
    $site = mysql_real_escape_string($_POST["site"]);
    $fk_id = mysql_real_escape_string($_POST["kategori"]);
    $errorCount = 0;
   
    $billedefilnavn = null;
   
    include("include/class.upload.php");
    $handle = new Upload($_FILES['file']);
   
    if($handle->uploaded){
            //lidt mere store billeder
            $handle->image_resize = true;
            $handle->image_ratio_y = true;
            $handle->image_x = 220;
            $handle->Process("picthumb/storeimg");
                //til profil billede lign..
                $handle->image_resize = true;
                $handle->image_ratio_crop = true;
                $handle->image_y = 75;
                $handle->image_x = 75;
                $handle->Process("picthumb");                 
        $billedefilnavn = $handle->file_dst_name;

            echo 'Billedet: '.$billedefilnavn.'<br>';
            echo "Dit billede blev upload<br>";
       
    }else{
            $billedefilnavn = 'default.jpg';
        }
   
        /*
        * spørger om der er nogle bruger som har email eller djnavn
        * hvis den ikke har skal den gøre sådan her..
        */
    $bruger = mysql_query("SELECT * FROM brugere WHERE email='$email'");
        if(mysql_num_rows($bruger) > 0){
            echo "Email er allerede taget.<br>";
            $errorCount++;
        }
       
    if($password == "" && $gentag == "" && $gentag != $password && $djnavn == "")
    {
        echo "Password og Djnavn der er ingen ting i dem! prøve igen <br>";
        $errorCount++;
    }
    if($password == "")
    {
        echo "Du skal indtaste et password.<br>";
        $errorCount++;
    }
    if($gentag == "" || $gentag != $password)
    {
        echo "De to passwordfelter skal have ens indhold.<br>";
        $errorCount++;
    }
    if($djnavn == "")
    {
        echo "Husk et dj navn til dig selv";
        $errorCount++;
    }
    /*
      * ligger det hele inde i databasen
      * hvis der ske en fejl så bliver den sendt over til fejl siden..
      */
    if($errorCount == 0)
    {         
            $password = sha1($password);
            $sql = "INSERT INTO brugere (email,password,facebook,land,profiltekst,djnavn,site,fk_musik_info,profilbillede) "
                ."VALUES ('$email','$password','$facebook','$land','$profiltekst','$djnavn','$site','$fk_id','$billedefilnavn')";
            $insert = mysql_query($sql) or die (mysql_error());

                if(!$insert)
                    header("Location: fejl_database.php");
                else
                    header("Location: index.php");

    }
   
    ?>


sådan ser ret af koden ude på det php sti tildeler jeg det på ..

Er det noget man kan gøre eller hvad synes i ?



gerne have ud af det her

det som jeg gerne ville have ude af det her det at hvis ingen af de 3 ting passer sammen eller er tom så skal den bare gå sige det der på siden.. :)



Du er velkommen til at komme med forslag til at gøre det bedre eller forbedre det på en måde så vil jeg dog også blive glad på en måde :)
Avatar billede inteeeL Nybegynder
25. februar 2012 - 12:25 #1
if($password == "" && $gentag == "" && $gentag != $password && $djnavn == "")
    {
        echo "Password og Djnavn der er ingen ting i dem! prøve igen <br>";
        $errorCount++;
    }

Ovenstående er slet ikke nødvendigt at medtage, da disse valideringer foretages længere nede i koden. Jeg kan lige eksemplificere, hvor dette sker.

if($password == "")
{
    echo "Du skal indtaste et password.<br>";
    $errorCount++;
}
if($gentag == "" || $gentag != $password)
{
    echo "De to passwordfelter skal have ens indhold.<br>";
    $errorCount++;
}
if($djnavn == "")
{
    echo "Husk et dj navn til dig selv";
    $errorCount++;
}

I første if-sætning tjekkes der, om password-feltet er tomt. I næste if-sætning tjekkes der, om $gentag-feltet ikke er tomt og om det, der står i $gentag, er det samme som det, der står i $password. I den sidste if-sætning tjekkes der, om $djnavn er tomt. Altså bør den samlede kode se sådan her ud:

<?php
error_reporting(E_ALL ^ E_NOTICE);
include("include/database/db.php");
 
//Infomation
$email = mysql_real_escape_string($_POST["email"]);
$password = mysql_real_escape_string($_POST["password"]);
$gentag = mysql_real_escape_string($_POST["gentag"]);
$facebook = mysql_real_escape_string($_POST["facebook"]);
$land = mysql_real_escape_string($_POST["land"]);
$profiltekst = mysql_real_escape_string($_POST["profiltekst"]);
$djnavn = mysql_real_escape_string($_POST["djnavn"]);
$site = mysql_real_escape_string($_POST["site"]);
$fk_id = mysql_real_escape_string($_POST["kategori"]);
$errorCount = 0;
 
$billedefilnavn = null;
 
include("include/class.upload.php");
$handle = new Upload($_FILES['file']);
 
if($handle->uploaded){
    //lidt mere store billeder
    $handle->image_resize = true;
    $handle->image_ratio_y = true;
    $handle->image_x = 220;
    $handle->Process("picthumb/storeimg");
    //til profil billede lign..
    $handle->image_resize = true;
    $handle->image_ratio_crop = true;
    $handle->image_y = 75;
    $handle->image_x = 75;
    $handle->Process("picthumb");               
    $billedefilnavn = $handle->file_dst_name;

    echo 'Billedet: '.$billedefilnavn.'<br>';
    echo "Dit billede blev upload<br>";
}
else {
    $billedefilnavn = 'default.jpg';
}
 
/*
* spørger om der er nogle bruger som har email eller djnavn
* hvis den ikke har skal den gøre sådan her..
*/
$bruger = mysql_query("SELECT * FROM brugere WHERE email='$email'");
if(mysql_num_rows($bruger) > 0){
    echo "Email er allerede taget.<br>";
    $errorCount++;
}
     
if($password == "")
{
    echo "Du skal indtaste et password.<br>";
    $errorCount++;
}
if($gentag == "" || $gentag != $password)
{
    echo "De to passwordfelter skal have ens indhold.<br>";
    $errorCount++;
}
if($djnavn == "")
{
    echo "Husk et dj navn til dig selv";
    $errorCount++;
}   
/*
* ligger det hele inde i databasen
* hvis der ske en fejl så bliver den sendt over til fejl siden..
*/
if($errorCount == 0)
{       
    $password = sha1($password);
    $sql = "INSERT INTO brugere (email,password,facebook,land,profiltekst,djnavn,site,fk_musik_info,profilbillede) "
        ."VALUES ('$email','$password','$facebook','$land','$profiltekst','$djnavn','$site','$fk_id','$billedefilnavn')";
    $insert = mysql_query($sql) or die (mysql_error());

    if(!$insert)
        header("Location: fejl_database.php");
    else
        header("Location: index.php");
}
 
?>
Avatar billede tobrukDk Novice
25. februar 2012 - 14:05 #2
#inteeeL så du mener bare jeg skal tag det væk som jeg havde skrevet om man kunne gøre sådan ?
Avatar billede inteeeL Nybegynder
25. februar 2012 - 16:42 #3
Ja, præcis. Disse valideringer foretages jo længere nede i koden, som jeg nævner i min første kommentar.
Avatar billede tobrukDk Novice
25. februar 2012 - 20:09 #4
Ja..  jeg har laver den om med  det er sådan at djnavn stadig finder i database.. det er nok nere nent og hurtig på en eller anden måde ;)
Avatar billede tobrukDk Novice
25. februar 2012 - 23:38 #5
Ville du gerne have noget for det?
Avatar billede inteeeL Nybegynder
26. februar 2012 - 23:20 #6
Svar :-)
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