Avatar billede Chup Nybegynder
24. april 2009 - 11:23 Der er 4 kommentarer og
1 løsning

Hjælp til at sætte 2 koder sammen.

Hejsa,
Har 2 php koder, den ene viser info fra min mysql database, og den anden opdatere de info.
Hver for sig virker koderne fint, men når jeg sætter dem sammen gør de ikke :P
Kan forklare hvad jeg gør galt?
Koden:
<?php

    //customer ID
    $sID = $_GET["id"];
   
    //variable to hold customer info
    $sInfo = "";
   
    //database information
    $sDBServer = "localhost";
    $sDBName = "undergroundcomp";
    $sDBUsername = "undergroundcomp";
    $sDBPassword = "XXXX";

    //create the SQL query string
    $sQuery = "Select * from users where id=".$sID;
             
    //make the database connection
    $oLink = mysql_connect($sDBServer,$sDBUsername,$sDBPassword);
    @mysql_select_db($sDBName) or $sInfo = "Unable to open database";
       
    if($sInfo == '') {
        if($oResult = mysql_query($sQuery) and mysql_num_rows($oResult) > 0) {
            $aValues = mysql_fetch_array($oResult,MYSQL_ASSOC);
            $sInfo = $aValues['full_name']."<br />".$aValues['adresse']."<br />".
                    $aValues['by']."<br />".$aValues['info']."<br />".
                    $aValues['postnr']."<br /><br />Phone: ".$aValues['tlfnr']."<br />".
                    "<a href=\"mailto:".$aValues['E-mail']."\">".$aValues['user_email']."</a>";
        } else {
            $sInfo = "Customer with ID $sID doesn't exist.";
        }
    }
   
if ($_POST['Submit']=='Opdater'){

$full_name = ($_POST['full_name']);

$tlfnr = ($_POST['tlfnr']);

$info = ($_POST['info']);

mysql_query ("UPDATE users SET full_name = \"".$_SESSION['full_name']."\", tlfnr = \"".$_POST['tlfnr']."\", info = \"".$_POST['info']."\" WHERE user_email = \"".$_SESSION['user']."\"") OR die("An error happened.");
}
else
if ($_POST['Submit']=='SMS'){
   
$url = "http://www.cpsms.dk/sms/";

$url .= "?message=" . urlencode($_POST['info']);

$url .= "&recipient=".$_POST['tlfnr']; // Recipient

$url .= "&username=XXXXXX"; // Username

$url .= "&password=XXXXXX"; // Password

$url .= "&from=XXXXX"; // Sendername

$reply = file_get_contents($url);
}
    mysql_close($oLink);

?>

Den hvor den opdaterer, kører normalt på sessions, men det kan den ikke når jeg samler dem, da det skal fungere som en side man kommer ind på ved hjælp af at sætte ?id=x ind i browseren :P

Tak på forhånd

Mvh.
Daniel
Avatar billede webweaver Praktikant
24. april 2009 - 11:31 #1
Hvorfor kan du ikke have SESSIONS af den grund?
Hvis du ikke vil have SESSIONS med, så skal du da ihvertfald starte med at fjerne det helt og ikke kun halvt. Du benytter dig stadig af SESSIONS inde i din query update. Det vil naturligvis ikke fungere, hvis de slet ikke eksisterer.

Hvilken fejl får du?
Avatar billede Chup Nybegynder
24. april 2009 - 11:36 #2
Når jeg klikker Opdater så gemmer den ikke de data som jeg ændre i mine forms.  Men dataene bliver fint nok hentet ned. Har ændret SESSION til POST, og GET og så $aValues intet af det virker :)
Er ikke super meget inde i PHP endnu.
Avatar billede webweaver Praktikant
24. april 2009 - 12:30 #3
mysql_query ("UPDATE users SET full_name = \"".$full_name ."\", tlfnr = \"".$tlfnr ."\", info = \"".$tlfnr ."\" WHERE id = \"".$id."\"") or die("An error happened.");

Hvad med noget i den her stil .. Du har allerede alle variablerne så vidt jeg kan se. Så hvorfor ikke bruge dem.

$tlfnr  og så videre, istedet for POST.
Udover det, har jeg fjernet din SESSION, og brugt det id du har i din url istedet. Du kan jo altid føje user til i URL, ligesom i din SESSION, hvis du skál bruge den værdi til at opdatere bestemt data.
Avatar billede Chup Nybegynder
24. april 2009 - 12:58 #4
Takker :D - Det, sammen med jeg rykkede opdater dimsen over der hvor den henter det ned fra databasen så virker det :)
Bare lige skriv et svar så får du dine points ;)
Avatar billede webweaver Praktikant
24. april 2009 - 13:36 #5
Godt at du fik det til at virke :)
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