If file_exist

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Snowstone de
Mitglied
Beiträge: 13
Registriert: 20.10.2010 09:51

If file_exist

Beitrag von Snowstone de »

Guten Tag liebe Community,

ich bin gerade dabei eine Seite zu machen, läuft alles ganz gut. Jetzt hab aber mit dem Registrierformular angefangen und hab jetzt ein Pro :evil: .
Die Seite speichert für jeden neu angelegten Benutzer eine Datei auf dem Server. Die Datei sieht dann z.B so aus "test@test.de.txt". Jetzt wollte ich bevor er die Datei erstellt gucken ob es die Datei, also die E-Mail, schon gibt. Ich hab folgenden Code geschrieben:

Code: Alles auswählen

<?php
$mail = $_POST["mail"];
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
$geburtsdatum = $_POST["geburtsdatum"];
$wohnort = $_POST["wohnort"];
$land = $_POST["land"];
$passwort = $_POST["passwort"];
$text = "$vorname
$nachname
$mail
$passwort
$geburtsdatum
$wohnort
$land";

if (file_exist("C:\users\\$mail.txt");
{
echo "<center><font color="#FF0000">Es hat sich schon jemand mit dieser E-Mail angemeldet.</font>";
} 
else {
$datei = fopen("C:\users\\$mail.txt","w+");
}
rewind($datei);
fwrite($datei, $text);
fclose($datei);

?>
Und ich bekomme immer folgenden Fehler :
Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\images\register_schritt2.php on line 24

Währe nett wenn ihr mal ausschau nach Fehlern haltet oder ein paar Tipps gibt. Bin übrings noch Anfänger.
Grüße Snowstone.de
posaunen
Mitglied
Beiträge: 410
Registriert: 21.04.2004 20:05

Re: If file_exist

Beitrag von posaunen »

Nimm mal

if (file_exist("C:\users\\$mail.txt")

statt

if (file_exist("C:\users\\$mail.txt");
Snowstone de
Mitglied
Beiträge: 13
Registriert: 20.10.2010 09:51

Re: If file_exist

Beitrag von Snowstone de »

Bekomme jetzt diesen Fehler:
Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\images\register_schritt2.php on line 26
Grüße Snowstone.de
posaunen
Mitglied
Beiträge: 410
Registriert: 21.04.2004 20:05

Re: If file_exist

Beitrag von posaunen »

Snowstone de hat geschrieben:Bekomme jetzt diesen Fehler:
Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\images\register_schritt2.php on line 26
Klammer vegessen?

Zeig mal den aktuellen Quelltext, so wie er tatsächlich eingebaut ist.
Snowstone de
Mitglied
Beiträge: 13
Registriert: 20.10.2010 09:51

Re: If file_exist

Beitrag von Snowstone de »

Code: Alles auswählen

<?php

$mail = $_POST["mail"];

$vorname = $_POST["vorname"];

$nachname = $_POST["nachname"];

$geburtsdatum = $_POST["geburtsdatum"];

$wohnort = $_POST["wohnort"];

$land = $_POST["land"];

$passwort = $_POST["passwort"];

$text = "$vorname
$nachname
$mail
$passwort
$geburtsdatum
$wohnort
$land";

if (file_exist("C:\shape\users\\$mail.txt")
{
echo "<center><font color="#FF0000">Es hat sich schon jemand mit dieser E-Mail angemeldet.</font>";
} 
else {
$datei = fopen("C:\shape\users\\$mail.txt","w+");
}

rewind($datei);

fwrite($datei, $text);

fclose($datei);


?>
Grüße Snowstone.de
wolfman24
Mitglied
Beiträge: 892
Registriert: 25.09.2005 13:17

Re: If file_exist

Beitrag von wolfman24 »

Anstelle von

Code: Alles auswählen

echo "<center><font color="#FF0000">Es hat sich schon jemand mit dieser E-Mail angemeldet.</font>";
mal

Code: Alles auswählen

echo '<center><font color="#FF0000">Es hat sich schon jemand mit dieser E-Mail angemeldet.</font>';
probieren, das mit den Hochkommas innerhalb der Hochkommas kann nicht klappen. Ansonsten die " im Text mit \" ersetzen. Also so

Code: Alles auswählen

echo "<center><font color=\"#FF0000\">Es hat sich schon jemand mit dieser E-Mail angemeldet.</font>";
Snowstone de
Mitglied
Beiträge: 13
Registriert: 20.10.2010 09:51

Re: If file_exist

Beitrag von Snowstone de »

Noch immer der gleiche Fehler.
Grüße Snowstone.de
posaunen
Mitglied
Beiträge: 410
Registriert: 21.04.2004 20:05

Re: If file_exist

Beitrag von posaunen »

Snowstone de hat geschrieben:Noch immer der gleiche Fehler.
Das ist eine andere Baustelle. Dir hat eine Klammer gefehlt, siehe unten. Anführungszeichen habe ich auch bereinigt.

if (file_exists("C:\shape\users\\$mail.txt")) {
echo "<center><font color=\"#FF0000\">Es hat sich schon jemand mit dieser E-Mail angemeldet.</font>";
}
else {
$datei = fopen("C:\shape\users\\$mail.txt","w+");
}


EDIT: Der Funktionsname war auch nicht ganz richtig.
Charlie_M
Mitglied
Beiträge: 1210
Registriert: 17.07.2008 13:09
Kontaktdaten:

Re: If file_exist

Beitrag von Charlie_M »

Zudem was posaunen sagt kommt noch:

Code: Alles auswählen

$text = "$vorname
$nachname
$mail
$passwort
$geburtsdatum
$wohnort
$land";
Das soll doch ein Array sein? Dann deklarier es als solches:

Code: Alles auswählen

$text = array(
    $vorname,
    $nachname,
    $mail,
    $passwort,
    $geburtsdatum,
    $wohnort,
    $land");
Sollte es ein einziger String werden muss dazwischen jeweils ein Punkt:

Code: Alles auswählen

$text = "$vorname.$nachname.$mail.$passwort.$geburtsdatum.$wohnort.$land";
Als String machts so aber keinen Sinn, ausser man verwendet z.B. explode() und implode()
Snowstone de
Mitglied
Beiträge: 13
Registriert: 20.10.2010 09:51

Re: If file_exist

Beitrag von Snowstone de »

Vielen Dank läuft jetzt. :grin:
Sollte kein Array sein. Aber gut mitgedacht.

Noch eine Frage:
13: if ($mail == ""); {
14: echo '<center><font color="#FF0000">Du hast keine E-Mail Adresse angegeben.</font>';
15: $fehler = "1";
16: }

Und der Fehler:
Parse error: syntax error, unexpected T_IF, expecting ',' or ';' in C:\xampp\htdocs\shape\images\register_schritt2.php on line 13
:o
Grüße Snowstone.de
Antworten

Zurück zu „Coding & Technik“