php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.01.2012, 13:08  
Neuer Benutzer
 
Registriert seit: 19.04.2011
Beiträge: 19
PHP-Kenntnisse:
Anfänger
Nakedchef ist zur Zeit noch ein unbeschriebenes Blatt
Nakedchef eine Nachricht über ICQ schicken
Standard [Erledigt] .csv neu schreiben wenn diese noch nicht vorhanden ist??

Moin moin,
und frohes Neues.
Ich hab da mal wieder nen Problem. Und zwar hab ich ein Formular das Daten in eine .csv schreibt. Sofern diese auf dem Server vorhanden ist. Ist diese Datei aber nicht vorhanden gibt er einen Schreibfehler aus. Ich möchte nun aber das wenn auf der Seite das Formular ausgefüllt wurde und die .csv Datei noch nicht existiert, dass diese neu angelegt wird.

Hier mein Code:
PHP-Code:
<?php
    
/*
    * Created by Anna Busch/Jan Hoffmann
    */
    /**
    * Datei Name, wo die Daten gespeichert werden
        sollen
    */
    
$dateiname 'daten.csv';
    
/**
    * Prüfen ob die Variable ein Wert zugewiesen
        wurde. Ansonsten werden diese Variablen
        deklariert.
    */
                
if (!isset($_POST['anrede'])) $_POST['anrede'] = '';
                if (!isset(
$_POST['vorname'])) $_POST['vorname'] = '';
                if (!isset(
$_POST['nachname'])) $_POST['nachname'] = '';
                if (!isset(
$_POST['strasse'])) $_POST['strasse'] = '';
                if (!isset(
$_POST['plz'])) $_POST['plz'] = '';
                if (!isset(
$_POST['ort'])) $_POST['ort'] = '';
                if (!isset(
$_POST['email'])) $_POST['email'] = '';
                if (!isset(
$_POST['telefon'])) $_POST['telefon'] = '';
                if (!isset(
$_POST['beruf'])) $_POST['beruf'] = '';
                if (!isset(
$_POST['kreditvalue'])) $_POST['kreditvalue'] = '';
                if (!isset(
$_POST['kredit_monate'])) $_POST['kredit_monate'] = '';
                if (!isset(
$_POST['verwendung'])) $_POST['verwendung'] = '';
                if (!isset(
$_POST['tag'])) $_POST['tag'] = '';
                if (!isset(
$_POST['zeit'])) $_POST['zeit'] = '';
                if (!isset(
$_POST['kommentar'])) $_POST['kommentar'] = '';
                if ( isset(
$_POST["einwilligung"]) && $_POST["einwilligung"] == "on" ){
  
// checkbox wurde "ausgewählt"
} else{
  
// checkbox wurde nicht "ausgewählt"
}


    if (!isset(
$_POST['senden'])) $_POST['senden'] =
        
'';
    
$meldung '';
    
/**
    * Prüfen der Variable $_POST['senden'] ob diese
        ein Wert hat.
    */
    
if ($_POST['senden'] == 'senden') {
        
/**
        * Zeile aufbauen, die in die CSV-Datei am Ende
            geschrieben werden soll
        */
        
$inhalt =
$_POST['anrede'].';'.
$_POST['vorname'].';'.
$_POST['nachname'].';'.
$_POST['strasse'].';'.
$_POST['plz'].';'.
$_POST['ort'].';'.
$_POST['email'].';'.
$_POST['telefon'].';'.
$_POST['beruf'].';'.
$_POST['kreditvalue'].';'.
$_POST['kredit_monate'].';'.
$_POST['verwendung'].';'.
$_POST['tag'].';'.
$_POST['zeit1'].' '.
$_POST['zeit2'].';'.
$_POST['kommentar']."\n";
        
/**
        * Datei öffnen und den Dateizeiger auf das
            Ende der CSV Datei legen, wenn die Datei
            noch nicht vorhanden ist wird versucht
            diese anzulegen. Wichtig ist, dass die
            Skriptdatei die Rechte zum anlegen einer
            Datei hat.
        */


        
$handle = @fopen($dateiname"ab+");
        
/**
        * Schreiben der Zeile, in der CSV Datei
        */
        
fwrite($handle$inhalt);
        
/**
        * Datei wieder schließen
        */
        
fclose ($handle);
        
/**
        * Prüfen ob die CSV Datei existiert
        */
        
if (file_exists($dateiname) == FALSE) {

            
/**
            * Die schreib Rechte ändern bei der CSV
                Datei, damit das nächste mal diese
                beschrieben werden kann.
            */
            
@chmod ($dateiname0777);

    }

        
/**
        *  Ausgabemeldung erstellen
        */
        
$meldung '<font color="green">Ihre Beratungsanfrage wurde erfolgreich übermittelt.</font>';

    }
    
/**
    * Prüfen ob eine Ausgabemeldung in der Variable
        $meldung hinterlegt wurde, wenn eine
        Ausgabemeldung vorhanden ist wird diese per
        Echo ausgegeben.
    */
    
if ($meldung != '') echo $meldung;
?>
Nakedchef ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.01.2012, 13:38  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi,

was genau ist deine Frage

Hier ein link, wie man CSV Files erstellen kann:

http://www.webmaster-seo.com/questio...mit-php-excel/

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 02.01.2012, 13:49  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

Wie sieht deine Meldung des Schreibfehlers genau aus ?
Mal über die Benutzung von fputcsv nachgedacht ?
Der b-Modi dürfte bei csv überflüssig sein.
jspit ist offline   Mit Zitat antworten
Alt 02.01.2012, 13:53  
Neuer Benutzer
 
Registriert seit: 19.04.2011
Beiträge: 19
PHP-Kenntnisse:
Anfänger
Nakedchef ist zur Zeit noch ein unbeschriebenes Blatt
Nakedchef eine Nachricht über ICQ schicken
Standard

Die Frage war...
was muss ich im Code schreiben, sodass die Daten aus dem Formular eine .csv erzeugen wenn diese noch nicht vorhanden ist. Ist diese Datei vorhanden sollen die Einträge nur ergänzt werden....
Nakedchef ist offline   Mit Zitat antworten
Alt 02.01.2012, 14:46  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Ist das jetzt eine Auftragsvergabe?

- Du liest erstmal die CSV-Datei in einen Array (csv2array)
- durchläufst diesen dann und vergleichst auf Gleichheit (findDataset).
- Bei einem Treffer aktualisierst du den Array (updateDataset),
- andernfalls erweiterst du ihn (addDataset).
- Am Ende schreibst du den Array zurück in die Datei (array2csv).

Alles halbwegs atomare Schritte, in Klammern hab ich beispielhaft mal die Funktions- oder Methodennamen notiert, die du verwenden könntest. Fürs Lesen und Schreiben der CSV sicherlich interessant: fopen, fgetcsv, fputcsv & fclose

Übrigens: der <font>-Tag ist veraltet, sofern er nicht für HTML-Emails benutzt wird. Auch das EVA-Prinzip könntest du dir mal reinziehen.
__________________
"Nuschel ich?" - "Was?"
Chriz ist gerade online   Mit Zitat antworten
Alt 02.01.2012, 18:54  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Ohne dir jetzt zu Nahe treten zu wollen, aber der Aufbau deines Skriptes ist gruselig.
Jedes Semikolon in einer der Post_Variablen führt zu einer ungültigen Datei, außerdem wäre es sicherlich auch lustig, wenn man mal einige newLine in einer Post-Variablen mitsendet, auch scheint es mir so, dass man die Einwiligung gar nicht geben muss und trotzdem alles in der Datei landet.

@mod Bitte mal ins Anfängerforum verschieben.
ChrisvA ist gerade online   Mit Zitat antworten
Alt 02.01.2012, 19:01  
Neuer Benutzer
 
Registriert seit: 19.04.2011
Beiträge: 19
PHP-Kenntnisse:
Anfänger
Nakedchef ist zur Zeit noch ein unbeschriebenes Blatt
Nakedchef eine Nachricht über ICQ schicken
Standard

Alles sehr konstruktiv...Naja das bringt mich irgendwie nicht weiter...Hab selbst nen neues Thema erstellt...
Kann an der Stelle also geclosed werden -.-

Geändert von Nakedchef (02.01.2012 um 19:05 Uhr).
Nakedchef ist offline   Mit Zitat antworten
Alt 02.01.2012, 19:45  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Zitat:
Kann an der Stelle also geclosed werden
Dies ist kein Fortgeschrittenen-Thema, daher *verschoben*.

Den neuen Thread mit dem gleichen Inhalt habe ich geschlossen, wenn, dann geht es hier weiter.

Die datei wird wohl deshalb nicht angelegt, weil PHP in dem Verzeichnis keine rechte hat. Setz den Ordner mal auf 777.

CSV-Dateien werden mit fputcsv beschrieben. Dabei wird das Trennzeichen automatisch gesetzt und die Daten, sofern erforderlich, in Doppelhochkommata gesetzt.

http://de2.php.net/manual/de/function.fputcsv.php


Das hier:
PHP-Code:
if ($meldung != '') echo $meldung
ist genauso sinnvoll wie:

PHP-Code:
if ($var != ''$var ''
echo $meldung; ohne if-Konstruktion macht dasselbe.

__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 02.01.2012, 20:11  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Nakedchef Beitrag anzeigen
Alles sehr konstruktiv...Naja das bringt mich irgendwie nicht weiter...
Was an meinen Ausführungen verstehst du denn nicht? Zumindest mal die Funktionen könntest du dir anschauen. Code schreiben tun wir auch in diesem Jahr niemandem mit dieser Einstellung Wenn wir hier konstruktiv weiterarbeiten sollen, setz dich einfach mal hin und fang mit den Funktionen an. Verbessern tun wir ja gern ...
__________________
"Nuschel ich?" - "Was?"
Chriz ist gerade online   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Prüfung ob Wert bereits in DB vorhanden (case sesitive?!) MaNuu PHP Einsteiger 34 04.08.2011 10:08
[Erledigt] MySQL - Prüfen ob Datensatz bereits vorhanden wenn nicht eintragen wooha PHP Einsteiger 10 19.04.2011 14:08
[Erledigt] Benutzerabfrage über .csv Datei Problem drproof PHP Tipps 2010 2 31.05.2010 10:53
WHERE IN () soll nicht vorhanden sein. Alucard Datenbanken 8 31.01.2010 17:31
Problem beim Überprüfen ob Datei schon vorhanden ist Silent PHP Tipps 2009 15 29.12.2009 15:11
Überprüfen ob vorhanden und ob ein feld einen bestimmten wert hat setech Datenbanken 1 17.12.2009 09:40
[Erledigt] MYSQL+PHP prüfen ob Wert schon vorhanden Pascalus PHP Tipps 2009 8 20.10.2009 12:38
PHP Formular mit Daten füllen wenn bereits vorhanden Toasti85 PHP Tipps 2009 2 27.03.2009 11:33
Wie kann ich mit php/mysql einen Datensatz anzeigen lassen, wenn einer vorhanden ist? Minimi PHP Tipps 2008 10 03.02.2008 19:01
Abfrage ob email adresse schon vorhanden ist TeazY PHP Tipps 2008 10 16.12.2007 12:22
Bilder löschen die öffter vorhanden sind?! Peoples PHP Tipps 2006 6 28.05.2006 19:34
Prüfen ob vorhanden mit file_exists ?! PHP Tipps 2005-2 2 05.10.2005 18:07
prüen ob url aus txt vorhanden lord nacon PHP Tipps 2005-2 12 16.08.2005 19:53
Prüfe ob Ordner vorhanden PHP Tipps 2005 8 17.05.2005 22:53
[Erledigt] Tabelle schon vorhanden? Datenbanken 2 19.12.2004 10:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
* datei öffnen und den dateizeiger auf das ende der csv datei legen, wenn die datei noch nicht vorhanden ist wird versucht diese anzulegen. wichtig ist, dass die skriptdatei die rechte zum anlegen einer datei hat., php csv nicht vorhanden, php csv ab

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum