Topic: alertscript vid registrering

Vid registrering och närm na får upp javascript-alert så står det fält som man glömde fylla i på engelska,

tex "password1 är ett obligatorisk fält i detta formulär"

Re: alertscript vid registrering

Mm, jag vet. Det är lite irriterande. Jag vet dock inte något smidigt sätt att lösa det på. Aja, jag ska ta en funderare.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: alertscript vid registrering

märkte att det bara ät att döpa om textfälten till det språk man vill ha, altså name. Kan man då inte där input-fälten skrivs ut plocka name från språk-filerna, och samma sak när man sen ska lägga in det i databasen.

Re: alertscript vid registrering

Jo, nåt sånt får det bli (om du menar vad jag tror du menar). Det blir dock en hel del ändringar i koden, så vi får se. Tveksamt om det kommer med i 1.0.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

5 (edited by pettan 2003-06-22 14:36)

Re: alertscript vid registrering

För de som vill fixa så har jag gjort på följande sätt för att använda språkfilerna även i alert-scriptet:

Jag ändrar alla text-forms i register.php så att de får ett namn som börjar med req_ och sen ordet från språkfilerna. OBS! Denna ändring gäller bara vid registreringen men det fungerar nog på samma sätt på alla andra ställen där alert-scriptet används.

Tex:

<input type="text" name="req_username" size="25" maxlength="25">

Ändras till:


<input type="text" name="req_<?php print $lang_common['Username'] ?>" size="25" maxlength="25">

Och sen ändrar jag där de tas emot ungefär på rad 80:

$username = trim(un_escape($_POST['req_username']));

Ändras till:

$username = trim(un_escape($_POST['req_'.$lang_common['Username']]));

Sen är det bara att göra på samma sätt med de övriga fälten så får man sitt valda språk även i alert-scriptet smile

Re: alertscript vid registrering

Inte dumt alls. Jag ska göra något liknande till 1.0.

Jag var lite rädd att det skulle bli problem med "internationella" tecken i variabelnamn, men det kanske det inte blir.

Edit: Jag kollade precis det här med specialtecken och enligt manualen är alla ascii-värden OK.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: alertscript vid registrering

Jag kommer nog inte implementera detta till 1.0. Det är ändå ett par formulär i PunBB och sannolikheten att det slinker igenom någon korkad liten bugg då jag gör ändringarna är för stor för att jag ska våga nu när vi är så nära 1.0 :)

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: alertscript vid registrering

Jag skall fixa detta till 1.1, men har kört i väggen big time. Lösningen som pettan föreslog är snabb och enkel att implementera, men den har ett allvarligt problem. Jag trodde inledningsvis att alla ascii-värden var OK i NAME-attributet, men så är ej fallet. HTML-standarden säger:

"ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".")."

Man är alltså kraftigt begränsad vad gäller namngivning av formulärelementen. Om t.ex. $lang_common['Username'] innehåller ett mellanslag blir det problem. Det som händer i praktiken är att browsern ersätter mellanslag med underscore. Detta blir inte bara fult i felmeddelandet utan innebär också att man i koden måste se till att de översatta orden inte innehåller några mellanslag. Man måste göra samma sak när man tar emot POST-data. Det finns vad jag vet ingen lösning på detta. Grrrr.

Edit: Problem löst: http://punbb.org/forums/viewtopic.php?id=3054

"Programming is like sex: one mistake and you have to support it for the rest of your life."