abonnement Unibet Coolblue Bitvavo
pi_49229592
Beste mede-fokkers,

Ik heb een aantal problemen met het includen van een PHP-pagina, welke data uit een database haalt.

Deze pagina doet het gewoon op het moment dat ik hem niet include.

Include ik hem wel (zie hier), dan krijg ik de volgende foutmelding:
quote:
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Waarom geeft hij deze en fout en wat kan ik hieraan doen? Google heeft niet de gewenste antwoorden opgeleverd.

Daarnaast nog een probleem. De bedoeling van deze include hierboven is, dat iemand anders dan ik via een pagina op de site nieuwe nieuwsberichten kan toevoegen. Allemaal mooi en fijn en het is mij ook wel gelukt om dit te maken.

Alleen is het probleem nu dat als degene op de pagina waar hij het bericht moet typen, gebruik maak van enters, deze tekst wordt opgeslagen in de database met deze enters. Maar op het moment dat ik deze tekst weer uit de database laat lezen, dan zijn deze enters "verdwenen".

Logisch want er zit geen html-opmaak in de tekst, hoe kan ik ervoor zorgen dat bij het printen wel automatisch <p></p> en <br /> enzo meegeeft (net zoals in het bericht van van Fok!)?

Structuur site, voor de includes:
index.php (dit is "de" lay-out van de site en waar alles wordt geïncluded)
-map: database -> databaseconnectie.php
-map: php -> alle includes
-map: secure -> pagina's die nodig zijn om de pagina met nieuws aan te passen

Indien er behoefte is aan meer informatie laat het mij dan weten, ik hoop dat jullie mij wat kunnen helpen.

Liefs, Poepeneesje .
Aan dit bericht kunnen geen rechten worden ontleend.
pi_49229859
quote:
Op donderdag 10 mei 2007 15:54 schreef poepeneesje het volgende:
Beste mede-fokkers,
Deze pagina doet het gewoon op het moment dat ik hem niet include.
Echt niet
Ik denk dat je je host verkeerd hebt ingevuld in mysql_connect()
pi_49230089
Om je enters terug te krijgen zul je nl2br() om de string heen moeten zetten. Deze functie zorgt ervoor dat de enters in mysql worden omgezet naar <br> in HTML.

Op [url=http://www.php.net ]http://nl2.php.net/nl2br[/url]kun je de uitleg precies vinden.

En je hebt inderdaad waarschijnlijk de verkeerde host te pakken. Wellicht ondersteunt je host geen verbindingen van buitenaf.

SucceS!
Niets is veilig voor een idioot met voldoende talent
pi_49231391
@ Piles en Metsel, jullie hadden inderdaad gelijk, toen ik na jullie post keek toen gaf hij die fout ook bij de niet geïnclude pagina, nu doet de niet geïnclude pagina het weer wel (hoe het komt weet ik niet, niets aan veranderd, wellicht de server zelf). Dus het probleem is er nog steeds.

ik heb ook nog even de connect include in dezelfde map gezet als de nieuws include, maar het mocht niet baten.

Zouden jullie even naar mijn PHP-code willen kijken dan?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
    $mysqlserver 
"SERVERNAAM"
    
$user "USERNAAM"
    
$password "PASSWORD"
    
$database "DATABASENAAM";

    
$connection mysql_connect("$mysqlserver","$user","$password"
    or die (
mysql_error ());
    echo 
"Er is een connectie opgezet met de MySQL-server: <strong>" $mysqlserver "</strong>. ";

    
mysql_select_db("$database")
    or die (
mysql_error ()); 
    echo 
"Van deze MySQL-server is de database <strong>" $database "</strong> geselecteerd.";
?>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
    
include "../database/mysqldatabaseconnection.php";

    
$sql "SELECT title, author, text, DATE_FORMAT(DATE, '%e/%m/%Y') AS date, TIME_FORMAT(TIME, '%H:%i') AS time, id FROM news ORDER BY id DESC LIMIT 10";
    
$query mysql_query($sql) or die (mysql_error ());
    
    while(
$request mysql_fetch_array($query))
    {   
        
$title $request["title"];
        
$author $request["author"];
        
$text $request["text"];
        
$date $request["date"];
        
$time $request["time"];
        
$id $request["id"];
        
        echo 
"<p>$title - $author - $text - $date - $time - <a href='index.php?id=$id'>bewerk het bericht</a></p>";
    }
?>


De nieuws include is trouwens een pagina die geïnclude wordt op een al geïnclude pagina, wellicht dat dit het is?

@ Metsel, bedankt voor de tip ik ga straks even kijken als ik het andere probleem heb opgelost.
Aan dit bericht kunnen geen rechten worden ontleend.
pi_49231465
Wat vul je in bij $mysqlserver ?
Die is onjuist waarschijnlijk
pi_49231543
quote:
Op donderdag 10 mei 2007 16:39 schreef Piles het volgende:
Wat vul je in bij $mysqlserver ?
Die is onjuist waarschijnlijk
sql2.pcextreme.nl
Aan dit bericht kunnen geen rechten worden ontleend.
pi_49231612
Nu doet ie het wel (die ene)
Waarschijnlijk was de server even onbereikbaar

Raar dat het includen niet werkt
pi_49232342
quote:
Op donderdag 10 mei 2007 16:42 schreef Piles het volgende:
Nu doet ie het wel (die ene)
Waarschijnlijk was de server even onbereikbaar

Raar dat het includen niet werkt
Het heeft hoogswaarschijnlijk met de include in de include te maken... Zie hier, hier include in hem namelijk direct in de index.
Aan dit bericht kunnen geen rechten worden ontleend.
pi_49232611
Geprobeerd: Een van de twee includes te vervangen voor require, maar ook dit werkt niet. Niemand nog een oplossing?
Aan dit bericht kunnen geen rechten worden ontleend.
pi_49236561
Zoals in in het PHP topic al zei, vermoed ik dat je ergens twee dezelfde variabelen gebruikt. Het is in ieder geval iets met je mysql_connect() regel, of de gegevens die je daar invoer. Maar effe offtopic: PCExtreme:

Verschrikkelijke kuthost waar ik erg veel slechte en vooral vreemde ervaringen mee heb, waar je de ene keer wél en de andere keer géén (correcte) foutmeldingen krijgt en die d'r vaak uit ligt.
pi_49237280
quote:
Op donderdag 10 mei 2007 19:01 schreef Tuvai.net het volgende:
Zoals in in het PHP topic al zei, vermoed ik dat je ergens twee dezelfde variabelen gebruikt. Het is in ieder geval iets met je mysql_connect() regel, of de gegevens die je daar invoer. Maar effe offtopic: PCExtreme:

Verschrikkelijke kuthost waar ik erg veel slechte en vooral vreemde ervaringen mee heb, waar je de ene keer wél en de andere keer géén (correcte) foutmeldingen krijgt en die d'r vaak uit ligt.
Mhmm, ik heb even de variabelen die hetzelfde waren in de twee includes veranderd, zodat één van de twee een andere naam kreeg. Maar ook nu werkt het niet. Zou je misschien in bovenstaande PHP-code willen kijken voor mij? Want wanneer ik het bestand niet include, doet hij gewoon wat hij doen moet...

Btw met PCextreme heb ik nog nooit ergens last van gehad... Ik ben er juist heel positief over. Wat is volgens jou dan een goede host?
Aan dit bericht kunnen geen rechten worden ontleend.
pi_49237491
quote:
Op donderdag 10 mei 2007 19:22 schreef poepeneesje het volgende:

[..]

Mhmm, ik heb even de variabelen die hetzelfde waren in de twee includes veranderd, zodat één van de twee een andere naam kreeg. Maar ook nu werkt het niet.
Dan ligt het toch echt aan je mysql_connect() (of de gegevens die je daar in voert). Zoals je foutmelding al zegt kan het script niet (aan de hand van jouw gegevens) verbinding maken.
quote:
Op donderdag 10 mei 2007 19:22 schreef poepeneesje het volgende:
Btw met PCextreme heb ik nog nooit ergens last van gehad... Ik ben er juist heel positief over. Wat is volgens jou dan een goede host?
Een paar van mijn clienten staan op pcextreme gehost (wat ik niet voor ze uitgezocht heb overigens). Ik heb vrij regelmatig dat er 'ineens' bestanden worden overschreven door dezelfde, maar oudere bestanden (alsof je een ouwe backup terugzet of zo). Je moet een hoop meuk toevoegen aan je scripts om het correct weergeven van PHP foutmeldingen aan te zetten wat tegenwoordig vrijwel overal standaard ingesteld is. Om over de vele downtime maar te zwijgen.

Ik gebruik zelf altijd http://www.mijndomein.nl . Fair user policy en een domein+ hosting inclusief PHP en een database voor ¤29 per jaar. Vaak hebben ze acties waardoor je nog goedkoper uit bent.

[ Bericht 0% gewijzigd door Tuvai.net op 10-05-2007 19:39:01 ]
pi_49237700
@ Tuvai.net bedankt voor je hulp en de informatie.
Aan dit bericht kunnen geen rechten worden ontleend.
pi_49249241
Uhm

Je variabelen in de databaseconnection.php staan sowieso tussen quotes. Dat gaat al niet werken..

$connection = mysql_connect("$mysqlserver","$user","$password")
or die (mysql_error ());

moet zijn:

$connection = mysql_connect($mysqlserver,$user,$password)
or die (mysql_error ());
Niets is veilig voor een idioot met voldoende talent
pi_49250364
Bedankt, ik zal de fouten verbeteren. Maar hij doet het wel, alleen tijdens het includen in een geïnclude pagina, geeft hij deze fout melding.
Aan dit bericht kunnen geen rechten worden ontleend.
  donderdag 10 mei 2007 @ 23:32:33 #16
104583 cyberstalker
Een krachtig neen!
pi_49250625
quote:
Op donderdag 10 mei 2007 23:08 schreef Metsel het volgende:
Uhm

Je variabelen in de databaseconnection.php staan sowieso tussen quotes. Dat gaat al niet werken..

$connection = mysql_connect("$mysqlserver","$user","$password")
or die (mysql_error ());

moet zijn:

$connection = mysql_connect($mysqlserver,$user,$password)
or die (mysql_error ());
Dat kan geen kwaad. Daar zit het probleem niet. Dat zou alleen gebeuren bij enkele quotes.
Hope for the best, prepare for the worst.
  vrijdag 11 mei 2007 @ 00:06:27 #17
12880 CraZaay
prettig gestoord
pi_49252403
Dat werkt prima inderdaad binnen dubbele quotes, los van het feit dat het totaal nutteloos is
pi_49262074
Probleem gevonden!

1
2
3
<?php
include "../database/mysqldatabaseconnection.php";
?>


Het moet zijn:

1
2
3
<?php
include "./database/mysqldatabaseconnection.php";
?>


Blijkbaar ga je met ./ in PHP naar de root, wat in xHTML met ../ moet. En een map terug in PHP gebeurd met / en in xHTML ./.

Iedereen bedankt voor zijn of haar hulp !
Aan dit bericht kunnen geen rechten worden ontleend.
pi_49262352
quote:
Op vrijdag 11 mei 2007 11:57 schreef poepeneesje het volgende:
Probleem gevonden!
[ code verwijderd ]

Het moet zijn:
[ code verwijderd ]

Blijkbaar ga je met ./ in PHP naar de root, wat in xHTML met ../ moet. En een map terug in PHP gebeurd met / en in xHTML ./.

Iedereen bedankt voor zijn of haar hulp !
Mmm, ./ is huidige dir ../ is 1 dir up

Dus als je in dir /var/www/php zit en je doet include ./file.php staat file.php in /var/www/php als je include ../file.php staat de file in /var/www/.

Als je include /file.php doet betekend het dat file.php in de root directory staat.
pi_49264145
quote:
Op vrijdag 11 mei 2007 12:07 schreef slakkie het volgende:

[..]

Mmm, ./ is huidige dir ../ is 1 dir up

Dus als je in dir /var/www/php zit en je doet include ./file.php staat file.php in /var/www/php als je include ../file.php staat de file in /var/www/.

Als je include /file.php doet betekend het dat file.php in de root directory staat.
Ja dat dacht is dus ook, dat is met xHTML wel zo, maar toen ik het toepast in de PHP-code kreeg ik dus fouten met include van de databaseconnectie, het kan natuurlijk ook mijn code liggen, maar hij doet het nu in ieder geval.

Heb/ken jij misschien een tutorial waar het voor PHP staat beschreven?

De foutmelding wordt trouwens nu wel weergeven bij de niet geïnclude pagina, blijkbaar ga ik dus toch niet met ./ terug naar de root...
Aan dit bericht kunnen geen rechten worden ontleend.
  vrijdag 11 mei 2007 @ 15:17:59 #21
12880 CraZaay
prettig gestoord
pi_49270072
Paden in PHP en HTML zijn hetzelfde. '/' is de root, '../' een niveau omhoog (en '../../../' bijv. 3 niveau's omhoog) en './' het huidige niveau.
pi_49271660
quote:
Op vrijdag 11 mei 2007 12:57 schreef poepeneesje het volgende:

[..]

Ja dat dacht is dus ook, dat is met xHTML wel zo, maar toen ik het toepast in de PHP-code kreeg ik dus fouten met include van de databaseconnectie, het kan natuurlijk ook mijn code liggen, maar hij doet het nu in ieder geval.

Heb/ken jij misschien een tutorial waar het voor PHP staat beschreven?

De foutmelding wordt trouwens nu wel weergeven bij de niet geïnclude pagina, blijkbaar ga ik dus toch niet met ./ terug naar de root...
./ gaat ook niet naar de root. ./ is de huidige directory.

Stel dat je je een index.php in /var/www hebt staan. En je hebt in /var/www ook database.php staan. Dan moet je in index.php een include doen op:

1) /var/www/database.php
of
2) ./database.php

Mocht je database.php in /var/www-data hebben staan:

3) ../www-data/database.php.

Dit geldt voor Unix/Windows/PHP/HTML/etc etc. Dit is geen specifieke HTML/xHTML/PHP eigenschap.
pi_49287288
Mijn dank .
Aan dit bericht kunnen geen rechten worden ontleend.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')