Script moet in IE anders zijn dan in overige browsers

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Tristan

Tristan

26/12/2008 11:58:00
Quote Anchor link
Hallo,

Ik heb dit stukje code uit een veel groter script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
   for($i=+1;$i<sizeof($its)-1;$i++){
          $det=explode("|",$its[$i]);
?>

In IE werkt dit, maar in de overige browsers moet het dit zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
   for($i=0;$i<sizeof($its)-1;$i++){
          $det=explode("|",$its[$i]);
?>

Maar dat werkt weer niet in IE.
Hoe kan ik zorgen dat het in alle browsers goed werkt?

Alvast bedankt.
 
PHP hulp

PHP hulp

29/03/2024 09:48:03
 
Arian Stolwijk

Arian Stolwijk

26/12/2008 12:18:00
Quote Anchor link
Hoezo zou dit niet werken in IE? Dit is gewoon php en dat is browser onafhankelijk. Ik denk dat je ietsje meer moet laten zien (wat relevant is).
 
Tristan

Tristan

26/12/2008 12:36:00
Quote Anchor link
Dit stuk komt erna
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?  $string = "$det[1]";
$afgekort2 = afkorten2($string,12);
          $mailmessage.="
<tr><td align=center>$det[5]</td><td>$afgekort2 ($det[2]) $det[6] $det[7]</td><td>$donvi$det[3]</td><td align=center>$det[4]&nbsp;</td><td>$donvi"
.($det[3]*$det[4]) . "</td></tr>";
          $producten.="
<tr><td align=center>$det[5]</td><td>$afgekort2 ($det[2]) $det[6] $det[7]</td><td>$donvi$det[3]</td><td align=center>$det[4]&nbsp;</td><td>$donvi"
.($det[3]*$det[4]) . "</td></tr>";    
        $query1="UPDATE producten SET verkocht=verkocht+$det[4] WHERE productnr=$det[5]";
        mysql_query($query1) or die (mysql_error());
$product.="$det[5], ";
  }

?>

en daar gaat het fout want als je zegt i=0 dan denkt IE dat er nog een product is, dus valt het laatste product weg.
maar als je zegt i=+1 dan bestaat voor de overige browsers het eerste product niet, de overige wel.

In het begin van het script staat overigens dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?
$its
=explode("^",$HTTP_COOKIE_VARS["mws_cart"]);
        $tongtien2=0;
        $verzendgewicht2=$lang[69];
        for($i=0;$i<sizeof($its)-1;$i++){
          $det=explode("|",$its[$i]);
          $mailmessage.="\n\n      ".($i+1).".$det[1] ($det[2]) \n     $donvi $det[3]  x $det[4] = $donvi " .($det[3]*$det[4]) ." \n      Optie 1 [$det[6]] - Optie 2 [$det[7]]";
         
        $verzendgewicht2=$verzendgewicht2+($det[8]*$det[4]);
        $tongtien2=$tongtien2+($det[3]*$det[4]);
    }

?>

Maar daar werkt het wel.
Gewijzigd op 01/01/1970 01:00:00 door Tristan
 
Arian Stolwijk

Arian Stolwijk

26/12/2008 13:11:00
Quote Anchor link
Zet dit eerst bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>


Daarna zorg je ervoor dat je php code te lezen valt...
PHP buiten quotes en op de juiste manier tabs gebruiken.
Ook moet je er even voor zorgen dat je html valid is.

Want zover ik het zie zet jij gewoon een aantal html tabelrijen in een variabele (die je waarschijnlijk ergens anders echoot)...

PHP is browser onafhankelijk. Dus voor elke browser maakt hij de zelfde output. Als je in IE iets niet ziet wat je in een andere browser wel ziet (en vice versa), dan is er denk ik iets met je output (html) aan de hand.
 
Tristan

Tristan

26/12/2008 13:26:00
Quote Anchor link
dan krijg ik dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?
Warning: ini_set() has been disabled for security reasons in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 3

Notice: A session had already been started - ignoring session_start() in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 21

Notice: Undefined offset: 8 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 42

Notice: Undefined offset: 4 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 42

Notice: Undefined offset: 3 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 43

Notice: Undefined offset: 4 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 43

Notice: Undefined offset: 1 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 125

Notice: Undefined offset: 5 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 128

Notice: Undefined offset: 2 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 128

Notice: Undefined offset: 6 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 128

Notice: Undefined offset: 7 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 128

Notice: Undefined offset: 3 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 128

Notice: Undefined offset: 4 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 128

Notice: Undefined offset: 3 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 128

Notice: Undefined offset: 4 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 128

Notice: Undefined offset: 5 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 130

Notice: Undefined offset: 2 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 130

Notice: Undefined offset: 6 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 130

Notice: Undefined offset: 7 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 130

Notice: Undefined offset: 3 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 130

Notice: Undefined offset: 4 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 130

Notice: Undefined offset: 3 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 130

Notice: Undefined offset: 4 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 130

Notice: Undefined variable: producten in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 130

Notice: Undefined offset: 4 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 131

Notice: Undefined offset: 5 in /usr/export/www/vhosts/funnetwork/hosting/cheapaccu/modules/order_sender.php on line 131
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE productnr=' at line 1
?>

en de lijnen tuseen 42 en 128 zijn nou net de lijnen van de stukken code die ik heb gepost.

moet ik misschien een stuk code gebruiken als HTTP_useragent om de browser te achterhalen?
Gewijzigd op 01/01/1970 01:00:00 door Tristan
 
Arian Stolwijk

Arian Stolwijk

26/12/2008 14:21:00
Quote Anchor link
Om de User Agent te achterhalen lijkt me geen goed idee.

Krijg je net zulke problemen als hotmail had. Dat firefox 3.1 of ff op linux niet herkent wordt, Chrome het niet doet...

Dit probleem heeft sowieso mijn inziens niets met de browser te maken. Je moet gewoon zorgen voor de juiste output. Zo te zien heb je 53 regels met errors... Dat lijkt mij niet normaal. Probeer die eerst eens op een nette manier op te lossen.

Of begin helemaal opnieuw.
Zo te zien haal je iets uit een cookie. Die de data op een wel hele aperte manier heeft gescheiden (oke | begrijp ik... maar waarom niet gewoon de serialize(), json_encode(), csv)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

if($_COOKIE['mws_cart'){
    $data = explode('^',$_COOKIE['mws_cart']);
    
    if(isset($data[1])){
        $producten = explode('|',$data[1]);
        foreach($producten as $product){
            $html = .'<tr><td>'.$product.'</td></tr>';            
        }        
    }
}

echo $html;

?>



ps. $HTTP_COOKIE_VARS is echt té oud... gebruik gewoon $_COOKIE!
 
Tristan

Tristan

26/12/2008 15:46:00
Quote Anchor link
Opgelost!!
Als je in het winkelwagentje drukte op alles verwijderen bleef er altijd een regel in de cookie staan. Daardoor was er een regel teveel als je weer nieuwe producten toevoegde. Vandaar het probleem en het was gewoon toeval dat ik in de overige browsers nog nooit op die knop had gedrukt.

Toch bedankt!!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.