Toon posts:

[PHP] Mooie foutmelding?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben nog vrij nieuw met PHP/MySQL alleen nu erger ik me al aan die ranzige foutmeldingen van MySQL! Ik heb al een manier gevonden om die weg te halen alleen nu zoek ik nog een manier om dan een mooie foutmelding te maken.
PHP:
1
2
3
4
5
<?
echo("<div style="display:none">");
mysql_qeury OR DIE("</div><font face=\"Verdana\" size="2">blabla</font>");
echo("</div>");
?>

Ik maak nu dus gebruik van de DIE() functie alleen het probleem is dat de rest van de page (layout van tables & copyrights enz.) dan ook wegvalt.

Weet iemand nog meer functies die werken na een OR zoals DIE() waarmee ik wel een mooie foutmelding kan maken?

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 14-09 13:24
Bedoel je zoiets ?
PHP:
1
2
3
4
5
6
7
8
9
<?
 $query="update users set paswoord=\"$pswd\" where naam=\"$valid_user\"";
     $result = mysql_query($query , $db_conn);
     if (!$result)
     {
         echo "Of je hebt zitten kutten of er gaat iets fout!";
         exit;
     }
?>

Verwijderd

ik maak zelf gebruik van een header error mssg en footer
PHP:
1
2
3
4
5
6
7
<?
// bv bij een error
if (!($result = mysql_query($query ,$db_conn)) {
echo "error header";
sprintf("error: %d %s, mysql_errno(), mysql_error()) ;
echo "footer";
?>

knutselen aanpassen en je bent er..

als je de script niet begrijpt zeg het dan ff.. edit : uitleg bijgevoegt

ok dus als je query of een op andere manier niet uitgevoerd kan worden krijgt je een false waardoor hij verder gaat.

daarna moet je dus een error laten zien. eerst print je alles wat je boven je error wilt hebben title menu enz.
en dan de mysql error's %d word door mysql_errno() vervangen en %s word door mysql_error() vervangen.
en dan print je je copyright enz.. krijg je een mooi en duidelijke sql melding.. :)

Verwijderd

Topicstarter
Ja ik denk het wel. Zou je misschien een iets duidelijker voorbeeld kunnen geven? Ik ben nog niet zo gevorderd. :)

Ik snap nl nog niet helemaal waarom dit werkt...

Verwijderd

Topicstarter
Werkt dit dan ook?
PHP:
1
2
3
4
5
6
<?
$connect=("mysql_connect(host, username, password);");
if (!$connect) {
echo("foutmelding!");
exit; }
?>

Verwijderd

jah.. werkt.. maar ik zou zeggen probeer het full foute gegevens in en done :P

Verwijderd

Topicstarter
Ik kan het nu niet echt makkelijk proberen, want er ligt iemand te meuren in onze logeerkamer waar onze server staat! :Z

Maar bedankt voor de hulp ik denk dat het vanaf nu wel lukt! :)

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 15-09 23:45
Kijk eens beter in je php.ini. Dan zul je er nl. achter komen dat je in kan stellen wat php voor en na de error neerzet.

Verwijderd

Topicstarter
En wat als je site niet op een dedicated server draait? Thuis kan je dat idd aanpassen ja, maar niet bij de hosting provider. ;)

  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
PHP:
1
2
3
<?
@mysql_qeury OR DIE("</div><font face=\"Verdana\" size="2">blabla</font>");
?>

Zet die apestaart dur voor en je krijgt geen foutmeldingen meer van php...

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:37

me1299

$ondertitel

Ik maak zelf altijd een functie voor error/succes msg, en die gooi ik in een include.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 15-09 23:45
Op zondag 11 november 2001 01:58 schreef Brabus het volgende:
En wat als je site niet op een dedicated server draait? Thuis kan je dat idd aanpassen ja, maar niet bij de hosting provider. ;)
zorgen dat je weet welke funcites er in php zitten :+

Om u enigzins op weg te helpen: http://download.php.net/manual/nl/function.ini-set.php met de hint te kijken naar error_append_string en error_prepend_string.

;)

Verwijderd

Op zondag 11 november 2001 12:17 schreef DeathKnight het volgende:
Ik maak zelf altijd een functie voor error/succes msg, en die gooi ik in een include.
Vind ik ook altijd de mooiste oplossing :)
PHP:
1
2
3
4
5
<?
function errorMessage($error="Foutje, bedankt") {
    echo $error;
}
?>

en verderop in je code bijvoorbeeld :
PHP:
1
2
3
<?
if (!$result) ( errorMessage("Geen resultaten gevonden!"); }
?>

Dan kan je later makkelijk het gedrag van je errors aanpassen ....

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:37

me1299

$ondertitel

Op zondag 11 november 2001 19:05 schreef Exodus het volgende:

[..]

Vind ik ook altijd de mooiste oplossing :)
PHP:
1
2
3
4
5
<?
function errorMessage($error="Foutje, bedankt") {
    echo $error;
}
?>

en verderop in je code bijvoorbeeld :
PHP:
1
2
3
<?
if (!$result) ( errorMessage("Geen resultaten gevonden!"); }
?>

Dan kan je later makkelijk het gedrag van je errors aanpassen ....
My point exactly!

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Verwijderd

Een beetje creatief met de volgende functies spelen:

set_error_handler

trigger_error

Error Handling and Logging Functions
Pagina: 1