Avatar billede alid Nybegynder
13. marts 2015 - 23:06 Der er 2 kommentarer og
1 løsning

php loop fejl

Godaften
jeg har google mig frem til eksperten efter snart 2 dage hvor jeg sidder og glor på dette script jeg kan overhoved ikke se hvor fejlen ligger
jeg håber af nogle kan se med bedre øjen end jeg kan.
passwords og tokenkeys er skifte ud i scripte.
den brokker sig over "for($i=0; $i<count($emaildata); $i++)"
men den skulle virke


<?php

mysql_connect('localhost','root','pass') or die(mysql_error());

mysql_select_db('export') or die(mysql_error());

$query=mysql_query("select * from signups where country = 'DK' AND signup_date > date_sub(now(), interval 5 minute) ;")  or die(mysql_error());

while($res=mysql_fetch_array($query))
{
        $emaildata[] = $res['email'];

        $nameedata[] = $res['name'];

}

//echo "<pre>";
//print_r($emaildata);


for($i=0; $i<count($emaildata); $i++) // den brokker sig over denne her


$username = "export";
$usertoken = "tokekey";
//$email = "$emaildata[$i]";
$list = 11;
$xml = "
<xmlrequest>
        <username>export</username>
        <usertoken>tokenkey</usertoken>
        <requesttype>subscribers</requesttype>
        <requestmethod>AddSubscriberToList</requestmethod>
    <details>
        <emailaddress>{$email}</emailaddress>
        <mailinglist>11</mailinglist>
        <format>html</format>
        <confirmed>yes</confirmed>
        <customfields>
        </customfields>
    </details>
</xmlrequest>
";

$ch = curl_init('app.domaine.url/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
if($result === false) {die("Error performing request");}
//var_dump($result); //for debugging purposes
//Example of how to display returned data
$xml_doc = simplexml_load_string($result);
if ($xml_doc->status == 'SUCCESS' && empty($xml_doc->data)) {die('Status is success. Empty response.');}
if ($xml_doc->status == 'SUCCESS') {
        echo 'Response: <br />';
        var_dump($xml_doc->data);
} else {
        echo 'Error is '. $xml_doc->errormessage;
}

?>
14. marts 2015 - 00:15 #1
Det ville nok have været nemmere at hjælpe, hvis du havde fortalt hvad "den brokker sig" betyder.  Hvad sker der, kommer der en fejlmelding, og hvad siger den?
En ting der falder mig i øjnene er, at jeg normalt forventer, at instrukserne i en for løkke er mellem {}, altså
for($i=0; $i<count($emaildata); $i++)
{
    her kommer der hvad der skal ske i løkken;
    og hvad der mere skal ske i løkken;
}
Avatar billede arne_v Ekspert
14. marts 2015 - 02:40 #2
for($i=0; $i<count($emaildata); $i++)
$username = "export";

burde vaere legal syntax men formentligt en logisk fejl - det svarer til:

for($i = 0; $i < count($emaildata); $i++) {
    $username = "export";
}
Avatar billede alid Nybegynder
14. marts 2015 - 10:25 #3
beklager af jeg først svare nu

jeg fandt ud af fejlen. dato formate var forkert i mysqlen

så derfor kunn " $query=mysql_query("select * from signups where country = 'DK' AND signup_date > date_sub(now(), interval 5 minute) ;")  or die(mysql_error()); " ikke se nogle output.

utroligt af det har tage så lang tid af se sådan en dum fejl.

takker for hjælpen.
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