syraneus
Goto Top

Parse error, syntax error, unexpected T-CONSTANT-ENCAPSED-STRING

Hi, ich bastel gerade an einem PHP-Skript das Informationen wie Name, Vorname, Ort,..... aus einem HTML-Formular entgegennimmt und in eine Datenbank einträgt. Das entgegennehmen hab ich geschafft. ausgeben lassen kann ich die daten auch. aber wenn ich versuche die sachen in die datenbank zu schreiben bekomme ich folgende Fehlermeldung

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\xampp\htdocs\xampp\neuerbenutzer.php on line 40

jedoch werde ich aus der meldung nicht schlau. laut google kann es sich um ein problem mit dem verbinden der Strings handeln. aber ich verbinde keine strings. deswegen hat mich google auch nicht wirklich weiter gebracht. ich bin mir sicher, das es nur eine kleinigkeit ist wo der fehler liegt.

Hier mal der Quelltext


<html>
<head>
</head>
<body>

<?php

import_request_variables('gp','url_');
$Name= "$url_Name";
$Vorname= "$url_Vorname";
$Ort= "$url_Ort";
$Kategorie= "$url_Kategorie";
$Startgebuehr= "$url_Startgebuehr";
ECHO
"
\n <br> Name = $Name
\n <br> Vorname = $Vorname
\n <br> Ort = $Ort
\n <br> Kategorie = $Kategorie
\n <br> Startgebuehr = $Startgebuehr" ;

error_reporting(E_ALL);


mysql_connect(localhost, Johannes, start);
mysql_select_db('sommerbiathlon');


$sql = "INSERT INTO `teilnehmer` (`Name`,`Vorname`,`Ort`,`Kategorie`,`Startgebuehr`)

VALUES
('$Name','$Vorname','$Ort','$Kategorie','$Startgebuehr')";


mysql_query($sql) or die(mysql_error()'<hr />'.$sql.'<hr />');


$result2 = mysql_query("Select * From `teilnehmer`");

while($row = mysql_fetch_object($result2))
{
echo $row->Name;
}


ECHO "
\n <br> \n <br> \n <br> Die Seite wurde bis zum Ende abgearbeitet";

?>

</body>
</html>


Ich kann leider keinen fehler entdecken. Die Datenbank gibt es und die Tabellen gibt es auch. und die spalten in der Tabelle gibt es auch. also daran liegt es nicht. und der benutzer hat auch alle rechte auf der datenbank. Ich bin für jede hilfe dankbar.

mfg DerChirurg

Content-ID: 92073

Url: https://administrator.de/contentid/92073

Ausgedruckt am: 16.12.2024 um 09:12 Uhr

SlainteMhath
SlainteMhath 15.07.2008 um 16:06:07 Uhr
Goto Top
Hi,

mysql_connect(localhost, Johannes, start);
Die Literale solltest Du in " oder ' setzen.

Kleiner Tipp:
Den Code in Deinem Post solltest Du in code-Tags setzen, dann isses besser zu lesen.
Evtl. hilfts auch, wenn Du mal die Zeile 40 markierst, dann is die Suche etwas einfacher.

lg,
slainte
wakko
wakko 15.07.2008 um 16:09:51 Uhr
Goto Top
Moin,

schätze mal Zeile 40 ist das:
mysql_query($sql) or die(mysql_error()'<hr />'.$sql.'<hr />');  
und müßte
mysql_query($sql) or die(mysql_error().'<hr />'.$sql.'<hr />');  
lauten (Punkt zwichen mysql_error() und '<hr />'.
MfG
Mitchell
Mitchell 15.07.2008 um 20:18:22 Uhr
Goto Top
schätze mal Zeile 40 ist das:

dann vergewissere dich bitte, ob es auch die Zeile ist face-smile

Mfg

Mitchell

PS: Bitte den Code, wie mein Vorredner sagte, in die entsprechenden Tags setzen.
SnowStar
SnowStar 15.07.2008 um 20:23:30 Uhr
Goto Top
Hätte mal Offtopic eine Frage dazu:
Würde das Script wie folgt schreiben, wo sind Vor- und Nachteile?

<?php
error_reporting(E_ALL); // Nur zur Fehlersuche!
if (isset($_REQUEST['url_Name'])){ $Name= $_REQUEST['url_Name'];} // else { $Name = 'xyz'; }  
if (isset($_REQUEST['url_Vorname'])){ $Vorname= $_REQUEST['url_Vorname'];}  
if (isset($_REQUEST['url_Ort'])){ $Ort= $_REQUEST['url_Ort'];}  
if (isset($_REQUEST['url_Kategorie'])){ $Kategorie= $_REQUEST['url_Kategorie'];}  
if (isset($_REQUEST['url_Startgebuehr'])){ $Startgebuehr= $_REQUEST['url_Startgebuehr'];}  
// wenn möglich $_POST['variablenname'] , besser auch if(isset()) für alle Indizes gemeinsam 
echo
"\r\n".'<br /> Name = '.$Name.  
"\r\n".'<br /> Vorname = '.$Vorname.  
"\r\n".'<br /> Ort = '.$Ort.  
"\r\n".'<br /> Kategorie = '.$Kategorie.  
"\r\n".'<br /> Startgeb&uuml;hr = '.$Startgebuehr;  
// schöner im quelltext - noch schöner '<br />' und "\r\n" an Zeilenende wenn möglich 
// \r\n für Windows-Quelltextleser
// zwischenschritt über $Name, $Vorname ...unbedingt nötig?
$db_server = 'localhost';  
$db_user = 'Johannes';  
$db_pwd = 'start';  
$db_name = 'sommerbiathlon';  
// schöner: include() für zentral abgelegte MySQL Zugangsdaten
mysql_connect($db_server,$db_user,$db_pwd) or die ('Keine Verbindung m&ouml;glich.');  
mysql_select_db($db_name) or die ('Die Datenbank '.$db_name.' existiert nicht.');  

$sql = 'INSERT INTO teilnehmer (\'Name\',\'Vorname\',\'Ort\',\'Kategorie\',\'Startgebuehr\')  
	VALUES
	(\''.$Name.'\',\''.$Vorname.'\',\''.$Ort.'\',\''.$Kategorie.'\',\''.$Startgebuehr.'\')';  

mysql_query($sql) or die (mysql_error()."\r\n".'<hr />'."\r\n".'Fehler in Query Nummer 1');  
// bloss nicht das tatsächliche Query ausgeben!

$result2 = mysql_query('SELECT Name FROM teilnehmer');  
// nicht mehr Daten als nötig
while($row = mysql_fetch_row($result2)){
	echo $row['0'].'<br />'."\r\n";  
}

echo '<br />'."\r\n".  
	'<br />'."\r\n".  
	'<br />'."\r\n".  
	'Die Seite wurde bis zum Ende abgearbeitet.';  
?>
Syraneus
Syraneus 15.07.2008 um 22:38:49 Uhr
Goto Top
hi, ich kann das erst morgen ausprobieren. weil ich hier grad die umgebung nicht dazu hab.

aber der befehl würde doch so wie ich will die sachen in die datenbank schreiben.


und noch ne frage, wie mach ich das der die zeilen mitzähl und so unterschiedlich die zeilen farbig macht. so wie mein vorredner? das wollte ich auch, aber habs irgendwie nicht hinbekommen. danke.

ich werd mich morgen nochmal melden, wo ich dann sag obs funktioniert
Mitchell
Mitchell 16.07.2008 um 01:51:04 Uhr
Goto Top
@ Chirurg,

sieh dir mal über dem Text, den du nachher als Antwort eingibst, die Zeile an. Da steht auch "Formatierungshilfe", wodurch du dann Formatierungen in den Beiträgen kommst. Sieh es dir mal an face-smile

@SnowStar,

dadurch wird der Code mit Zeilennummer versehen, was in einem langen Script für die Helfer sehr nützlich ist. Dadurch muss keiner rumsuchen, bis er die entsprechende Zeile gefunden hat (was bei Scripten mit 100 Zeilen sehr nervenaufreibend ist). Sieh dir auch mal die Formatierungshilfe an, du kannst PHP-Code extra kennzeichnen, dadurch wird's farbig.

Mfg

Mitchell