Goeiedag beste mensen...
Ik heb een bestandje profiel.php op mijn site staan,
maar nu wil ik dus een edit_profiel.php maken!

Ik heb nu een stukje code voor het editen van mijn 'email' en dacht
ik ga het even testen, maar hij geeft een blanco page aan..
Zou iemand mij hiermee kunnen helpen??

Als er code nodig is van mijn database structuur of van profiel.php dan hoor ik het wel.

Mvg,
Reduan Kurtaj



<?php
session_start(); /* Start de sessie.*/

    /* Errors weergeven.*/
    ini_set('display_errors',1); // 1 == aan , 0 == uit
    error_reporting(E_ALL | E_STRICT);

include('conn.php');/* Maakt verbinding met de database.*/

    /* SQL debug*/
    define('DEBUG_MODE',true);  // true == aan, false == uit

	/* Functie voor SQL debug*/
    function showSQLError($sql,$error,$text='Error')
    {
        if (DEBUG_MODE)
        {
            return  '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
        }
        else
        {
            return $text;
        }
    }     

/*Kijk of de formulier is verzonden, zoniet dan krijg je de foutmelding.*/
  if (!isset($_POST['action'])) {
} 
  else {
    trigger_error('FOUT: $sql,$error,$text');
  }
	
	case 'Edit_email':
	
	/* Voor de zekerheid het 1 en ander beveiligen*/
    $email = mysql_real_escape_string(htmlentities(trim($_POST['email'])));
    $sql = "UPDATE users 
              SET email = '".$email."' 
              WHERE id = ".$_SESSION['id'].";";
  if(!$res = mysql_query($sql))
{
    echo showSQLError($sql, mysql_error());
	}
	else
	{
              echo 'profiel is geupdate';
          }
		  
    if($_SESSION['id'] == $rij['id']){
echo 
    '
	<tr><td>      
    <form action="" method="post">
    <input type="text" name="email"></td><td>
    <input type="submit" name="update" value="update"></td>  
    </form>
	</td></tr>
	';
}
    else
	{ 
trigger_error('FOUT: $sql,$error,$text ');
	}
?>
zet anders in php.ini of .htaccess de error-reporting aan.

Bij een parse error in je script, wordt je script niet uitgevoerd en wordt dus ook

/* Errors weergeven.*/
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);

niet uitgevoerd en blijf je achter met error 500
Opnieuw beginnen in de zin van je plan uitschrijven. Wat moet er gebeuren, stap voor stap. En dan die stappen implementeren. Nu is het een rommeltje geworden en is er geen touw meer aan vast te knopen.

In het kort (werk het zelf verder uit):

- check of een form gepost is
  - check welke actie er moet worden uitgevoerd
    - actie is update email
      - check input
      - voer query uit
      - check query resultaat
    - actie is....
  - geen actie gevonden
    - toon foutmelding
- form is niet gepost
  - laat form gewoon zien

Hier begint het in principe elke keer mee. Gewoon uitschrijven wat er moet gebeuren. Als je het goed doet, in detail, dan is het code schrijven weinig meer dan het schema vertalen in code.
Ivo P op 13/01/2014 19:07:57

zet anders in php.ini of .htaccess de error-reporting aan.

Bij een parse error in je script, wordt je script niet uitgevoerd en wordt dus ook

/* Errors weergeven.*/
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);

niet uitgevoerd en blijf je achter met error 500


ik dacht juist dat " ini_set('display_errors',1); " mijn error-reporting aan zetten?
en durf het niet te vragen... maar waar kan ik me php.ini of .htaccess vinden??
ik host via Strato en werk via FTP met Filezilla..
Je kan een .htaccess bestand aanmaken in je FTP, en daar kan je dan dit in plaatsen:

php_value error_reporting 7
php_flag display_errors On
- Aar - op 13/01/2014 19:22:19

Je kan een .htaccess bestand aanmaken in je FTP, en daar kan je dan dit in plaatsen:

php_value error_reporting 7
php_flag display_errors On



Whoeps.. gedaan wat jij zei -aar-
maar nu krijg ik dit...


Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

More information about this error may be available in the server error log.

Ik gok dat ze error reporting blijkbaar niet via php_flags toestaan, maar via een php.ini bestand met deze inhoud:

error_reporting  =  E_ALL
display_errors = On
Maar waarom zou je dit op de server willen gaan aanzetten? Testen doe je normaal gesproken lokaal waar je alle error reporting aan hebt staan. Zeker syntax fouten moet je er daar uithalen voor je welk bestand dan ook op je server zet. Op je server zet je juist alle error meldingen uit, want je wil helemaal niet dat je gebruiker dat soort fouten ziet.
Via php.ini doet die het wel.. Super top (y)
nu heb ik al een paar fouten er uit gehaald, maar ik snap deze niet ;o

Parse error: syntax error, unexpected T_ECHO in /mnt/webc/e2/15/53954115/htdocs/edit_profiel.php on line 133

dit is regel 132 133

<?php
        $check_result = mysql_query($check_sql, $conn)
                          echo showSQLError($sql, mysql_error());
?>


Misschien even een punt-komma ( ; ) achter de eerste regel plaatsen?

Reageren