Avatar billede tobrukDk Novice
11. april 2012 - 16:45 Der er 11 kommentarer og
1 løsning

problemer med opret del af siden

hej

det er sådan at jeg er i gang med at updater siden sådan at man skal "godkendt sin email" på en email via et link.


<?php
            if(!empty($_POST))
            {
                $email = mysql_real_escape_string($_POST["email"]);
                $password = mysql_real_escape_string($_POST["password"]);
                $gentag = mysql_real_escape_string($_POST["gentag"]);
                $djnavn = mysql_real_escape_string($_POST["djnavn"]);
                $profiltekst = mysql_real_escape_string($_POST["profiltekst"]);
                $facebook = mysql_real_escape_string($_POST["facebook"]);
                $club = mysql_real_escape_string($_POST["club"]);
                $booking = mysql_real_escape_string($_POST["booking"]);
                $hemmelig = mysql_real_escape_string($_POST["hemmelig"]);
                $pris = mysql_real_escape_string($_POST["pris"]);
               
               
                $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("profil/big_img");
                   
                    //til profil billede lign..
                    $handle->image_resize = true;
                    $handle->image_ratio_crop = true;
                    $handle->image_y = 75;
                    $handle->image_x = 75;
                    $handle->Process("profil");
                   
                    $billedefilnavn = $handle->file_dst_name;
                       
                            echo '<p>Billedet: ' . $billedefilnavn . '<br></p>';
                            echo "<p>Dit billede blev upload<br></p>";
                }else{
                    $billedefilnavn = 'bruger_intet.png';
                }
                $bruger = mysql_query("SELECT NULL FROM brugere WHERE email='$email'");
                if(mysql_num_rows($bruger) > 0)
                    {
                        echo "<p style=\"color:#f00;\">Email er optaget, Prøve igen</p>";
                    }
                else
                {
                   
                    $code = rand(111111111,99999999);
                   
                    //sende email til brugere
                   
                    $to = $email;
                    $subject = "Activate din brugere";
                    $headers = "From: support@djinfo.dk";
                    $body = "Hej, \n \n Du er opret og du skal her med nu activate din konto. \n \n klik på det her link eller kopie det oppe i din URL bar i din browser \n \n http://djinfo.dk/activate.php?code=$code \n \n Takker for det Hilsen Djinfo.dk \n \n Du kan ikke svar på den her email";
                                   
                    $errors = array
                    (
                        "email" => "Husk du skal indtaste en email som brugernavn.",
                        "password" => "Husk du skal indtaste et password.",
                        "gentag" => "Husk de to passwordfelter skal have ens indhold og password.",
                        "djnavn" => "Husk at indsæt Djnavn.",
                        "profiltekst" => "Husk at tilføj noget profil tekst.",
                        "facebook" => "Husk at tilføj ritgit facebook.",
                        "booking" => "Husk Booking Email.",
                        "hemmelig" => "Husk hemmelig kode ord.",
                        "pris" => "Husk en pris.",
                        "club" => "Husk club sted."
                    );
                   
                    if(!empty($pris))
                    {
                        unset($errors["pris"]);
                    }
                    if(!empty($club))
                    {
                        unset($errors["club"]);
                    }
                    if(!empty($email))
                    {
                        unset($errors["email"]);
                    }
                    if(!empty($password))
                    {
                        unset($errors["password"]);
                    }
                    if(!empty($gentag) && $gentag == $password)
                    {
                        unset($errors["gentag"]);
                    }
                    if(!empty($djnavn))
                    {
                        unset($errors["djnavn"]);
                    }
                    if(!empty($profiltekst))
                    {
                        unset($errors["profiltekst"]);
                    }
                    if(!empty($facebook))
                    {
                        unset($errors["facebook"]);
                    }
                    if(!empty($booking))
                    {
                        unset($errors["booking"]);
                    }
                    if(!empty($hemmelig))
                    {
                        unset($errors["hemmelig"]);
                    }
                   
                    if(empty($errors))
                    {
                            $password = sha1($password);
                            $insert = mysql_query("INSERT INTO brugere (code,email,password,profilbillede,djnavn,profiltekst,facebook,club,pris,booking,hemmelig)
                            VALUES ('$code','$email', '$password','$billedefilnavn','$djnavn','$profiltekst','$facebook','$club','$pris','$booking','$hemmelig')");
                           
                            if(!$insert)
                            {
                                header('Location: fejl.php');
                                exit();
                            }
                            else
                            {
                                header('Location: login.php');
                                exit();
                            }
                        }
                        else
                        {
                            echo "<div id=\"box\"><h4>HUSK DET HER!!</h4><ul><li>" . implode("</li><li>", $errors) . "</li></ul></div>";
                        }
                }
            }
        ?>


Fejl kommer frem og siger ;

Warning: Cannot modify header information - headers already sent by (output started at /home/jesperbo/public_html/djinfo.dk/opret.php:22) in /home/jesperbo/public_html/djinfo.dk/opret.php on line 159

det vil sige i dette her områbe omkring


{
                                header('Location: login.php');
                                exit();
                            }


Det vil sige at den er ved header('Location: login.php');

jeg kan virkelig bare ikke se hvad problem er, og jeg har kigge efter den her video :

http://www.youtube.com/watch?v=Dq8HRmnJ91M

Håber du kan hjælp mig
11. april 2012 - 17:03 #1
Fejlmeldingen siger, at der er sendt output i linje 22.  Hvilken linje i programmet er linje 22?
Avatar billede tobrukDk Novice
11. april 2012 - 17:05 #2
der har jeg det her


<div id="topright">
            <ul>
                <li><a href="login.php">Log ind</a></li>
                <li><a href="opret.php">Opret Bruger</a></li>
            </ul>
        </div>
Avatar billede tobrukDk Novice
11. april 2012 - 17:15 #3
Det virker fint nok på min xampp, hmm
Avatar billede olebole Juniormester
11. april 2012 - 17:23 #4
<ole>

Linje 22 er uden tvivl denne linje:

include ("include/class.upload.php");

Fejlen skyldes, at der bliver udskrevet noget i class.upload.php. Det kan enten være et linjeskift før <?php - eller det kan skyldes, at class.upload.php er en utf-8 fil, gemt med BOM tegn.

Får du rette den fejl, flytter den sikkert bare nogle linjer ned. Du kan ikke echo'e noget, før du sætter en header. Det betyder, du ikke kan bruge f.eks:

header('Location: login.php');
exit();

- hvis du har skrevet noget ud i dokumentet.

/mvh
</bole>
11. april 2012 - 17:24 #5
Det kan vel kun være en af disse linjer der er linje 22.  Hvilken er det?
Avatar billede olebole Juniormester
11. april 2012 - 17:25 #6
#3: Det lyder meget sært! Dér burde det heller ikke virke
Avatar billede olebole Juniormester
11. april 2012 - 17:26 #7
@Christian: Fejlen taget i betragtning, er der ikke så mange muligheder for, hvor linje 22 er  =)
Avatar billede tobrukDk Novice
11. april 2012 - 17:29 #8

<?php include ("include/database/db.php");?>
    <!DOCTYPE html>
    <html lang="da">
    <head>
    <meta charset="utf-8" />
    <title>Jesper</title>
    <link rel="stylesheet" type="text/css" media="screen" href="style/style.css" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
    <script type="text/javascript">
        tinyMCE.init({
            mode : "textareas",
            theme : "simple"
        });
    </script>
</head>
<body>
<div id="wrapper">
    <div id="top">
        <?php include ("include/login_opret.php");?>
        <?php include ("include/logo.php");?>
    </div>
        <?php include ("include/menu.php");?>
       
        <div id="nyheder">
        <?php include ("include/nyheder.php");?>
        </div>
        <div id="content">
        <h3>Opret Bruger på Djinfo.dk</h3>
        <?php
            if(!empty($_POST))
            {
                $email = mysql_real_escape_string($_POST["email"]);
                $password = mysql_real_escape_string($_POST["password"]);
                $gentag = mysql_real_escape_string($_POST["gentag"]);
                $djnavn = mysql_real_escape_string($_POST["djnavn"]);
                $profiltekst = mysql_real_escape_string($_POST["profiltekst"]);
                $facebook = mysql_real_escape_string($_POST["facebook"]);
                $club = mysql_real_escape_string($_POST["club"]);
                $booking = mysql_real_escape_string($_POST["booking"]);
                $hemmelig = mysql_real_escape_string($_POST["hemmelig"]);
                $pris = mysql_real_escape_string($_POST["pris"]);
               
               
                $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("profil/big_img");
                   
                    //til profil billede lign..
                    $handle->image_resize = true;
                    $handle->image_ratio_crop = true;
                    $handle->image_y = 75;
                    $handle->image_x = 75;
                    $handle->Process("profil");
                   
                    $billedefilnavn = $handle->file_dst_name;
                       
                            echo '<p>Billedet: ' . $billedefilnavn . '<br></p>';
                            echo "<p>Dit billede blev upload<br></p>";
                }else{
                    $billedefilnavn = 'bruger_intet.png';
                }
                $bruger = mysql_query("SELECT NULL FROM brugere WHERE email='$email'");
                if(mysql_num_rows($bruger) > 0)
                    {
                        echo "<p style=\"color:#f00;\">Email er optaget, Prøve igen</p>";
                    }
                else
                {
                   
                    $code = rand(111111111, 999999999);
                   
                    //sende email til brugere
                   
                    $to = $email;
                    $subject = "Activate din brugere";
                    $headers = "From: support@djinfo.dk";
                    $body = "Hej, \n \n Du er opret og du skal her med nu activate din konto. \n \n klik på det her link eller kopie det oppe i din URL bar i din browser \n \n http://djinfo.dk/activate.php?code=$code \n \n Takker for det Hilsen Djinfo.dk \n \n Du kan ikke svar på den her email";
                   
                   
                   
                    $errors = array
                    (
                        "email" => "Husk du skal indtaste en email som brugernavn.",
                        "password" => "Husk du skal indtaste et password.",
                        "gentag" => "Husk de to passwordfelter skal have ens indhold og password.",
                        "djnavn" => "Husk at indsæt Djnavn.",
                        "profiltekst" => "Husk at tilføj noget profil tekst.",
                        "facebook" => "Husk at tilføj ritgit facebook.",
                        "booking" => "Husk Booking Email.",
                        "hemmelig" => "Husk hemmelig kode ord.",
                        "pris" => "Husk en pris.",
                        "club" => "Husk club sted."
                    );
                   
                    if(!empty($pris))
                    {
                        unset($errors["pris"]);
                    }
                    if(!empty($club))
                    {
                        unset($errors["club"]);
                    }
                    if(!empty($email))
                    {
                        unset($errors["email"]);
                    }
                    if(!empty($password))
                    {
                        unset($errors["password"]);
                    }
                    if(!empty($gentag) && $gentag == $password)
                    {
                        unset($errors["gentag"]);
                    }
                    if(!empty($djnavn))
                    {
                        unset($errors["djnavn"]);
                    }
                    if(!empty($profiltekst))
                    {
                        unset($errors["profiltekst"]);
                    }
                    if(!empty($facebook))
                    {
                        unset($errors["facebook"]);
                    }
                    if(!empty($booking))
                    {
                        unset($errors["booking"]);
                    }
                    if(!empty($hemmelig))
                    {
                        unset($errors["hemmelig"]);
                    }
                   
                    if(empty($errors))
                    {
                        if(!mail($to, $subject, $body, $headers))
                        {
                            echo 'Vi kunne ikke logge dig på dette tidspunkt. Plases prøv igen senere';
                        }
                        else
                        {
                            $password = sha1($password);
                            $insert = mysql_query("INSERT INTO brugere (code,email,password,profilbillede,djnavn,profiltekst,facebook,club,pris,booking,hemmelig)
                            VALUES ('$code','$email', '$password','$billedefilnavn','$djnavn','$profiltekst','$facebook','$club','$pris','$booking','$hemmelig')");       
                        }
                           
                            if(!$insert)
                            {
                                header('Location: fejl.php');
                                exit();
                            }
                            else
                            {
                                header('Location: login.php');
                                exit();
                            }
                        }
                        else
                        {
                            echo "<div id=\"box\"><h4>HUSK DET HER!!</h4><ul><li>" . implode("</li><li>", $errors) . "</li></ul></div>";
                        }
                }
            }
        ?>


fejl her


Warning: Cannot modify header information - headers already sent by (output started at /home/jesperbo/public_html/djinfo.dk/opret.php:22) in /home/jesperbo/public_html/djinfo.dk/opret.php on line 168

jeg har bare tag det mest vigtigt at kode altså fra top til hvor mit php slutter.. :)
Avatar billede tobrukDk Novice
11. april 2012 - 17:35 #9

if(!$insert)
                            {
                                echo "fejl";
                            }
                            else
                            {
                                echo "Godkendt";
                            }

hvis jeg gøre sådan her virker det helt fint,

Det lyder meget mærkeligt, tror lige at jeg kontakt meebox og høre dem af hvorfor det ikke lige virker sådan der, og jeg bare kan gøre sådan her,, hmmm
Avatar billede olebole Juniormester
11. april 2012 - 18:04 #10
Det har jeg lige forklaret dig, Jesper. Det er helt naturligt, at du får den fejl - og det er helt efter bogen, at #9 fjerner fejlen. Fejlen ligger tydeligvis i din kode, og det kan MeeBox ikke hjælpe dig med.

Det er derimod mærkeligt, du ikke får den på din lokale server. Der må helt sikkert være en forskel i koderne, du ikke er opmærksom på
Avatar billede tobrukDk Novice
11. april 2012 - 18:12 #11
Okay Olebole. det kan godt være at det er min fejl og den fejl må jeg så forbedre til at den ville virker frem over. Jeg prøve lige at kigge på det :)

undskyld at du skal sige det til mig igen, men det er godt at jeg er blevet bedre til at se min egen fejl :) +1 til mig da :D

håber det er okay at jeg selv tag dem :)
Avatar billede tobrukDk Novice
12. april 2012 - 18:00 #12
det må jeg tog som et "ok fra jer"
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



IT-JOB