ruimte tussen verschillende onderdelen
Misschien kan iemand mij hiermee helpen.
Ik heb de volgende html code:
Daarbij heb ik de volgende css code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#contactform{
border: 1px green solid;
/* width:410px;
height:370px; */
margin:0;
margin-left:-100px;
padding:0;
}
#contactform iframe{
border: 1px solid red;
margin: 0;
padding: 0;
width:410px;
height:370px;
}
border: 1px green solid;
/* width:410px;
height:370px; */
margin:0;
margin-left:-100px;
padding:0;
}
#contactform iframe{
border: 1px solid red;
margin: 0;
padding: 0;
width:410px;
height:370px;
}
Toch krijg ik ruimte tussen het het rode en het groene kadertje en ook ruimte tussen het rode kadertje en het formulier dat in het iframe wordt getoond. Wie heeft een idee hoe dat kan?
Aan de onderzijde is de ruimte tussen rood en groen nu weg (Boven en links was er al geen ruimte). Aan de rechterzijde echter nog steeds niet. Ook is er nog steeds ruimte tussen de rode lijn en het formulier, en dan zowel links, rechts als onder.
Nog meer ideeën?
Jop
Dat formulier kun je niet stijlen aangezien die in het iFrame zit, tenzij je die contact.php kunt bewerken. Maar iFrames? We leven in 2014 niet in 1990.
Als het anders kan/moet dan met een iframe dan houd ik me van harte aanbevolen. Ik volg slechts de instructies van de oorspronkelijke maker van het formulier.
Toevoeging op 12/06/2014 15:13:50:
@ Metal Hertog Jan:
In 1990 waren er nog niet eens <frame>'s, laat staan <iframe>'s ... een iets genuanceerder oordeel mag best. Het is bovendien weinig constructief. Geef dan aan hoe het wel zou moeten.
Toevoeging op 12/06/2014 15:24:55:
PPS Er was tussen 1990 en 2014 wel ruim tijd om een bugje er uit te halen ;-)
Quote:
In 1990 waren er nog niet eens <frame>'s, laat staan <iframe>'s ... een iets genuanceerder oordeel mag best.
Klopt; is in 1996 geïntroduceerd... het feit dat iframes dus vaak achterhaald zijn klopt dus nog steeds ondanks dat iframes maar liefst 6 jaar "moderner" zijn dan Metal Hertog Jan aangaf.
Omdat je er rechtstreeks naar verwijst in je iframe, neem ik aan dat contact.php gewoon op dezelfde server draait.
Je zou bijvoorbeeld dus kunnen doen:
Aan de rechterzijde heb je nu een witruimte omdat je iframe een display block is, oftewel hij gedraagt zich als een blok over de gehele breedte als ik het goed heb, dit kun je eenvoudig op lossen door een float:left; of een display:inline-block; aan de iframe mee te geven.
Quote:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at
Waarschijnlijk nog een keer session_start();
Dat wordt nu geinclude op het moment dat er al iets naar de browser is gestuurd en dat gaat niet.
Als je voor session_start(); in contact.php eens even tijdelijk // zet. Werkt het dan?
WERKT! Nou ja, deels. Het formulier staat op: index.php?page=20, maar als ik op verzenden druk ga in naar index.php ... Heb je daar ook een oplossing voor? In het formulier staat:
CSS verandert in:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#contactform{
border: 0px green solid;
width:416px;
height:370px;
margin:0;
margin-left:-100px;
padding:0;
}
#contactform iframe{
display: block;
border: 0px solid red;
margin: 0;
padding: 0;
width:100%;
height:100%;
}
border: 0px green solid;
width:416px;
height:370px;
margin:0;
margin-left:-100px;
padding:0;
}
#contactform iframe{
display: block;
border: 0px solid red;
margin: 0;
padding: 0;
width:100%;
height:100%;
}
Dit lijkt het probleem van de lijnen op te geven. Als iemand nog een dee heeft om het probleem met de headers op te lossen en zo een zwaar verouderde <iframe> te voorkomen, dan houdt ik me van harte aanbevolen.
J Pla op 12/06/2014 15:11:23:
@ Metal Hertog Jan:
In 1990 waren er nog niet eens <frame>'s, laat staan <iframe>'s ... een iets genuanceerder oordeel mag best. Het is bovendien weinig constructief. Geef dan aan hoe het wel zou moeten.
Toevoeging op 12/06/2014 15:24:55:
PPS Er was tussen 1990 en 2014 wel ruim tijd om een bugje er uit te halen ;-)
In 1990 waren er nog niet eens <frame>'s, laat staan <iframe>'s ... een iets genuanceerder oordeel mag best. Het is bovendien weinig constructief. Geef dan aan hoe het wel zou moeten.
Toevoeging op 12/06/2014 15:24:55:
PPS Er was tussen 1990 en 2014 wel ruim tijd om een bugje er uit te halen ;-)
Ik wil met die reactie aangeven dat frames zwaar verouderd zijn, ga niet wijsneus uithangen met jaartallen ;-) Los het anders op, bijvoorbeeld met een include zoals hier boven werd gemeld. De errors die je dan krijgt moet je stap voor stap fixen, desnoods met hulp van hier.
Header al ready send error is al tig keer beantwoord hier, gebruik de zoek functie maar eens kort gezegd: Er mag geen enkele output voor de headers staan.
BV http://www.phphulp.nl/php/tutorial/php-algemeen/header-already-sent/738/
Gewijzigd op 12/06/2014 16:07:10 door Joakim Broden
Anders zou je nog kunnen doen action="index.php?page=20"
Of is er een methode om de paginanaam inclusief het deel achter het "?" uit te lezen?
Quote:
action="" zal een foutmelding geven in de validator,
"zal" in de vorm van 'daar ga ik van uit' of je hebt het geprobeerd in een validator en het blijkt zo te zijn?
In 9 van de 10 form's zet ik action="" en dat is nog nooit slecht uit een validator gekomen.
Toevoeging op 12/06/2014 22:01:06:
Correctie: ik zie dat het in HTML5 niet meer zou mogen. Weet iemand hier misschien meer van?
Maar kom nu nog meer headers tegen in het script die foutmeldingen geven. Bovenin staat nog een ob_start(). Moet ik die dan misschien verplaatsen naar het begin van het hele script? En kan ob_start() nog invloed hebben op andere zaken?
Ik heb wel iets over headers gevonden, maar op zich duidelijk dat er geen header mag voorkomen na enige output. Als ik daar aan zou moeten voldoen, dan moet ik mijn hele site omschrijven. Iets waar ik niet echt op zit te wachten.
Aanvullend:
Dit is het script dat met include contact.php ingevoegd moet worden:
http://www.phphulp.nl/php/script/php-algemeen/contact-formulier-captcha-v2/1210/
Een script met verkeerde logica gaat alleen fouten ophopen. Dus het is een kwestie van nu iets kleins oplossen voor elke pagina (waarbij het alleen het verplaatsen van code van beneden naar boven het doctype betreft) of later echt je hele code opnieuw gaan herschrijven.
Inderdaad is action="" nutteloos: een attribute zonder value is gelijk aan geen attribute. Dus haal heel action="" weg en klaar is kees!
Ja, je hebt gelijk met het herschrijven. Maar voor die ene pagina waar ik wel een keer headers gebruik heel veel te herschrijven ... liever niet. Het is voor mij een hulpmiddel om mijn hobby te kunnen publiceren, niet werk ... Er zullen veel meer onlogische dingen in mijn scripts zitten die er bij het herschrijven ook niet uit gaan ... Dat zou betekenen dat ik in de toekomst nog een keer een herschrijving moet doen.
Dus liever antwoord op de vraag of ik iets met dat ob_start() kan doen.