Seite funktioniert nicht
mmole245426
- php
Hallo,
habe ein kleines Problem mit meiner Internetseite. Ich selbst habe nicht viel Ahnung von HTLM oder PHP . Habe trotzdem ( was auch mal gut ging) ein Textänderung auf meiner Seite vorgenommen und hochgeladen. Nun geht nichts mehr.
Meldung= Parse error: syntax error, unexpected '&' in /mnt/web8/21/04/51855504/htdocs/handwerkervermittlung/pages/registrieren.htm on line 80
Ob es nun an dieser Zeile liegt, kann ich nicht sagen, darum hier die ganzen Zeilen, in der Hoffnung jemand findet den Fehler und kann mir weiter helfen.
<HTML><HEAD> <META content="Evrsoft First Page" name=GENERATOR></HEAD> <BODY> <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"> <H3>Hier melden Sie Ihren Betrieb an.</H3></BLOCKQUOTE> <H3>Auftraggeber wechseln bitte zur <A href="/index.htm">Startseite</A>. </H3> <H3><B>Das Internet sollte man, was Auftragsgewinnung angeht, nicht unterschätzen. Drei von vier Haushalten haben bereits einen Computer und hier warten Ihre neuen Kunden.</B></H3> <H3>Wenn auch Sie Anfragen von potentiellen Kunden erhalten möchten, dann melden Sie sich an. Zur Begrüßung sind in der ersten Woche ab Anmeldung, alle Anfragen kostenlos.</H3> <H3><B>Legen Sie selbst fest, aus welchen PLZ-Gebieten Anfragen kommen sollen.</B></H3> <H3>In Ihrem Log-in-Bereich können Sie jederzeit Ihre Daten ändern und auch Ihre Anfragen aktivieren oder deaktivieren. Somit können Sie die Zahl der Anfragen selbst begrenzen. Denn, wer möchte schon z. B. im Urlaub Anfragen bekommen?</H3> <H3><B>Die Anmeldung ist kostenlos. Es wird nur jede Anfrage berechnet, somit keine Grundgebühr</B></H3> <H3><B>Jede Anfrage wird mit 5,00 € berechnet zzgl. MwSt. (Stand 01.09.2009)</B></H3> <H3> <FORM id=form action=registrieren.htm#form method=post><?PHP $viewform = true; if(isset($_POST['absenden'])) { echo '<h3>Registrierung absenden</h3>'."\n"; $okay = true; $db = database(); if(trim($_POST['unternehmen'])=="") { echo '<p class="error">Bitte tragen Sie den Namen Ihres Unternehmens ein.</p>'."\n"; $okay = false; } if(trim($_POST['ansprechpartner'])=="") { echo '<p class="error">Bitte tragen Sie den Namen eines Ansprechpartners ein.</p>'."\n"; $okay = false; } if(trim($_POST['adresse'])=="") { echo '<p class="error">Bitte tragen Sie die Adresse des Unternehmensitzes ein.</p>'."\n"; $okay = false; } if(trim($_POST['plz'])=="") { echo '<p class="error">Bitte tragen Sie die Postleitzahl des Unternehmenstandortes ein.</p>'."\n"; $okay = false; } elseif(strlen($_POST['plz'])!=5 || !preg_match('/^([0-9])$/', $_POST['plz'], $matches)) { echo '<p class="error">Bitte tragen Sie eine gültige fünfstellige Postleitzahl ein.</p>'."\n"; $okay = false; } if(trim($_POST['ort'])=="") { echo '<p class="error">Bitte tragen Sie den Ort des Unternehmenstandortes ein.</p>'."\n"; $okay = false; } if($_POST['branche']=="") { echo '<p class="error">Bitte wählen Sie die Branche des Unternehmens aus.</p>'."\n"; $okay = false; } if(trim($_POST['telefon'])=="") { echo '<p class="error">Bitte tragen Sie eine Kontakt-Telefonnummer ein.</p>'."\n"; $okay = false; } elseif(strlen(trim($_POST['telefon']))<7 || !preg_match('/^0([0-9])([0-9\s-/])$/', $_POST['telefon'], $matches)) { echo '<p class="error">Bitte tragen Sie eine gültige Telefonnummer einschließlich Ortsvorwahl ein.</p>'."\n"; $okay = false; } if(trim($_POST['fax'])!="" && (strlen(trim($_POST['fax']))<7 || !preg_match('/^0([0-9])([0-9\s-/])$/', $_POST['fax'], $matches))) { echo '<p class="error">Bitte tragen Sie eine gültige Faxnummer einschließlich Ortsvorwahl ein.</p>'."\n"; $okay = false; } if(trim($POST['email'])=="") { echo '<p class="error">Bitte tragen Sie eine Kontakt-Mail-Adresse ein.</p>'."\n"; $okay = false; } elseif(!preg_match('/^([a-zA-Z0-9.+-]+)@(([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,7}|[0-9]{1,3})(]?))$/', $_POST['email'], $matches)) { echo '<p class="error">Bitte tragen Sie eine gültige Mail-Adresse der form benutzer@domain.de ein.</p>'."\n"; $okay = false; } else { $query = 'SELECT firma_id FROM hwv_firma WHERE email = "'.$db->real_escape_string(trim($_POST['email'])).'" LIMIT 1'; $res = $db->query($query); if($res->num_rows>0) { echo ' <P class=error>Die angegebene E-Mail-Adresse wird bereits verwendt!</P>'."\n"; $okay = false; } //else echo '<PRE>'.$query.'</PRE>'; } if(trim($_POST['plz2'])!="" && (strlen($_POST['plz2'])!=2 || !preg_match('/^([0-9])$/', $_POST['plz2'], $matches))) { echo ' <P class=error>Bitte tragen Sie eine gültigen zweistelligen 2. Postleitzahl-Bereich ein.</P>'."\n"; $okay = false; } if(trim($_POST['plz3'])!="" && (strlen($_POST['plz3'])!=2 || !preg_match('/^([0-9])$/', $_POST['plz3'], $matches))) { echo ' <P class=error>Bitte tragen Sie eine gültigen zweistelligen 3. Postleitzahl-Bereich ein.</P>'."\n"; $okay = false; } if(trim($_POST['plz4'])!="" && (strlen($_POST['plz4'])!=2 || !preg_match('/^([0-9])$/', $_POST['plz4'], $matches))) { echo ' <P class=error>Bitte tragen Sie eine gültigen zweistelligen 4. Postleitzahl-Bereich ein.</P>'."\n"; $okay = false; } if(trim($_POST['plz5'])!="" && (strlen($_POST['plz5'])!=2 || !preg_match('/^([0-9])*$/', $_POST['plz5'], $matches))) { echo ' <P class=error>Bitte tragen Sie eine gültigen zweistelligen 5. Postleitzahl-Bereich ein.</P>'."\n"; $okay = false; } if($_POST['agb']!="ok") { echo ' <P class=error>Bitte stimmen Sie unseren AGBs zu.</P>'."\n"; $okay = false; } if($okay) { $viewform = false; //Einstellungen laden... $res = $db->query('SELECT * FROM hwv_einstellung'); while($dsatz = $res->fetch_assoc()) { $conf[$dsatz["name"]] = $dsatz["wert"]; } $query = 'INSERT INTO hwv_firma VALUES (NULL, NULL, "'.$db->real_escape_string(trim($_POST['unternehmen'])).'", ' . '"'.$db->real_escape_string(trim($_POST['ansprechpartner'])).'", "'.$db->real_escape_string(trim($_POST['adresse'])).'", ' . '"'.$db->real_escape_string(trim($_POST['plz'])).'", "'.$db->real_escape_string(trim($_POST['ort'])).'", ' . '"'.$db->real_escape_string(trim($_POST['telefon'])).'", "'.$db->real_escape_string(trim($_POST['fax'])).'", ' . '"'.$db->real_escape_string(trim($_POST['email'])).'", "'.$db->real_escape_string(trim($_POST['plz'])).'", ' . '"'.$db->real_escape_string(trim($_POST['plz2'])).'", "'.$db->real_escape_string(trim($_POST['plz3'])).'", ' . '"'.$db->real_escape_string(trim($_POST['plz4'])).'", "'.$db->real_escape_string(trim($_POST['plz5'])).'", ' . $db->real_escape_string($_POST['branche']).', "registriert", "")'; if(!$db->query($query)) { echo ' <P class=error>Bei der Verarbeitung der Daten ist bedauerlicherweise ein Datenbank-Fehler aufgetreten!<BR>'; echo 'Der Administrator wurde bereits über diese Umstände informiert.</P>'; $message = 'Folgender MySQL-Error ist bei der Registrierung eines neuen Unternehmens aufgetreten:'."\n\n".$db->error."\n\n" . 'Vorangegangener MySQL-Query:'."\n\n".$query."\n"; mail('hwv_admin@it-services-bremen.de', 'Fehler bei HandwerkerVermittlung.EU', $message, 'From: info@handwerkervermittlung.eu'); } else { $id = $db->insert_id; echo ' <P class=error>Ihre Registrierung wurde erfolgreich unter der Nummer '.$id.' erfasst. '; echo 'Sobald Ihr Account freigeschaltet wurde, erhalten Sie Ihr Passwort an die angegebene '; echo 'E-Mail-Adresse <I>'.htmlspecialchars($_POST['email']).'</I>.</P>'; $message = 'Es ist eine neue Unternehmens-Registrierung eingegangen.'."\n" . 'Diese kann im Verwaltungs-Bereich unter http://verwaltung.handwerkervermittlung.eu ' . 'freigeschaltet werden.'; mail($conf['adminmail'], 'Neue Unternehmens-Registrierung', $message, 'From: HandwerkerVermittlung.EU INFO@HANDWERKERVERMITTLUNG.EU'); } } $db->close(); } if($viewform) { ?> <DIV class=spalte_e> <H4>Daten des Unternehmens:</H4> <TABLE> <TBODY> <TR> <TD><LABEL for=unternehmen1>Unternehmen:</LABEL></TD> <TD><INPUT class=textinput id=unternehmen1 maxLength=200 value="<?PHP echo htmlspecialchars($_POST['unternehmen']); ?>" name=unternehmen></TD></TR> <TR> <TD><LABEL for=unternehmen2>Ansprechpartner:</LABEL></TD> <TD><INPUT class=textinput id=unternehmen2 maxLength=200 value="<?PHP echo htmlspecialchars($_POST['ansprechpartner']); ?>" name=ansprechpartner></TD></TR> <TR> <TD><LABEL for=adresse1>Straße, Hausnr.:</LABEL></TD> <TD><INPUT class=textinput id=adresse1 maxLength=200 value="<?PHP echo htmlspecialchars($_POST['adresse']); ?>" name=adresse></TD></TR> <TR> <TD><LABEL for=adresse2>PLZ:</LABEL></TD> <TD><INPUT class=textinput id=adresse2 maxLength=5 value="<?PHP echo htmlspecialchars($_POST['plz']); ?>" name=plz></TD></TR> <TR> <TD><LABEL for=adresse3>Ort:</LABEL></TD> <TD><INPUT class=textinput id=adresse3 maxLength=200 value="<?PHP echo htmlspecialchars($_POST['ort']); ?>" name=ort></TD></TR> <TR> <TD><LABEL for=branche>Branche:</LABEL></TD> <TD><SELECT class=textinput id=branche name=branche> <OPTION value="">bitte wählen...</OPTION> query('SELECT * FROM hwv_handwerker ORDER BY bezeichnung'); while($dsatz = $res->fetch_assoc()) { echo '<OPTION value="'.$dsatz['handwerker_id'].'" selected if($_POST[?branche?]="=$dsatz['handwerker_id'])" ?; echo ?>'."\n"; } $db->close(); ?></OPTION></SELECT></TD></TR></TBODY></TABLE></DIV> <DIV class=spalte_l> <H4>Kontakt:</H4> <TABLE> <TBODY> <TR> <TD><LABEL for=kontakt1>Telefon-Nr.:</LABEL></TD> <TD><INPUT class=textinput id=kontakt1 maxLength=20 value="<?PHP echo htmlspecialchars($_POST['telefon']); ?>" name=telefon></TD></TR> <TR> <TD><LABEL for=kontakt2>Fax-Nr.:</LABEL></TD> <TD><INPUT class=textinput id=kontakt2 maxLength=20 value="<?PHP echo htmlspecialchars($_POST['fax']); ?>" name=fax></TD></TR> <TR> <TD><LABEL for=kontakt3>E-Mail-Adresse:</LABEL></TD> <TD><INPUT class=textinput id=kontakt3 maxLength=200 value="<?PHP echo htmlspecialchars($_POST['email']); ?>" name=email></TD></TR></TBODY></TABLE></DIV> <DIV class=spalte_k> <H4>Zusätzliche Postleitzahl-Bereiche:</H4> <P>Sie können zusätzlich zu Ihrem Standort bis zu vier weitere Bereiche definieren, aus denen Sie Anfragen erhalten möchten, vorzugsweise aus Ihrer Umgebung.</P> <TABLE> <TBODY> <TR> <TD><LABEL for=plz1>2. zusätzlicher PLZ-Bereich:</LABEL></TD> <TD><INPUT class="textinput schmal_plz" id=plz1 maxLength=2 size=2 value="<?PHP echo htmlspecialchars($_POST['plz2']); ?>" name=plz2> xxx</TD></TR> <TR> <TD><LABEL for=plz2>3. zusätzlicher PLZ-Bereich:</LABEL></TD> <TD><INPUT class="textinput schmal_plz" id=plz2 maxLength=2 size=2 value="<?PHP echo htmlspecialchars($_POST['plz3']); ?>" name=plz3> xxx</TD></TR> <TR> <TD><LABEL for=plz3>4. zusätzlicher PLZ-Bereich:</LABEL></TD> <TD><INPUT class="textinput schmal_plz" id=plz3 maxLength=2 size=2 value="<?PHP echo htmlspecialchars($_POST['plz4']); ?>" name=plz4> xxx</TD></TR> <TR> <TD><LABEL for=plz4>5. zusätzlicher PLZ-Bereich:</LABEL></TD> <TD><INPUT class="textinput schmal_plz" id=plz4 maxLength=2 size=2 value="<?PHP echo htmlspecialchars($_POST['plz5']); ?>" name=plz5> xxx</TD></TR></TBODY></TABLE> <H4>Nutzungsbedingungen:</H4> <TABLE> <TBODY> <TR> <TD><INPUT id=agbok type=checkbox value=ok name=agb> </TD> <TD><LABEL for=agbok>Ich erkläre mich mit den folgenden Bedingungen einverstanden und versichere, für die Entscheidung zur Nutzung des Dienstes in meinem Unternehmen berechtigt zu sein.</LABEL></TD></TR></TBODY></TABLE>
Vielen Dank im vorraus
Scheisse, ich kann nur auf 79 zählen.
Zähl's mir aus!
mfg Beat
Scheisse, ich kann nur auf 79 zählen.
Zähl's mir aus!mfg Beat
Hallo,
das wäre der Bereich um Zeile 79
else {
$query = 'SELECT firma_id FROM hwv_firma WHERE email = "'.$db->real_escape_string(trim($_POST['email'])).'"
LIMIT 1'; $res = $db->query($query); if($res->num_rows>0) { echo '
<P class=error>Die angegebene E-Mail-Adresse wird bereits verwendt!</P>'."\n";
$okay = false; } //else echo '<PRE>'.$query.'</PRE>'; } if(trim($_POST['plz2'])!="" &&
Gruss Michael
Mahlzeit mmole245426,
das wäre der Bereich um Zeile 79
Danke, dass Du Deinen Lesern das Formatieren bzw. Einrücken des Quellcodes überlässt ...
else {
$query = 'SELECT firma_id FROM hwv_firma WHERE email = "'.$db->real_escape_string(trim($_POST['email'])).'" LIMIT 1';
$res = $db->query($query);
if($res->num_rows>0) {
echo '<P class=error>Die angegebene E-Mail-Adresse wird bereits verwendt!</P>'."\n";
$okay = false;
} //else
echo '<PRE>'.$query.'</PRE>';
}
if(trim($_POST['plz2'])!="" &&
Als erstes fällt mir dabei auf, dass Du anscheinend in einem Anfall von galoppierender Unwissenheit Deinen PHP-Code durch ein htmlspecialchars() geschickt (oder Vergleichbares getan) hast.
Wenn Dir die Grundlagen von PHP bekannt wären (und das ist Grundvoraussetzung, wenn Du entsprechende Fragen stellst), dann wüsstest Du, dass Anweisungen wie
$res = $db->query($query);
*NIEMALS* funktionieren *können*.
Repariere also Deinen Code.
MfG,
EKKi
Hi!
Ob es nun an dieser Zeile liegt, kann ich nicht sagen, darum hier die ganzen Zeilen, in der Hoffnung jemand findet den Fehler und kann mir weiter helfen.
So funktioniert Fehlersuche nicht! Wenn dir in einem Editor mit Syntax-Unterstützung nicht die fehlerhafte Stelle ins Auge springt, dann kannst du versuchen, den Code soweit einzukürzen, dass gerade noch der Fehler übrig bleibt. Dann ist die ganze Sache übersichtlicher und das Problem leichter zu erkennen.
Lo!
Hello,
Ob es nun an dieser Zeile liegt, kann ich nicht sagen, darum hier die ganzen Zeilen, in der Hoffnung jemand findet den Fehler und kann mir weiter helfen.
Mal ganz offen gesprochen, wird es Dich vermutlich eher weiterbringen, wenn Du dir (eventuell auch über dieses Forum hier) jemanden in deiner Umgebung suchst, der PHP programmieren kann und dir erst einmal schnell weiterhilft. So nebenbei kann derjenige Dir dann sicherlich die ersten Schritte in PHP näher bringen.
Auch wenn das dann ein paar Euro kostet wird es unter dem Struch immer noch billiger sein, als wenn die Seite jetzt tagelang nicht funktioniert...
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
hi,
Dein Code ist eine Katastrophe, mein Weg:
Wenn Parameter im Spiel sind, mache IMMER eine Kontrollstruktur, die je nach Parameter eine entsprechende Ausgabe erzeugt und somit jeden Zustand der Datei absichert.
Als Erstes frage ab, ob überhaupt Paramter im Spiel sind, im einfachsten Fall frage $_GET || $_POST ob da was drinsteht.
if($_GET || $_POST){
// weitere Abfragen if $_GET['erwarter']... und entsprechende Ausgabe
}
else{
// so sieht die Seite ohne Parameter aus
}
Alternativ könntest Du auch mit untenstehender Funktion fragen, ob Paramter im Request sind, egal ob POST oder GET
// sind CGI-Parameter im Spiel?
function cgiParams(){
return($_SERVER['CONTENT_LENGTH'] || $_SERVER['QUERY_STRING']);
}
Falls Du später mal mehr möchtest, z.B. Sessions, andere header(), geht das nur so auf diesem Weg.
Schönes Wochenende,
Hotte
Oh mein Gott.
Benutze bitte die Suche für "Tipps für Fragende".
Tipps für Anwortende.
Siehe Punkt zwei.
mfg Beat