Foutmelding: unexpected T_VARIABLE

Status
Niet open voor verdere reacties.

eisdatop

Gebruiker
Lid geworden
14 jul 2004
Berichten
434
Hallo mede-forumleden!

Ik krijg bij dit script de volgende foutmelding!

Parse error: parse error, unexpected T_VARIABLE in /data/members/paid/e/i/eisdatop.com/htdocs/project/members/pmmail.php on line 17


PHP:
<?
include('config.php');
include('safe.php');

//query om de email te krijgen, van degene waar die heen moet!

$select = "SELECT email FROM gebruikers WHERE naam='".$_GET['naam']."'";

$query = mysql_query($select);

while ($list = mysql_fetch_object($query))

$mail = $list->email;

//ff de naam ophalen en later kijken of deze wel bestaat!

$select = "SELECT * FROM gebruikers";

$query = mysql_query($select);

while ($geef = mysql_fetch_object($query))

$naam2 = $geef->naam;

//ff de naam ophalen en later kijken of deze wel bestaat!
?>
<?
//Kijken of de naam bestaat en dan mailform weergeven
if($naam2 == '.$_GET['naam'].')
{
if($submit && !empty($aan) && !empty($van) && !empty($naam) && !empty($bericht) && !empty($onderwerp))
{
$bericht = "<font style='font-family: verdana, arial,sans-serif; font-size: 12px;'>
".$bericht."<br><br> Dit is een privémail verstuurd  door
<a href=http://www.eisdatop.com/members/profiel.php?naam=$naam>$naam</a>,
 net als jij een member van: <a href=http://www.eisdatop.com>Eisdatop.com</a>
 <br>(Dit mailadres bestaat niet echt, reply daarom niet op dit mailtje!)";
    
    $header = "From: $naam <$van>\r\n";
    $header .= "Reply-To: $van\r\n";
    $header .= "MIME-Version: 1.0\r\n";
    $header .= "Content-Type: text/html; charset=iso-8859-1\r\n";
    $header .= "X-Priority: 3\r\n";
    $header .= "X-MSMail-Priority: Normal\r\n";
    $header .= "X-Mailer: PHP / ".phpversion()."\r\n";

    mail("$aan", "$onderwerp", "$bericht", $header);    
    $aan = htmlspecialchars($aan);
    echo "De email is met succes verstuurd naar <font color=red><b>$aan</b></font><br><br>";
    echo "Klik hier om terug te gaan!";
}
else
{
    $van = stripslashes($van);
    $aan = stripslashes($aan);
    $onderwerp = stripslashes($onderwerp);
    $bericht = stripslashes($bericht);

    echo "                
    <form method='post' action='$paginanaam' name=form onsubmit=\"return form_Validator(this)\">
    <center>
    <table cellpadding=8 width=90% border=1 bordercolor=C7CACD style='border-collapse: collapse'>
     <tr valign=top>
      <td colspan=2>
      <b>Email versturen:</b>
      </td>
     </tr>
     <tr valign=top>
      <td width=170 bgcolor=F9F8F8>
          Je naam: $naam
      </td>
      <td>
          <input type=hidden name=naam size=50 maxlength=255 value='$naam'>
      </td>
     </tr>  
     <tr valign=top>
      <td width=170 bgcolor=F9F8F8>
          Jouw virtuele eisdatop.com emailadres: $naam@eisdatop.com
      </td>
      <td>
          <input type=hidden name=van size=50 maxlength=255 value='$naam@eisdatop.com'>
      </td>
     </tr>
     <tr valign=top>
      <td width=170 bgcolor=F9F8F8>
          Aan: ".$_GET['naam']."
      </td>
      <td>
          <input type=hidden name=aan size=50 maxlength=255 value='$mail'>
      </td>
     </tr>
     <tr valign=top>
      <td width=170 bgcolor=F9F8F8>
          Onderwerp:
      </td>
      <td>
          <input type=text name=onderwerp size=50 maxlength=255 value='$onderwerp'>
      </td>
     </tr>
     <tr valign=top>
      <td width=170 bgcolor=F9F8F8>
          Bericht:
      </td>
      <td>
          <textarea name=bericht cols=50 rows=20>$bericht</textarea>
      </td>
     </tr>
     <tr valign=top>
      <td colspan=2>
      <input type=submit name=submit value='Verstuur privemail'>
      </td>
     </tr>
    </table>
    </form>    <br><br>    
    ";
}
}
else
{
echo "Dit is geen member!";
}
?>

Waarin regel 17 = $select = "SELECT * FROM gebruikers";

Is niets mis mee volgens mij? Weet iemand waar het aan kan liggen?
Alvast bedankt:thumb:
 
Laatst bewerkt:
Regel 16 staat dan vaak de fout.. en idd..

Code:
$mail = $list->email

Niet afgesloten met een ;
 
Opgelost! thanx! Maarrrr:
zoals je kunt zien, probeer ik te kijken of de naam die wordt meegegeven (?naam=naampje) ook in de database staat. Zo ja, dan moet het mailformuliertje weergegeven worden. Zo niet, dan moet het script worden afgebroken. Met wat ik nu heb:
PHP:
if($naam2 = $_GET['naam'])
{
hier dan dat mailformpje
}
else
{
echo "Dit is geen member!";
}

Dit werkt niet, want welke ?naam=xxxxx ik ook maar geef, hij blijft het script gewoon weergeven, dat is niet de bedoeling:confused:

Iemand een idee hoe je dat wel goed kan doen? Alvast bedankt:D
 
Geplaatst door eisdatop
Opgelost! thanx! Maarrrr:
zoals je kunt zien, probeer ik te kijken of de naam die wordt meegegeven (?naam=naampje) ook in de database staat. Zo ja, dan moet het mailformuliertje weergegeven worden. Zo niet, dan moet het script worden afgebroken. Met wat ik nu heb:
PHP:
if($naam2 = $_GET['naam'])
{
hier dan dat mailformpje
}
else
{
echo "Dit is geen member!";
}

Dit werkt niet, want welke ?naam=xxxxx ik ook maar geef, hij blijft het script gewoon weergeven, dat is niet de bedoeling:confused:

Iemand een idee hoe je dat wel goed kan doen? Alvast bedankt:D
Edit: Ik moet beter lezen.. :p
"if($naam2 = $_GET['naam'])" maak daar eens een dubbele = van? (==) ;)
 
Laatst bewerkt:
dan geeft hij bij elke ?naam=xxx de else weer, van dit is geen member, terwijl ik zeker weet dat die naam wel bestaat! Of klopt het niet hoe ik de $naam2 uit de database haal??
 
Geplaatst door eisdatop
dan geeft hij bij elke ?naam=xxx de else weer, van dit is geen member, terwijl ik zeker weet dat die naam wel bestaat! Of klopt het niet hoe ik de $naam2 uit de database haal??
Laat voor de if eens $naam2 en $_GET['naam'] echo-en, dan weet je voldoende lijkt mij :thumb:

Edit: Die while($geef == ..).. die zet nu steeds de laatste waarde in $naam2..
dus als de 1e waarde "hoi" is en de 2e waarde "blaat", dan wordt $naam2 dus "blaat".. als jij dan met ?naam=hoi aankomt, dan gaat ie idd naar de else :)
 
Laatst bewerkt:
Wat je zegt klopt helemaal, hij geeft als je $naam2 echo't de nieuwste member weer :confused:

Is er niet een functie waar je alle rijen in de dbase bij langs kunt gaan ofzo? Want zo gaat het niet werken heb ik al wel door:(
 
Geplaatst door eisdatop
Wat je zegt klopt helemaal, hij geeft als je $naam2 echo't de nieuwste member weer :confused:

Is er niet een functie waar je alle rijen in de dbase bij langs kunt gaan ofzo? Want zo gaat het niet werken heb ik al wel door:(
Je zou in die while een array kunnen vullen.. en dan controleren met de functie in_array() :)
 
En hier stopt mijn php kennis! Zou je kunnen laten zien hoe jij het in gedachten had?
Ik kijk zelf ook nog wel ff op php.net
 
Geplaatst door eisdatop
En hier stopt mijn php kennis! Zou je kunnen laten zien hoe jij het in gedachten had?
Ik kijk zelf ook nog wel ff op php.net
Ik zou bovenaan (of iets dergelijks) eens dit zetten:
$namenArray = Array();

Die while-lus, waar je die $naam2 vult, zou ik dit neerzetten:
$namenArray[] = $geef->naam;
Hiermee wordt steeds een opgehaalde naam in de array gezet :)

Dan zou ik de controle uitvoeren met:
if(in_array($_GET['naam'], $namenArray) == TRUE)
// Hier je form

Zoiets heb ik in gedachten, voor verdere info kan je ook op php.net kijken ja :)
 
ik wordt gek van de foutmeldingen!!! Nu weer iets:S

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /data/members/paid/e/i/eisdatop.com/htdocs/project/nieuws/reactie.php on line 27


waar regel 27 is:
PHP:
echo "<b>Uw reactie is toegevoegd, klik <a href=index.php?pagina=nieuws/artikel&id=$_GET['nid']>hier</a> om door te gaan</b>";

Het zit hem weer eens in de $_GET waarde. en ik weet nog steeds niet hoe je die echo't. Met ' " of . of met helemaal niks? Wie kan me helpen?

(begin niet over htmlgeldigheid;))
 
Doe eens dit:
PHP:
echo "<b>Uw reactie is toegevoegd, klik <a href=\"index.php?pagina=nieuws/artikel&id=\"".$_GET['nid']."\">hier</a> om door te gaan</b>";

Zo'n GET of POST (of iets anders) waarde moet je altijd even "buiten" de string doen, dat wil zeggen: "text".GET-waarde."nog meer text"..
 
Geplaatst door aaajeetee
Zo'n GET of POST (of iets anders) waarde moet je altijd even "buiten" de string doen, dat wil zeggen: "text".GET-waarde."nog meer text"..
Technische term: concateneren ;)

Zie ook deze pagina, bij dom variabelgebruik: http://dad.jpeetje.nl
 
Zal het doorlezen! Volgens mij heb ik hier wel veel aan! Dankje!:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan