Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: PHP code - op één lijn zetten  (gelezen 3751 keer)

0 leden en 1 gast bekijken dit topic.

Offline Hombre

  • Volledig lid
  • **
  • Berichten: 164
  • ¡Qué guapa!
PHP code - op één lijn zetten
« Gepost op: 09 april 2012, 11:32:58 »
Beste forumbezoekers

Dit is een stukje code in een php document en dit werkt perfect. Alleen wil ik dit op één lijn krijgen en dit lukt me niet. Kan iemand me helpen?


echo '<table><tr><td width="500" align="center"><font color="#008080"><b>Lidmaatschap voor </b></font>' ; require_once("../include/Aanpassing.php"); lidjaar();
echo 
'</td><td></table>';


Hartelijk dank
Windows XP, Home, SP2, Intel Core2 Duo E6400 2.13Ghz, 1024 MB RAM, GeForce FX 7300LE, HDD:SATA II 160GB NTFS, AVG antivirus, Outlook Express

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re: PHP code - op één lijn zetten
« Reactie #1 Gepost op: 09 april 2012, 12:33:38 »
Hallo Hombre,

1/ Er wordt geen geldige html gegenereerd.  De laatste lijn moet dit zijn:
echo '</td></tr></table>';

2/ Bevat /include/Aanpassing.php nog html (aldanniet ge-output vanuit php)?

3/ Er kan nog CSS (opmaak) van toepassing zijn op dit stukje html en we weten niet waar dit staat in het document (bijvoorbeeld in een <div> met beperkte breedte), we hebben dus niet alle informatie :).

Offline Hombre

  • Volledig lid
  • **
  • Berichten: 164
  • ¡Qué guapa!
Re: PHP code - op één lijn zetten
« Reactie #2 Gepost op: 10 april 2012, 11:28:08 »
Beste Firebirdy

Bedankt voor je opmerkingen.

1/De code op de laatste lijn was inderdaad fout, bedankt. Maar dit doet niets aan het resultaat.

2/De pagina "include/Aanpassingen" bevat geen HTML (zoals je kan zien)


<?php
	
function 
lidjaar()
	
{
	
echo 
"<center><font color='#008080'>2012</font><br><br></center>";
	
}
?>


3/ CSS opmaak zit in een style.css en gedeeltelijk in deze pagina.

Opnieuw een stukje meer van de code misschien zegt dit meer.
Eerlijk toegeven, ik heb dit geleerd en aangepast via knippen en plakken en begrijp niet altijd de volledige inhoud van de code. Toch lukt het me meestal maar deze keer niet.
Hopelijk ben hier iets meer mee! Bedankt.


//Formulier

if($form_view == true) {

	
echo 
'
<html>
<head>
	
    <style type="text/css">
	
    
	
body {
	
    
	
	
font-family: Verdana;
	
    
	
	
font-size:12px;
	
    
	
}
	
    
	
td {
	
    
	
	
font-family: Verdana;
	
    
	
	
font-size:12px;
	
    
	
}
	
    </style>
</head>

<body bgcolor="#CCFFFF">'


echo 
'<table><tr><td width="500" align="center"><font color="#008080"><b>Lidmaatschap voor </b></font>'
require_once(
"../include/Aanpassing.php"); lidjaar();
echo 
'</td><tr></table>';

	
if(
$error != ''){
......


De code op het scherm geeft wel iets anders aan dan er echt staat: <b>Lidmaatschap voor </b></font>';
Windows XP, Home, SP2, Intel Core2 Duo E6400 2.13Ghz, 1024 MB RAM, GeForce FX 7300LE, HDD:SATA II 160GB NTFS, AVG antivirus, Outlook Express

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re: PHP code - op één lijn zetten
« Reactie #3 Gepost op: 10 april 2012, 13:32:43 »
Dag Hombre,

Als ik het goed begrijp is het probleem dat Lidmaatschap voor en 2012 niet op dezelfde lijn staan.

Citaat
2/ Bevat /include/Aanpassing.php nog html (aldanniet ge-output vanuit php)?
Aanpassingen.php bevat wel degelijk html, gegenereerd vanuit php ;). Misschien had ik het duidelijker moeten verwoorden.

De code op je pagina is dus dit:
<table>
<tr>
<td width="500" align= "center">
<font color="#008080"><b>Lidmaatschap voor&nbsp;</b></font>
<center><font color='#008080'>2012</font><br><br></center>
</td>
</tr>
</table>

<center> is een tag op blockniveau, niet inline. Daarom kan ze niet op dezelfde lijn weergegeven worden als de voorgaande tekst. Verwijder de center dus, ze is toch overbodig door de align="center" op je cel ;) (en is een tag die niet meer in gebruik is, net zoals b, font, enz... ;)).

Offline Hombre

  • Volledig lid
  • **
  • Berichten: 164
  • ¡Qué guapa!
Re: PHP code - op één lijn zetten
« Reactie #4 Gepost op: 10 april 2012, 14:29:20 »
Beste Firebirdy

Misschien was mijn bedoeling niet duidelijk waarom ik dit zo wil doen.

In de pagina "Aanpassingen" staan alle gegevens die elk jaar/periode moeten aangepast worden. Hierdoor moet je niet in alle pagina's gaan zoeken waar alles staat.

Hierdoor wil de "require_once("../include/Aanpassing.php"); lidjaar();" integreren in een lijn tekst.

Als dit niet kan op één lijn dan ga ik de tekst "Lidmaatschap voor" ook in deze pagina zetten en is de zaak ook opgelost.

Ik dacht dat het anders kon.

Toch bedankt 
Windows XP, Home, SP2, Intel Core2 Duo E6400 2.13Ghz, 1024 MB RAM, GeForce FX 7300LE, HDD:SATA II 160GB NTFS, AVG antivirus, Outlook Express

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re: PHP code - op één lijn zetten
« Reactie #5 Gepost op: 10 april 2012, 20:19:09 »
Hallo Hombre,

Wat je wil doen, namelijk de twee stukken tekst op één lijn zetten, is mogelijk, mits een kleine aanpassing.

Waarom staat het nu niet op één lijn?

Op je pagina heb je nu ruwweg dit als resultaat:
Lidmaatschaap voor <center>2012</center>Je ziet dat je tekst hebt in een <center>-tag (2012) en tekst er buiten (Lidmaatschap voor). Dit staat op twee lijnen en de center tag zorgt ervoor dat de tekst er binnen (2012) gecentreerd wordt.

Nu moet je weten dat de elementen op een htmlpagina op twee manieren (een vereenvoudiging voor het gemak) weergegeven worden: binnen de tekst en als blok-element. Misschien ken je dit vanuit Word: je kan een afbeelding binnen de tekst plaatsen zodat de tekst er rond gaat, maar je kan ook kiezen dat er geen tekst links en rechts van de afbeelding mag staan. De <center>-tag gedraagt zich op een gelijkaardige manier door zich uit te strekken als 'blok' over de paginabreedte :). Er kan dus geen tekst meer links of rechts van staan.

Als je erover denkt is dat ook logisch: je kan tekst maar centreren op een pagina als je daarvoor de paginabreedte kan gebruiken.

Wat gebeurt er dus: de browser doorloopt de tekst zoals normaal: ... Lidmaatschap voor... en komt dan zo'n blokelement tegen, namelijk een <center>-tag. Ha, dan gaan we die centreren :). Op een nieuwe lijn wordt de tekst binnenin (2012) gecentreerd over de volledige paginabreedte. Ik kan het je bewijzen ook, zie de afbeelding in bijlage. De stippellijn is de table, de blauwe lijn is het <center> element (met de twee <br>'s nog in).

Hoe zet je het op één lijn?
Gebruik geen <center> op die plaats.

Dit is je nieuwe functie:
<?php
   function lidjaar()
   {
      echo "<font color='#008080'>2012&l t;/font><br><br>";
   }
?>

Nu is het mogelijk dat je de functie nog op andere plaatsen ook gebruikt en waar je wèl het centreren wil gebruiken. De oplossing is dan eenvoudig: voeg <center> en </center> toe rond de aanroep van de functie :).

Bijvoorbeeld:
<center><?php require_once("../include/Aanpassing.php"); lidjaar(); ?></center>

Noot
Naar onderhoud toe is het aan te raden om data ('model') en presentatie ('view') van elkaar gescheiden te houden :). Het is dus beter om een functie te maken als dit:
<?php
   function lidjaar()
   {
      return 2012;
   }
?>

Deze functie kan je dan op gelijk welke manier herbruiken, bijvoorbeeld zo:
...<td>Lidmaatschap voor <font color='#008080'><?php echo lidjaar() ?></font></td>...

of op andere pagina's:
...<center><?php echo lidjaar() ?></center><br/><br/>...

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re: PHP code - op één lijn zetten
« Reactie #6 Gepost op: 19 april 2012, 19:20:41 »
Hallo Hombre,

Was je hiermee geholpen? :)

 


www.combell.com