php fout

Status
Niet open voor verdere reacties.

zodiak

Gebruiker
Lid geworden
9 okt 2008
Berichten
241
hallo,

met deze code :
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Naamloos document</title>
</head>

<body>
<p>
<?php
include("connect.php");

if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
  {
    $aFouten = array();
    if($_POST['album_naam'] == '')
      {
        $aFouten[] = 'Je hebt geen gallerij naam ingevuld';
      }
    if($_POST['album_beschrijving'] == '')
      {
        $aFouten[] = 'Je hebt geen omschrijving ingevuld';
      }
      
        if(count($aFouten) != 0)
          {
            echo 'De volgende fouten zijn opgetreden: <br /><br />';
            for($Fi = 0; $Fi < count($aFouten); $Fi++)
              {
                echo $aFouten[$Fi].'<br />';
              }
            echo '<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te keren';
          }
        else
          {
          mysql_query("INSERT INTO albums (album_naam,album_beschrijving) VALUES ('".addslashes($_POST['album_naam'])."','".addslashes($_POST['album_beschrijving'])."','"."')") or die (mysql_error());
          
          echo 'De gegevens zijn succesvol opgeslagen in de database';
          }
      
  }
else
  {
?>
<form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
<table>
<tr>
<td> Gallerij naam: </td>
<td><input type="text" name="album_naam" /></td>
</tr>
<tr>
<td> Gallerij omschrijving: </td>
<td><input type="text" name="album_beschrijving" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="verzenden" value="Gallerij toevoegen" /></td>
</tr>
</table>
</form>
<?
  }
?>
</p>
</body>
</html>

krijg ik volgende fout:

Code:
Parse error: syntax error, unexpected $end in C:\xampp\htdocs\album\test\admin_gall.php on line 67

ik zie niet direkt wat ik heb fout gedaan.
 
Bij mij valt ie over dit stukje:
PHP:
<? } ?>

Als ik daar gewone tags voor gebruik gaat het wel goed:
PHP:
<?php } ?>

That said; je kunt beter alternatieve syntax gebruiken, is leesbaarder als je html er tussen hebt:

Code:
<?php
  if ( $vraagstuk ):
?>
Hier HTML.
<?php
  else:
?>
Hier meer HTML.
<?php
  endif;
?>
 
yes bedankt, dat was het dus , krijg nu een andere fout maar dat vind ik wel, nog eens bedankt
 
PHP:
<?php
include_once("connect.php");
	if($_SERVER['REQUEST_METHOD'] == 'POST')
	{
		$message = array();
		$error = false;
			
			if(!empty($_POST['album_naam']))
			{
				if(!empty($_POST['album_beschrijving']))
				{
					if($error == false)
					{
						$Query_insert = "INSERT INTO (album_naam, album_beschrijving) VALUES ('".mysqli_real_escape_string($connect, $_POST['album_naam'])."', '".mysqli_real_escape_string($connect, $_POST['album_beschrijving'])."')";	
							if($Query_insert)
							{
								echo 'Gegevens succesvol opgeslagen!';	
							}
							else
							{
								trigger_error('Fatale database error!');	
							}
					}
				}
				else
				{
					$message[] = 'Je hebt geen omschrijving ingevuld!';	
					$error = true;
				}
			}
			else
			{
				$message[] = 'Je hebt geen gallerij naam ingevuld';
				$error = true;
			}
				
	}
?>
HTML:
	<form action="" method="POST">
		<table>
			<tr>
				<td> Gallerij naam: </td><td><input type="text" name="album_naam" /></td>
			</tr>
			<tr>
				<td> Gallerij omschrijving: </td><td><input type="text" name="album_beschrijving" /></td>
			</tr>
			<tr>
				<td>&nbsp;</td><td><input type="submit" name="verzenden" value="Gallerij toevoegen" /></td>
			</tr>
		</table>
	</form>
PHP:
<?php
	if(!empty($message))
	{
		foreach($message as $bericht)
		{
			echo $bericht;	
		}
	}
?>

Probeer dit eens

AANVULLING:

#connect .php


PHP:
<?php
$db = array (
	'host' => '',
	'user' => '',
	'pass' => '',
	'dbname' => ''
			);
$connect = mysqli_connect ($db['host'], $db['user'], $db['pass'], $db['dbname']);

	if(!$connect)
	{
		trigger_error('Kon geen verbinding met de database gelegd worden, neem contact op met de beheerder. Excuses voor dit ongemak!');	
	}
?>

@zodiak.

Die andere error is zeker sql error? Want die klopt ook niet helemaal:)

@frats

<?php
if ( $vraagstuk ):
?>
Hier HTML.
<?php
else:
?>
Hier meer HTML.
<?php
endif;
?>

mmmm dat zou ik niet gebruiken.. Eerder het volgende

PHP:
<?php
	if(isset($_POST['example']))
	{
?>
HTML:
<html>
<head>
	<title></title>
</head>
<body>
	<p>Bladieblablabal</p>
</body>
</html>
PHP:
<?php
	}
?>
 
Laatst bewerkt:
toch nog een ander vraagje,

ik het veld album naam mag geen duplicaten bevatten, kan ik hier een controle op doen want nu krijg ik die melding van phpmyadmin en ik zou liever zelf de foutmelding mooi op mijn site willen zetten met een redirect

alvast bednakt
 
PHP:
<?php
include_once("connect.php");
	if($_SERVER['REQUEST_METHOD'] == 'POST')
	{
		$message = array();
		$error = false;
			
			if(!empty($_POST['album_naam']))
			{
				if(!empty($_POST['album_beschrijving']))
				{
					if($error == false)
					{
						$Query_insert = "INSERT INTO (album_naam, album_beschrijving) VALUES ('".mysqli_real_escape_string($connect, $_POST['album_naam'])."', '".mysqli_real_escape_string($connect, $_POST['album_beschrijving'])."')";	
							if($Query_insert)
							{
								echo 'Gegevens succesvol opgeslagen!';	
							}
							else
							{
								trigger_error('Fatale database error!');	
							}
					}
				}
				else
				{
					$message[] = 'Je hebt geen omschrijving ingevuld!';	
					$error = true;
				}
			}
			else
			{
				$message[] = 'Je hebt geen gallerij naam ingevuld';
				$error = true;
			}
				
	}
?>
HTML:
	<form action="" method="POST">
		<table>
			<tr>
				<td> Gallerij naam: </td><td><input type="text" name="album_naam" /></td>
			</tr>
			<tr>
				<td> Gallerij omschrijving: </td><td><input type="text" name="album_beschrijving" /></td>
			</tr>
			<tr>
				<td>&nbsp;</td><td><input type="submit" name="verzenden" value="Gallerij toevoegen" /></td>
			</tr>
		</table>
	</form>
PHP:
<?php
	if(!empty($message))
	{
		foreach($message as $bericht)
		{
			echo $bericht;	
		}
	}
?>

Probeer dit eens

AANVULLING:

#connect .php


PHP:
<?php
$db = array (
	'host' => '',
	'user' => '',
	'pass' => '',
	'dbname' => ''
			);
$connect = mysqli_connect ($db['host'], $db['user'], $db['pass'], $db['dbname']);

	if(!$connect)
	{
		trigger_error('Kon geen verbinding met de database gelegd worden, neem contact op met de beheerder. Excuses voor dit ongemak!');	
	}
?>

@zodiak.

Die andere error is zeker sql error? Want die klopt ook niet helemaal:)

@frats

<?php
if ( $vraagstuk ):
?>
Hier HTML.
<?php
else:
?>
Hier meer HTML.
<?php
endif;
?>

mmmm dat zou ik niet gebruiken.. Eerder het volgende

PHP:
<?php
	if(isset($_POST['example']))
	{
?>
HTML:
<html>
<head>
	<title></title>
</head>
<body>
	<p>Bladieblablabal</p>
</body>
</html>
PHP:
<?php
	}
?>

ok, kan ik aan dit stuk
PHP:
echo 'Gegevens succesvol opgeslagen!';
een uilijning geven en een break toevoegen aangezien dit nu toch wel niet mooi oogt

maar je bent al bedankt met de hulp.
 
Wat bedoel je? dat je alleen letters mag gebruiken?

PS: werkt de code?

awel bv als in de tabel al de naam van een album die ik nu heb ingegeven voorkomt dan moet het ganse script stoppen (dit omdat ik geen duplicaten wil maar ook geen duplicaat mappen) aangezien ik er nu het volgende heb aantoegevoegd:

PHP:
{
	$album = $_POST['album_naam'];
	$ndir = "fotos/".$album;
	mkdir($ndir,0777);
      }

de rest werkt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan