[safari] variable wordt niet herkend binnen form tags *

Pagina: 1
Acties:

  • DJ-R
  • Registratie: April 2004
  • Laatst online: 03-05 22:03
het volgende is het probleem, ik heb een script wat perfect werkt in mozilla,opera,firefox,IE maar wat in safari mis gaat. Het lijkt mis te gaan doordat er een variabele ($customername) ergens lijkt te hangen

dit script haalt de nieuwe achtergrond en de beschrijving uit de database maar in safari lijkt hij de verkeerde customernaam mee te krijgen
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// als er iets veranderd is in het pulldown menu van frame 3
if (isset($_GET['refresh']))
{
    $customername = $_GET['customername'];
    $project = $_GET['projects'];
    
    $query = "SELECT filename,description FROM images WHERE customername = '$customername' AND project = '$project' AND type = '3' "; 
    
    $result = mysql_query($query) or die ("Query failed");
    
    $row                = mysql_fetch_array($result);   
    $filename       = stripslashes($row['filename']);
    $description           = stripslashes($row['description']);
    $selectedproject    = $project;
    $background         = $path.$filename;
    
}


dit is het formulier

PHP:
1
2
3
4
5
6
7
<form action="frame3.php" method="get"  enctype="multipart/form-data" name="form3" >
<select name="projects" STYLE="width: 150px" onchange="form.submit()" >
    <? show_projects($customername,$selectedproject) ?>
</select>
<input name="customername" type="hidden" value="<? echo $customername; ?>">
<input name="refresh" type="hidden" value="yes">
</form>


dit is trouwens de functie

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function show_projects($customername,$selectedproject) {

    $query = "SELECT project FROM images WHERE customername = ('$customername') AND type = '3' AND frontpage='NO' ORDER BY project";
    
    $result = mysql_query($query) or die ("Query failed");
    $numofrows = mysql_num_rows($result);

    for($i = 0; $i < $numofrows; $i++) {
        $row        = mysql_fetch_array($result); //get a row from our result set
        
        $listproject = stripslashes($row['project']);
        ?>
        <option<? if ($listproject == $selectedproject) {echo " selected";}?>><? echo $listproject?></option>
        <?
        }
}

iemand een idee hoe ik dit op kan lossen?

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:53

TeeDee

CQB 241

Ik denk dat je dit clientside moet zoeken. Als het nergens goed gaat lijkt het me een serverside probleem.

Wat is de output van je html?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:05

Creepy

Tactical Espionage Splatterer

PHP draait op de server, dus is totaal onafhankelijk van je browser
P&W -> W&G

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • DJ-R
  • Registratie: April 2004
  • Laatst online: 03-05 22:03
Ik heb alleen de goede html versie want ik heb hier dus geen safari helaas, nogmaals op alle andere geteste browsersgaat het goed het laatste dat ik weet wat fout gaat in safari dat de query projecten zoekt bij de verkeerde customername

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:53

TeeDee

CQB 241

Post die HTML dan eens? Last time I checked is de output van php altijd hetzelfde en is het afhankelijk van hoe de browser het interpreteert.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Zal het eerder fout gaan bij het versturen van het formulier. Ik mis bijv. een
code:
1
value=""

in je <option> die je print in de show_projects funcite. :?

[ Voor 14% gewijzigd door OkkE op 28-12-2004 15:44 ]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Zitten er speciale characters in de tabel images?
Je form heet form3 en je submit via de JS form?
OkkE schreef op dinsdag 28 december 2004 @ 15:43:
Zal het eerder fout gaan bij het versturen van het formulier. Ik mis bijv. een
code:
1
value=""

in je <option> die je print in de show_projects funcite. :?
value is optioneel...

[ Voor 61% gewijzigd door LuCarD op 28-12-2004 15:46 ]

Programmer - an organism that turns coffee into software.


  • DJ-R
  • Registratie: April 2004
  • Laatst online: 03-05 22:03
PHP:
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Frame 3</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
    background-attachment: fixed;
    background-image: url(http://www.studiopak.nl/images/poster_01.jpg);
    background-repeat: no-repeat;
    background-position: center center;
}
-->
</style>
<link href="pakstyle.css" rel="stylesheet" type="text/css">
</head>

<body>

<table width="100%" height="100%" class="outline">
  <tr>
  <td valign="middle"> 
      
      <table width="220" height="370" border="0" align="center">
          <tr> 
          <td valign="top"  height="74"> <br> 
      <form action="frame3.php" method="get"  enctype="multipart/form-data" name="form3" >
      <select name="projects" STYLE="width: 150px" onchange="form.submit()" >
        <option selected>ideeeënbus</option>
      </select>
      <input name="customername" type="hidden" value="Avebe">
          <input name="refresh" type="hidden" value="yes">
          </form>
   </td>
   </tr>
   <tr> 
   <td  height="210" >
   </td>
   </tr>
   <tr>
   <td height="74" valign="top" bgcolor="#FFFFFF" class="outline" style="padding: 7px"><STRONG>Opdrachtgever:</STRONG> De Smeth en Media<br><br><STRONG>Omschrijving:</STRONG> ontwerp voor de ideeënbus voor Avebe<br>
   </td>
   </tr>
   </table>
    
    </td>
  </tr>

</table>
</body>
</html>

[ Voor 58% gewijzigd door DJ-R op 28-12-2004 15:48 ]


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

MIsschien valt hij over de ë.

Programmer - an organism that turns coffee into software.


  • DJ-R
  • Registratie: April 2004
  • Laatst online: 03-05 22:03
het probleem is er dus alleen in safari, ik zat zelf meer te denken aan dat er wat mis gaat met het verwerken van het formulier

  • bakakaizoku
  • Registratie: Januari 2002
  • Laatst online: 19:42
offtopic:
Alsjeblieft, gooi een addslashes() over de $customername en $project variable alvorens ze te injecten in de database, anders word het hacken van je site wel heel erg makkelijk gemaakt

rm -rf ~/.signature


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

DJ-R schreef op dinsdag 28 december 2004 @ 15:54:
het probleem is er dus alleen in safari, ik zat zelf meer te denken aan dat er wat mis gaat met het verwerken van het formulier
Kleine vergelijking in de real world:
10 mensen bellen jouw op. 9 mensen hebben geen problemen met jouw telefoon, 1 daarvan klaagt bij jouw dat je telefoon niet goed is. Waar zou de fout waarschijnlijk liggen?

Nu.
Jij bent in dit verhaaltje de server, en die mensen die jouw opbellen zijn de browsers.

:)

Programmer - an organism that turns coffee into software.


  • DJ-R
  • Registratie: April 2004
  • Laatst online: 03-05 22:03
@ mattttt -> goed idee:)
@ LuCarD

de mensen waar ik dit voor maak zijn mac/safari gebruikers, het zou dus wel zo netjes zijn (en ook handig ivm de betaling) als het daar ook zou werken. Ik heb ook nog een klasgenoot van mij gevraagd met een mac en wat meer verstand van scripten, maar hij kon me helaas ook niet helpen

  • Spruit_elf
  • Registratie: Februari 2001
  • Laatst online: 05-05 22:13

Spruit_elf

Intentionally left blank

DJ-R schreef op dinsdag 28 december 2004 @ 16:16:
@ mattttt -> goed idee:)
@ LuCarD

de mensen waar ik dit voor maak zijn mac/safari gebruikers, het zou dus wel zo netjes zijn (en ook handig ivm de betaling) als het daar ook zou werken. Ik heb ook nog een klasgenoot van mij gevraagd met een mac en wat meer verstand van scripten, maar hij kon me helaas ook niet helpen
je snapt denk ik het probleem neit helemaal, het php script poept html uit, dat is voor alle browsers het zelfde, ook voor safari dat het in safari neit werkt ligt niet aan de php, maar aan het feit dat safari iets fout doet/ moeite heeft met de html die uitgepoept word.

als ik zou gouw naar dta formulier kijk, dan vraag ik me af waarom je dat formulier op onchange verzend en niet dmv een submit button, eerlijjk gezegd denk ik dat daar het probleem zit en ben ik ook van mening dat het aardiger is om je users zelf te laten kiezen waneer ze het verzenden, dan dat ze wellicht de verkeerde keuze maken en dat neit meer kunnen veranderen.

kijk igg of de html die uitgepoept word of die correct is en of daar geen fouten in zitten.

Those who danced were thought to be quite insane by those who could not hear the music.


  • DJ-R
  • Registratie: April 2004
  • Laatst online: 03-05 22:03
De "onchange" zit er in omdat het design geen submit button toestaat, als er wat anders gekozen word moet er andere info uit de dbase gehaald worden.

De HTML zou idd voor alle browsers hetzelfe moeten zijn, maar bij hete echo-en van de query kwam naar voren dat de query in Safari anders was als in Firefox. hierdoor bleef het project constant hetzelfde maar klopte de klantnaam niet meer (dacht ik) en daardoor kon hij geen filename meer vinden

maar,ik krijg vanavond een i-bookje tot m'n beschikking :) , dat test net even wat makkelijker

  • bakakaizoku
  • Registratie: Januari 2002
  • Laatst online: 19:42
Copy paste de safari query eens, en die van firefox ?

rm -rf ~/.signature


  • DJ-R
  • Registratie: April 2004
  • Laatst online: 03-05 22:03
hmm heb m'n ibookje nog steeds niet hier, maar dit is de laatste/enige query die ik heb die uit safari komt op het moment dat het fout ging:

SELECT filename,description FROM images WHERE customername = 'webontwerp' AND project = 'brochure' AND type = '3'

het probleem is hier dat "brochure" niet bij "webontwerp" hoort, in deze query is de verkeerde customername gebruikt

[ Voor 9% gewijzigd door DJ-R op 28-12-2004 21:11 ]


  • Spruit_elf
  • Registratie: Februari 2001
  • Laatst online: 05-05 22:13

Spruit_elf

Intentionally left blank

heb je een linkje naar een werkende versie?

je geeft de variabelen door met get dan krijg je dus een url als
...frame3.php?customername=naam&project=project klopt dat? want als dat al fout zit dan zit er iets fout bij de manier waarop safari variabelen doorgeeft vanuit het form, zit het daar goed dan ligt het probleem igg niet bij safari

[ Voor 74% gewijzigd door Spruit_elf op 28-12-2004 22:09 ]

Those who danced were thought to be quite insane by those who could not hear the music.


  • DJ-R
  • Registratie: April 2004
  • Laatst online: 03-05 22:03
mrcactus schreef op dinsdag 28 december 2004 @ 21:46:
heb je een linkje naar een werkende versie?
http://www.studiopak.nl/nieuw.html
je geeft de variabelen door met get dan krijg je dus een url als
...frame3.php?customername=naam&project=project klopt dat? want als dat al fout zit dan zit er iets fout bij de manier waarop safari variabelen doorgeeft vanuit het form, zit het daar goed dan ligt het probleem igg niet bij safari
de bedoeling is:
* je kiest in het middelste frame een bedrijf uit het portfolio
* je kunt dan in het 3e frame een bepaalde opdracht kiezen
* de openingspagina van het 3e frame vervalt dan! (dit is de bedoeling)

het gaat in safari fout bij het kiezen van een andere opdracht in frame 3
ook als je daarna een andere opdrachtgever uit het portfolio kiest.

maar ik heb ondertussen heb ik al een hoop weer veranderd dus misschien doet ie het al wel (nah.. vast niet)

  • bakakaizoku
  • Registratie: Januari 2002
  • Laatst online: 19:42
Verander die onclick eens in een onchange, en gebruik values voor je options

dus
code:
1
2
3
4
<select onchange="location.href='frame3.php?customername='+this.options[this.selectedIndex].value">
<option value="klant1">klant1</option>
<option value="klant2">klant2</option>
</select>

rm -rf ~/.signature


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

FireFox geeft bij mij deze melding... Maar hij werkt wel.

Warning: Form contains enctype=multipart/form-data, but does not contain method=post. Submitting normally with method=GET and no enctype instead.
Source File: /frame3.php?firstname=Stornebrink
Line: 0

Volgende foutmelding krijg ik ook...
Error: top.frames.frame3 has no properties
Source File: http://www.studiopak.nl/frame2.php
Line: 63

Programmer - an organism that turns coffee into software.


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
mattttt schreef op dinsdag 28 december 2004 @ 16:08:
offtopic:
Alsjeblieft, gooi een addslashes() over de $customername en $project variable alvorens ze te injecten in de database, anders word het hacken van je site wel heel erg makkelijk gemaakt
offtopic:
Ooit gehoord van magic_quotes_gpc?

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • DJ-R
  • Registratie: April 2004
  • Laatst online: 03-05 22:03
even een updateje,

heb nu een ibookje tot m'n beschikking en kom tot de volgende vreemde conclusie

in dit script(lichtelijk aangepast uit de sp) geeft de eerste $customer een andere waarde als de 2 in het form(in de "text" en in de functie), de waarde in het form houdt de oude waarde

PHP:
1
2
3
4
5
6
7
8
<? echo $customername ?>
<form action="frame3.php" method="post"  enctype="multipart/form-data" name="form" >
  <input name="customername" type="text" value="<? echo $customername?>">
  <input name="refresh" type="hidden" value="yes">
  <? if ($customername !="Portfolio") {
     show_projects($customername,$project);
       } ?>
</form>


weird

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 23:30
Title change :)

Motor (of auto) onderhoud bijhouden


  • DJ-R
  • Registratie: April 2004
  • Laatst online: 03-05 22:03
Zou het kunnen zijn dat dit een bug in Safari is? De variabele in het FORM wordt namelijk niet opnieuw gezet in Safari (maar wel in IE en Mozilla Firefox), maar wel buiten het FORM, dus dezelfde variabele blijkt twee waarden te hebben in dezelfde pagina.

Of zie ik iets over het hoofd?

Live meekijken op: http://www.studiopak.nl

  • DJ-R
  • Registratie: April 2004
  • Laatst online: 03-05 22:03
update:

het lijkt toch echt een bug in safari te zijn.
ik heb het nu opgelost door de customername aan de url toe te voegen

PHP:
1
<form action="frame3.php?customername=<? echo $customername ?> method="post"  enctype="multipart/form-data"  >


de rest van de waarden worden wel via POST verstuurd, beetje slordig, maar het werkt wel

heeft echt niemand dit eerder meegemaakt?

[ Voor 19% gewijzigd door DJ-R op 13-01-2005 14:13 ]


  • torp
  • Registratie: Januari 2001
  • Laatst online: 11-05 15:25
Hoi,
Ik had hetzelfde probleem bij een zoekdingetje met een input-veld. De variabele kwam wel in de parser terecht (die het opnieuw in het zoekveld zette) maar niet in de adresbalk.
Oplossing: eruithalen van enctype="multipart/form-data" en dat staat er bij jou ook in dus...
Als ik het goed begrijp is dat alleen van belang bij het uploaden van bestanden.
Pagina: 1