Plaatje in $
Hoe komt dit plaatje dan op het scherm?
Hint: dit werkt niet: <img src=$plaatje>
(eigenlijk html gerelateerd, maar goed)
$_GET['plaatje'];
is voor het ophaalen van de waarde uit de URL.
Dit gebruik je als je de naam van het plaatje mee stuurt in je URL.
Edit:
Bijvoorbeeld:
<a href=hallow.php?plaatje=image.jpg>
hallow.php:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
if(isset($_GET['plaatje']) { // kijken als de waarde voor plaatje wel is ingevult
$img = $_GET['plaatje']; // geeft plaatje een waarde en verkomt Notice
echo "<img src=".$img.">"; // Laat het plaatje zien met het opgegeeven URL
}else{ // Als er geen waarde voor plaatje is ingevult
echo "Er is geen waarde voor Plaatje ingevult!"; // plaatje is niet ingevult dus geeft een error
}
?>
if(isset($_GET['plaatje']) { // kijken als de waarde voor plaatje wel is ingevult
$img = $_GET['plaatje']; // geeft plaatje een waarde en verkomt Notice
echo "<img src=".$img.">"; // Laat het plaatje zien met het opgegeeven URL
}else{ // Als er geen waarde voor plaatje is ingevult
echo "Er is geen waarde voor Plaatje ingevult!"; // plaatje is niet ingevult dus geeft een error
}
?>
Hoop dat het duidelijk is ^^
Gewijzigd op 01/01/1970 01:00:00 door Cake Masher
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Sjoerd
Die puntjes doen het hem iedere keer! Wat het nu precies doet en wanneer je het nu eigenlijk moet gebruiken is voor mij een raadsel.
Code (php)
Komt de uitleg...
Als je ontvangt dat er een plaatje wordt meegegeven in de titelbalk maak dan een variable $plaatje aan. Het plaatje wordt standaard pic genoemd en de waarde die bovenaan in de titelbalk wordt gegeven achter plaatje zet hij erachter. Vervolgens echo je deze gegevens et voila. http://klas4b.sjoerddesign.nl/plaatje.php?plaatje=1
Gewijzigd op 01/01/1970 01:00:00 door Sjoerd
Rick:
@Sjoerd: je kan net zo goed de " en de \ weg haalen. Dit zou alsnog niet werken want dan krijg je als output:
<img src=$plaatje>
<img src=$plaatje>
Met apostrofen ziet het er netter uit.
variabelen horen buiten de quotes.
Maar op html op je scherm te krijgen moet je het wel echo'en met haakjes er tussen.
Om nou die variabelen toch te kunnen echo'en plak je die er aan met een punt (.)
Code (php)
Kortom heel simpel
edit:
Ik zou um zo doen:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
if(file_exists($_GET['plaatje'])){
echo '<img src="'.$_GET['plaatje'].'">';
}
?>
if(file_exists($_GET['plaatje'])){
echo '<img src="'.$_GET['plaatje'].'">';
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Kalle P
Rick:
Ja dat is natuurlijk maar net wat je fijn vindt werken. Ik doe het altijd met backslashes en apostrofen.
Gewijzigd op 01/01/1970 01:00:00 door Sjoerd
@sjoerd, probeer wel de variablen buiten de quotes te houden, scheel een hoop tijd bij groote scripts ;)
Hoe bedoel je dat ? in een apart php bestand en dan includen ofzo ?
vb:
$naam = "Terence";
probeer ipv:
echo "Hallo, ik ben $naam";
dit te doen:
echo "Hallo, ik ben ".$naam;
De enkele quotes zijn nog sneller:
echo 'Hallo, ik ben '.$naam;
bij "dubbele quotes" kijkt php of er nog variablen in de strings voorkomen, dit kost tijd.
Als er 'enkele quotes' staan, stuurt php het direct naar het scherm, maar omdat de $variablen buiten de quotes staan, vervangt php deze altijd.
edit: Let erop dat als je iets toevoegt (dus bijvoorbeeld een $variable achter een string, dat je altijd een . neerzet!
Gewijzigd op 01/01/1970 01:00:00 door Terence Hersbach
Terence:
@sjoerd, probeer wel de variablen buiten de quotes te houden, scheel een hoop tijd bij groote scripts ;)
Sorry.. zal er op letten.. net nieuw hier! ;)
kijk naar mijn voorbeeld.
Terence:
@sjoerd, probeer wel de variablen buiten de quotes te houden, scheel een hoop tijd bij groote scripts ;)
Niet waar. Zelfs bij grote scripts gaat het om duizendsten van seconden. Het gaat er alleen maar om, welke stijl van programmeren je adopteert. Voor het debuggen is het handig als je met een editor werkt die syntax highlighting ondersteunt. Dan kun je meteen zien waar de vars zitten. De tijdwinst die het oplevert is te verwaarlozen.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Maar mijn editor heeft ook syntax highlighting, maar laat mijn variabelen toch gewoon zien ook al doe ik het op deze manier.
Code (php)
Alleen werkt dit niet omdat de $var in de echo tussen enkele quotes staat. $vars altijd buiten quotes levert de minste problemen op.
En html hoort tussen dubbele quotes...