Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] Vraagjes: HTML strippen, datum-conversie (https://forum.scholieren.com/showthread.php?t=1137932)

Tuinkabouter !! 26-03-2005 11:34

[PHP] HTML in variabele en YYYY-MM-DD omzetten in DD-MM-YYYY
 
Hallo,

Vraag 1:

PHP-code:


$userid 
mysql_insert_id();
    
$activatepath "activate.php?id=$userid&code=$db_password";
    
$subject "Lidmaatschap evenementenlijst $sitename";
    
$message "
    
    Geachte 
$first_name $last_name,
    U bent nu geregistreed gebruiker van 
$sitepath !

    Om uw account te activeren, moet u de volgende link aanklikken: 
$sitepath$activatepath

    Als u uw account geactiveerd heeft, dan kunt u inloggen met de volgende gegevens:
    Gebruikersnaam: 
$username
    Wachtwoord: 
$random_password
    Vergeet uw wachtwoord niet.

    Met vriendelijke groet,
    Webmaster, 
$sitename


    Dit is een automatisch gegenereerd e-mailbericht, beantwoord deze mail niet.
    
    "


Het mailtje wordt verstuurd en komt over, maar ziet er niet uit.

Ik zou graag regeleinden in willen voegen, in HTML met een <br> of gewoon plain text mag ook maar dan weet ik niet hoe er een regeleind in moet.

Ik heb al geprobeerd een HTML header er boven te zetten, maar dat verstuurt ie vrolijk als tekst dus dan zie je alle html-code als platte tekst.

Weet iemand hoe ik dit op kan lossen ?

Vraag 2:

PHP-code:

<?
$dbuser        = "xx"; 
$dbserver    = "localhost"; 
$dbpass        = "xx"; 
$dbname        = "hollandpromotie"; 
//******** BEGIN LISTING THE CONTENTS OF  evenementen*********
//CONNECTION STRING
mysql_connect($dbserver, $dbuser, $dbpass)
or die ("UNABLE TO CONNECT TO DATABASE");
mysql_select_db($dbname)
or die ("UNABLE TO SELECT DATABASE");

$sql = 'SELECT * '
        . ' FROM `evenementen` '
        . ' WHERE 1 '
        . ' ORDER BY `van` ASC LIMIT 0, 30';$result = mysql_query($sql);
if ($myrow = mysql_fetch_array($result)) {
do
{
$evenementnaam=$myrow["evenementnaam"];
$plaats=$myrow["plaats"];
$van=$myrow["van"];
$tot=$myrow["tot"];
$opmerkingen=$myrow["opmerkingen"];
echo "<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VERANSTALTUNG:  $evenementnaam"; 
echo "<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORT:  $plaats"; 
echo "<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VON:  $van"; 
echo "<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BIS:  $tot";
echo "<FONT COLOR=#FF0000>";
echo "<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$opmerkingen";
echo "</FONT>";
echo "<BR>";

}
while ($myrow = mysql_fetch_array($result));
}
?>

De $van en $tot geven de amerikaanse datumnotatie weer, YYYY-MM-DD. Dit zou ik graag als DD-MM-YYYY zien. In mn andere topic gaf iemand al een hint, maar ik snap er nog niks van want dit is voor het grootste gedeelte knip-en-plakwerk.

Alvast bedankt.

Triloxigen 26-03-2005 11:50

http://www.php.net/mktime

:)

Tuinkabouter !! 26-03-2005 12:43

mktime geeft de HUIDIGE datum/tijd weer,, dit is niet de bedoeling.

Er zit een amerikaanse datum in de database, deze moet weergegeven worden als een nederlandse/europese.

met mkdate kan ik de huidige datum er zo aanplakken, dat is niet moeilijk alleen daar heb ik niks aan ;)

De pagina waar het om gaat: www.hollandpromotie.nl/evenementen.php

Als je kijkt, zie je daar YYYY-MM-DD. ik denk ook, dat dit makkelijker uitleggen is dan hier een heel verhaal neerkloppen.

dafelix 26-03-2005 12:46

als je een mailtje wil maken met HTML tekens, moet je dat aangeven in de headers, dus niet 'Conent-Type: plain/text' meegeven, maar 'Content-Type: text/html;'

Manuzhai 26-03-2005 18:16

Als je nou even goed de documentatie voor mktime() zou lezen...

Tuinkabouter !! 26-03-2005 19:58

Dat heb ik gedaan, maar ik kom er echt niet uit. Als ik doe:

PHP-code:

$van=date("d-m-Y"$myrow["van"]); 

Dan wordt er 01-01-1970 van gemaakt.

Martin 26-03-2005 20:55

Citaat:

Tuinkabouter !! schreef op 26-03-2005 @ 20:58 :
Dat heb ik gedaan, maar ik kom er echt niet uit. Als ik doe:

PHP-code:

$van=date("d-m-Y"$myrow["van"]); 

Dan wordt er 01-01-1970 van gemaakt.

Dan bevat $myrow['van'] geen data.

Want als die waarde '0' is, staat dat gelijk aan 01-01-1970 :-)

Tuinkabouter !! 26-03-2005 20:59

PHP-code:

$van=$myrow["van"]; 

Levert wel de goede waarde op.

Tuinkabouter !! 26-03-2005 21:53

Oke het datum-verhaal is opgelost:

PHP-code:

<? 
$date_array = explode ('-', $myrow['van']); 

$timestamp = mktime (0,0,0,$date_array[1],$date_array[2],$date_array[0]); // \0/ timestamp 

$weergavedatum = date("d-m-Y", $timestamp); //formatten met de date functie 
?>


Manuzhai 27-03-2005 09:57

De GoTters hebben het je weer veel te makkelijk gemaakt.

Tuinkabouter !! 27-03-2005 11:21

:o

maargoed het werkt :D
Ik snap ook wel, dat je het door me zelf wilde laten uitvinden, wat had er volgens jou uit moeten komen ?

Opzich vind ik dit soort puzzeldingen best wel leuk, maar hiervoor is mn ervaring met php ontoerijkend.

Op school moet ik het nog krijgen, dit is gewoon proberen te volgen wat er gebeurt en daarmee spelen.

Triloxigen 27-03-2005 17:18

Citaat:

Manuzhai schreef op 27-03-2005 @ 10:57 :
De GoTters hebben het je weer veel te makkelijk gemaakt.
Inderdaad..
Ik probeerde 'm hints te geven dat ie zelf iets uitzocht zodat hij ook weet wat hij doet...

Triloxigen 27-03-2005 18:48

Citaat:

Bootsman123 schreef op 27-03-2005 @ 19:45 :
Het kan natuurlijk makkerlijker:
PHP-code:

$date_array explode ('-'$myrow['van']); 

echo 
$date_array[2] . "-" $date_array[1] . "-" $date_array[0];
?> 


Welk gedeelte daarvan is 'makkelijker'?

Tuinkabouter !! 27-03-2005 19:51

Wat er volgens mij nu gebeurt:

de functie explode trekt de datum uit het veld van uit de database, knipt deze in 3 stukken en zet hem in andere volgorde weer aan elkaar.

Dat wat daar uitkomt, is de volgorde die mktime fijn vindt, en er een timestamp van wordt gemaakt waarna date er een leuk leesbaar iets van maakt.

Probleem als je niet zou exploden, dat mktime een volgorde krijgt die die niet fijn vind. Daarom werd de datum op 1-1-1970 (begin timestamp) gezet omdat dat punt nul was.

Triloxigen 27-03-2005 20:43

Citaat:

Bootsman123 schreef op 27-03-2005 @ 21:00 :
Je hoeft er niet eerst een timestamp van te maken.

Als je YYYY-MM-DD hebt en je wilt er DD-MM-YYYY van maken, waarom zou je dan er dan een timestamp bij halen?

Omdat het simpelweg je zeer beperkt in gebruik :)
En het helemaal weinig makkelijker is..

Triloxigen 27-03-2005 22:09

Citaat:

Bootsman123 schreef op 27-03-2005 @ 22:47 :
Dan had die het bij voorbaat al moeten opslaan in een timestamp.
Nee, dat is onzin..
MySQL heeft daar eenmaal een mooi type voor...
datetime

Triloxigen 27-03-2005 22:27

Citaat:

Bootsman123 schreef op 27-03-2005 @ 23:22 :
Waarom opslaan in datetime om vervolgens met timestamps te gaan goochelen, omdat je daar meer mee kunt?
hehe,
zeker nog nooit grote complexe applicaties gemaakt icm een sql server ;)


Alle tijden zijn GMT +1. Het is nu 18:15.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.