Avatar billede tobrukDk Novice
04. marts 2012 - 01:10 Der er 19 kommentarer og
1 løsning

updater begge brugeres email adr

hej


det er sådan at jeg skal i gang med at lave sådan at bruger kan updater sin email til hjemmesiden altså lave om på den,

den måde som jeg har gøre det på det er sådan her


<a href="admin_bruger_emailupdater.php?id=<?php echo $row['id'];?>"><?php echo $row['email'];?></a>



så kommer vi over til "admin_bruger_emailupdater.php"



<?php
            $id = $_GET['id'];
            $result = mysql_query("SELECT * FROM `brugere` WHERE id = $id");
                $num_rows = mysql_num_rows($result);
                            if ($num_rows == 0) {
                                echo "admin_index.php";   
                            }       
                    while($row = mysql_fetch_array($result))
                        {
            ?>
            <form method="post" action="admin_emailupdater.php">
                <input type="email" name="email" placeholder="<?php echo $row['email'];?>" value="<?php echo $row['email'];?>">
                <br>
                <input type="submit" value="Updater email" name="updater">
            </form>
            <?php
                }
            ?>



så når vi kommer over til den næste bruger så ske der fejl og så begge brugere har den samme email..


<?php
include("include/database/db.php");

$result = mysql_query("SELECT * FROM brugere") or die (mysql_error());
while ($row = mysql_fetch_array($result))
{
    echo "$row[email]";

}

if (isset($_POST['updater'])) {
   
    $email = $_POST['email'];
   
   
    $tabledata = "UPDATE brugere SET email = '$email'";
    $resultat = mysql_query($tabledata);
   
if ($resultat) {
    header("Location: admin_index.php");
}
else {
    echo "Der ske en fejl";
}
}
else
    echo "Der ske ingen ting";
?>



det som jeg ser som et problem det er at begge bruger for den samme email men jeg mener at det gå galt nede i den sidste og jeg kan virkelig bare ikke se hvad der gå galt siden det er sådan?.. :(
Avatar billede DeeDawg Nybegynder
04. marts 2012 - 05:33 #1
Følgende query

$tabledata = "UPDATE brugere SET email = '$email'";

vil jo selvfølgelig opdatere alle dine brugere, eftersom du ikke kun går efter 1 bruger. Du mangler noget ala det her

$tabledata = "UPDATE brugere SET email = '$email' WHERE id = '$id'";
Avatar billede tobrukDk Novice
04. marts 2012 - 12:56 #2
der ske ingen ting.. :( når jeg klik på updater så gå det bare tilbage til admin_index.php
Avatar billede olebole Juniormester
04. marts 2012 - 13:42 #3
<ole>

Prøv at rette admin_bruger_emailupdater.php til:

<?php
$id = $_GET['id'];
$result = mysql_query("SELECT * FROM `brugere` WHERE id = $id");
$num_rows = mysql_num_rows($result);
if ($num_rows == 0) {
    echo "admin_index.php";   
}       
while($row = mysql_fetch_array($result))
{
?>
    <form method="post" action="admin_emailupdater.php">
    <input name="id" value="<?php echo $row['id'];?>" type="hidden">
    <input type="email" name="email" placeholder="<?php echo $row['email'];?>" value="<?php echo $row['email'];?>">
    <br>
    <input type="submit" value="Updater email" name="updater">
    </form>
<?php
}
?>

- og den næste fil:

<?php
include("include/database/db.php");

if (isset($_POST['updater'])) {
    $id = $_POST['id'];
    $email = $_POST['email'];
   
   
    $tabledata = "UPDATE brugere SET email = '$email' WHERE `id` = $id";
    $resultat = mysql_query($tabledata);
   
    if (mysql_affected_rows($resultat) > 1) {
        header("Location: admin_index.php");
    }
    else {
        echo "Der ske en fejl";
    }
}
else
    echo "Der ske ingen ting";
?>

/mvh
</bole>
Avatar billede tobrukDk Novice
04. marts 2012 - 13:51 #4
Warning: mysql_affected_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Ny\admin_bruger_email_updater.php on line 12
Der ske en fejl




<?php
include("include/database/db.php");

if (isset($_POST['updater'])) {
    $id = $_POST['id'];
    $email = $_POST['email'];
   
   
    $tabledata = "UPDATE brugere SET email = '$email' WHERE `id` = $id";
    $resultat = mysql_query($tabledata);
   
    if (mysql_affected_rows($resultat) > 1) {
        header("Location: admin_index.php");
    }
    else {
        echo "Der ske en fejl";
    }
}
else
    echo "Der ske ingen ting";
?>


det vil sige ved nr 2 if... :) er der fejl
Avatar billede tobrukDk Novice
04. marts 2012 - 13:56 #5
Nåår jeg gå helt tilbage til hvor man kan se brugere så er email updater :s mærkeligt.. :)
Avatar billede olebole Juniormester
04. marts 2012 - 14:15 #6
Prøv:

    $tabledata = "UPDATE brugere SET email = '$email' WHERE `id` = $id";
    $resultat = mysql_query($tabledata) or die (mysql_error());
Avatar billede tobrukDk Novice
04. marts 2012 - 14:18 #7
den kommer frem og siger



Warning: mysql_affected_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Ny\admin_bruger_email_updater.php on line 12
Der ske en fejl
Avatar billede tobrukDk Novice
04. marts 2012 - 14:35 #8
Sådan her ser kode ud :


        <?php
        $id = $_GET['id'];
        $result = mysql_query("SELECT * FROM `brugere` WHERE id = $id");
        $num_rows = mysql_num_rows($result);
        if ($num_rows == 0) {
            echo "admin_index.php";   
        }       
        while($row = mysql_fetch_array($result))
        {
        ?>
            <form method="post" action="admin_bruger_email_updater.php">
            <input name="id" value="<?php echo $row['id'];?>" type="hidden">
            <input type="email" name="email" placeholder="<?php echo $row['email'];?>" value="<?php echo $row['email'];?>">
            <br>
            <input type="submit" value="Updater email" name="updater">
            </form>
        <?php
        }
        ?>



admin_bruger_email_updater.php


<?php
include("include/database/db.php");

if (isset($_POST['updater'])) {
    $id = $_POST['id'];
    $email = $_POST['email'];
   
   
    $tabledata = "UPDATE brugere SET email = '$email' WHERE `id` = $id";
    $resultat = mysql_query($tabledata) or die (mysql_error());
   
    if (mysql_affected_rows($resultat) > 0) {
        header("Location: admin_index.php");
    }
    else {
        echo "Der ske en fejl";
    }
}
else
    echo "Der ske ingen ting";
?>
Avatar billede olebole Juniormester
04. marts 2012 - 15:08 #9
Sorry - my bad! Prøv med:

if (mysql_affected_rows() > 0) {
Avatar billede tobrukDk Novice
04. marts 2012 - 15:11 #10
den bliver ved med at sige samme fejl.
Avatar billede tobrukDk Novice
04. marts 2012 - 15:12 #11
Sorry.. men tak for hjælpen Ole.. :) jeg skulle bare væk med det $resultat

jeg lukker den bare selv :)
Avatar billede tobrukDk Novice
04. marts 2012 - 15:34 #12
hvordan skal jeg gøre sådan at jeg ikke har de eneste email adr .. f.eks hvi den en er admin email og den anden er bruger email :) så vil det være lidt fucket op :)
Avatar billede olebole Juniormester
04. marts 2012 - 15:41 #13
Det forstod jeg ikke
Avatar billede tobrukDk Novice
04. marts 2012 - 15:44 #14

$bruger = mysql_query("SELECT * FROM brugere WHERE email='$email'");
        if(mysql_num_rows($bruger) < 0){
            header("Location: fejl_email.php");
            $errorCount++;
        }

ligesom her hvis email er ind i databasen så vil den ikke updater email..
Avatar billede olebole Juniormester
04. marts 2012 - 15:53 #15
Jeg forstår stadig ikke, hvad du vil - men jeg kan heller ikke lave det hele for dig  =)
Avatar billede tobrukDk Novice
04. marts 2012 - 15:54 #16
Kan man ikke gøre sådan her

$bruger = mysql_query("SELECT * FROM brugere WHERE email='$email'");
        if(mysql_num_rows($bruger) < 0){
            $tabledata = "UPDATE brugere SET email = '$email' WHERE `id` = $id";
            $resultat = mysql_query($tabledata) or die (mysql_error());
           
            if (mysql_affected_rows() > 0) {
                header("Location: admin_index.php");
            }
        }
Avatar billede olebole Juniormester
04. marts 2012 - 16:03 #17
Jeg ved ikke, hvad du har af variabler, men hvis det ikke virker, skal du nok prøve noget i stil med:

$bruger = mysql_query("SELECT * FROM brugere WHERE email='$email'");
        if(mysql_num_rows($bruger) < 0){
            $row = mysql_fetch_assoc($bruger);
            $tabledata = "UPDATE brugere SET email = '$email' WHERE `id` = $row[id]";
            $resultat = mysql_query($tabledata) or die (mysql_error());
           
            if (mysql_affected_rows() > 0) {
                header("Location: admin_index.php");
            }
        }
Avatar billede tobrukDk Novice
04. marts 2012 - 16:06 #18
både min og din der kommer den frem og siger ; Der ske en fejl
Avatar billede tobrukDk Novice
04. marts 2012 - 16:29 #19

<?php
include("include/database/db.php");

if (isset($_POST['updater'])) {
    $id = $_POST['id'];
    $email = $_POST['email'];
   
   
   
    $bruger = mysql_query("SELECT * FROM brugere WHERE email='$email'");
        if(mysql_num_rows($bruger) < 0){
            $row = mysql_fetch_assoc($bruger);
            $tabledata = "UPDATE brugere SET email = '$email' WHERE `id` = $row[id]";
            $resultat = mysql_query($tabledata) or die (mysql_error());
           
            if (mysql_affected_rows() > 0) {
                header("Location: admin_index.php");
            }
        }
}
else
    echo "Der ske ingen ting";
?>
Avatar billede tobrukDk Novice
04. marts 2012 - 16:48 #20
jeg prøver lige selv at kig på 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
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