Avatar billede ohhelpme Nybegynder
12. marts 2009 - 20:46 Der er 18 kommentarer og
1 løsning

sql&$

Hej,
Når jeg bruger denne funktion:

$query = mysql_query(' SELECT * FROM `post` WHERE `id` = $val AND `modtager` = $modtager');
while($row = mysql_fetch_assoc($query)){
$row['id'] = id (: $row['ip'] = ip_log (: row['modtager'] = modtager_log (: row['afsender'] = afsender_log (: row['emne'] = emne_log (: row['dato'] = dato_log (: row['besked'] = besked_log (: row['laest'] = laest_log (:
}

får jeg denne fejl:

Parse error: syntax error, unexpected ':', expecting ')' in E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\login\index.php on line 276

'koderne' omgring line 276 ser så ledes ud:

  function sletbesked() {



    $slet = $_POST["slet"];

    $id = $_GET["id"];

    $modtager = $_SESSION["user"];


    if ($slet) {

      foreach ($slet as $val) {


        $query = mysql_query(' SELECT * FROM `post` WHERE `id` = $val AND `modtager` = $modtager');
    while($row = mysql_fetch_assoc($query)){
$row['id'] = id (: $row['ip'] = ip_log (: row['modtager'] = modtager_log (: row['afsender'] = afsender_log (: row['emne'] = emne_log (: row['dato'] = dato_log (: row['besked'] = besked_log (: row['laest'] = laest_log (:
    }

        $fil = fopen("site/log/log-login-slet-mail.inc", "a");

        function selfURL()

        {

        $s = empty($_SERVER["HTTPS"]) ? ''

        : ($_SERVER["HTTPS"] == "on") ? "s"

        : "";

        $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;

        $port = ($_SERVER["SERVER_PORT"] == "80") ? ""

        : (":".$_SERVER["SERVER_PORT"]);

        return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];

        }

        function strleft($s1, $s2)

        {

        return substr($s1, 0, strpos($s1, $s2));

        }

    $url = selfURL();
fwrite($fil, "Dato: $dato_log        |Laest: $laest_log    |id: $id_log    |ip: $ip_log    |Modtager: $modtager_log    |Afsender $afsender_log    |Emne: $emne_log        |besked: $besked_log   
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ");

        fclose($fil);


        mysql_query("DELETE FROM `post` WHERE `id` = $val AND `modtager` = '$modtager'")  or die("<center><b>!!! Kunne ikke slette besked/erne !!!</b><br>line 259</center>");

      }

    } else {   


      mysql_query("DELETE FROM `post` WHERE `id` = $id AND `modtager` = '$modtager'") or die("<center><b>!!! Kunne ikke slette besked/erne !!!</b><br>line 262</center>");

    }

    return true;



  }



Håber i se fejlen...
Avatar billede jakobdo Ekspert
12. marts 2009 - 20:50 #1
Hvad betyder alle dine: (: (: (: (: ???

$row['id'] = id (: $row['ip'] = ip_log (: row['modtager'] = modtager_log (: row['afsender'] = afsender_log (: row['emne'] = emne_log (: row['dato'] = dato_log (: row['besked'] = besked_log (: row['laest'] = laest_log (:
Avatar billede ohhelpme Nybegynder
12. marts 2009 - 20:58 #2
til at adskille tingene...

har også prøvet med ; men duer ikke...
Avatar billede jakobdo Ekspert
12. marts 2009 - 21:02 #3
Men hvad er det du vil opnå med de linjer ?
For normalt benytter man ;, men din kode giver slet ikke mening.
Avatar billede ohhelpme Nybegynder
12. marts 2009 - 21:16 #4
Jeg vil opnå at få indholet i en MySQL tabel lavet om til $ (vibraler)...
Avatar billede majbom Novice
12. marts 2009 - 21:28 #5
i stedet for:

while($row = mysql_fetch_assoc($query)){
$row['id'] = id (: $row['ip'] = ip_log (: row['modtager'] = modtager_log (: row['afsender'] = afsender_log (: row['emne'] = emne_log (: row['dato'] = dato_log (: row['besked'] = besked_log (: row['laest'] = laest_log (:
}


så prøv med:

while($row = mysql_fetch_assoc($query)){
$id = $row['id'];
$ip_log = $row['ip'];
$modtager_log = $row['modtager'];
$afsender_log = $row['afsender'];
$emne_log = $row['emne'];
$dato_log = $row['dato'];
$besked_log = row['besked'];
$laest_log = $row['laest']:
}
Avatar billede jakobdo Ekspert
12. marts 2009 - 21:40 #6
Så kunne du overveje:

$query = mysql_query(' SELECT * FROM `post` WHERE `id` = $val AND `modtager` = $modtager');
$row = mysql_fetch_assoc($query);
extract($row);
Avatar billede dkfire Nybegynder
12. marts 2009 - 21:46 #7
Bør vel også lave
$query = mysql_query(' SELECT * FROM `post` WHERE `id` = $val AND `modtager` = $modtager');
om til:
$query = mysql_query("SELECT * FROM `post` WHERE `id` = $val AND `modtager` = $modtager");

Kender du forskellen på ' og " sammen med variabler ??
Avatar billede ohhelpme Nybegynder
12. marts 2009 - 22:09 #8
dkfire > nej jeg troede at ' og " var det samme...

jeg prøver mig lige frem med de eksempler i har lavet :-)
Avatar billede jakobdo Ekspert
12. marts 2009 - 22:12 #9
$var = 'Hej';

echo '$var med dig'; //Vil udskrive: $var med dig
echo "$var med dig"; //Vil udskrive: Hej med dig

php oversætter altså ikke variabler inden i ' og ', men det gør den mellem " og ".
Avatar billede ohhelpme Nybegynder
12. marts 2009 - 22:16 #10
... nu ved jeg det :)
Avatar billede ohhelpme Nybegynder
12. marts 2009 - 22:31 #11
jakobdo > Kan du ikke lige beskrive hvad denne gør:

extract($row);
Avatar billede jakobdo Ekspert
12. marts 2009 - 22:38 #12
Hvis vi siger du har:

$query = mysql_query("SELECT fornavn,efternavn, alder FROM brugere WHERE bruger_id = 1");
$row = mysql_fetch_assoc($query);
extract($row);

"Normalt" skulle du efter at have kaldt:
$row = mysql_fetch_assoc($query);
anvende:

echo 'Fornavn : ' . $row['fornavn'] . '<br />';
echo 'Efternavn : ' . $row['efternavn'] . '<br />';
echo 'Alder : ' . $row['alder'] . '<br />';

Så ville den udskrive info.
Men med extract, kan du "nøjes" med:

echo 'Fornavn : ' . $fornavn . '<br />';
echo 'Efternavn : ' . $efternavn . '<br />';
echo 'Alder : ' . $alder . '<br />';

Så den "oversætter" et array, til variabler.
Læs evt. selv mere på: http://dk.php.net/extract
Avatar billede ohhelpme Nybegynder
12. marts 2009 - 22:43 #13
heh det lyder rimelig simpelt... :)
jeg prøver lige...
Avatar billede ohhelpme Nybegynder
12. marts 2009 - 23:09 #14
Warning: extract() [function.extract]: First argument should be an array in E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\login\site\slet.php on line 12
Avatar billede ohhelpme Nybegynder
12. marts 2009 - 23:25 #15
fik det til at du :)
Avatar billede ohhelpme Nybegynder
12. marts 2009 - 23:59 #16
Tak for hjælpen...

giv svar vis i vil... :)
Avatar billede majbom Novice
13. marts 2009 - 08:19 #17
jeg springer over, godt du fik det til at virke.

jeg kendte ikke extract, men den er sq da snedig :)
Avatar billede jakobdo Ekspert
13. marts 2009 - 10:03 #18
Svar!
Avatar billede jakobdo Ekspert
14. marts 2009 - 20:23 #19
Takker for point.
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