Wer kann helfen?

A

asder

Hallole
Ich habe schon in vielen Foren um Hilfe gebeten, aber bisher konnte keiner helfen. :(

Ich habe ein Formular, und wenn das abgeschickt wird (per php-script), sollen sich Teile der Infos in eine Webseitentabelle eintragen.

Es handelt sich hierbei um eine Award-Vergabe, wobei nach Abschicken des Formulars sich der Bewerber in die Statusliste automatisch eintragen sollte.

Ich könnte zur Not auch auf eine mysql-Datenbank zurückgreifen, diese liegt jedoch auf einem anderen Server.

Der Server, auf dem das jetzige Script liegt, unterstützt cgi und läßt mir freie Hand.

Wer das testen will, trägt sich bitte mit dem namen TEST ein.

Bekomme ich hier Hilfe?????

:rolleyes:

Liebe Grüße
 
Hi,

zunächst mal: hier bekommt JEDER Hilfe, also auch Du ;)

Allerdings muss ich Dich bitten, Dein Problem mal etwas genauer zu beschreiben: Was genau hast Du vor? Wo ist das Problem?

Ich habe ein Formular, und wenn das abgeschickt wird (per php-script), sollen sich Teile der Infos in eine Webseitentabelle eintragen.
klingt noch nicht so dramatisch: Du erstellst per PHP eine HTML-Seite, und speicherst diese ab.


Ich könnte zur Not auch auf eine mysql-Datenbank zurückgreifen, diese liegt jedoch auf einem anderen Server.
Diese Variante wäre natürlich sinnvoll, wenn Du viele Einträge bekommst, da es dann zu Problemen führen könnte, wenn Du die Daten direkt in ein HTML-Dokument schreibst.


Der Server, auf dem das jetzige Script liegt, unterstützt cgi und läßt mir freie Hand.
Was nun? PHP oder CGI?


Wer das testen will, trägt sich bitte mit dem namen TEST ein.
Wenn Du uns noch sagst, wo ;)


Dunsti
 
Ich weiß jetzt auch nicht hundertprozentig was du meinst habe aber glaube den Link gefunden, ist da richtig das du die Daten des Formulars teilweise in einer Seite speichern möchtest teilweise aber die Daten Dir zugeschickt werden sollen bzw in eine Datenbank gestellt werden sollen?

Bei einer Datenbank ist das sehr einfach, indem du die Daten einträgst und die Tabelle mit den Namen dynamisch machst, per Abfrage der Datenbank.

Bei der anderen Lösung schickst du den einen Teil der Daten die du brauchst per php mail() funktion dir zu, den anderen teil speicherst du in der Tabelle ab. Da immer mehr hinzugefügt werden sollen, allerdings sich der Traffic begrenzen wird, könntest du diese anstantt in einer Datnebank in eine Textdatei als array schreiben, und diese dann in der Seite einfügen, ich hoffe das ist das was du meintest.

Ist so in etwa das was Dunsti meinte, wollte aber nocheinmal etwas genauer wissen was du meinst, vielleicht kann ich ja weiterhelfen.

@Dunsti: Ich glaube dem Homepagelink mußt du folgen, dann auf Award und da solltest du das Formular finden unter Bewerben.

Ich verstehe allerdings verstehe ich das auch nicht mit dem cgi und php?
 
Hallo Dunsti, Hallo SirNeo,

erst mal Danke, daß dieses Problem aufgenommen wurde. SirNeo hat schon richtig erkannt:

Bewerber füllt Formular aus, Formular aktiviert PHP-Datei, PHP-Datei verschickt Mail an mich!

Ziel:
Bewerber füllt Formular aus, Formular aktiviert PHP-Datei, PHP-Datei verschickt Mail an mich, fügt in HTML-Seite (Statusliste) den Bewerber ein (Homepagename plus URL, Datum. laufende Nummer)

Mein Server unterstützt PHP, aber auch cgi, falls es damit auch ne Lösung gibt...

Die Lösungsansätze von SirNeo klingen schon ganz vielversprechend, nur weiß ich nicht, wie ich das machen muß. (Überhaupt keinen Blassen
:( )
Ich könnte auch die Dateien als ZIP bereitstellen, wenn das weiterhilft.

Die Lösung mit der Datenbank ist mir auch recht, wobei ich frage, ob sich bei etwa 400 Bewerbern im Jahr überhaupt lohnt, zumal die abgeschlossenen Bewerbungen nach etwa 10-14 Tagen eh gelöscht werden.

Summa sumarum habe ich um die 20-40 Bewerber gleichzeitig in 2 Tabellen drin (deutschsprachige Bewerber/englischsprachige Bewerber).
Das Formular gibt es auch 2x, (deu + eng)

Somit reduziert sich der "Ansturm" auf die Liste um die Hälfte, da ich die Lösung eh 2x verbauen muß!

Bin ab heute abend wieder daheim und stelle im Download-Center mal die Zip zur Verfügung (Inhalt: alle damit verbundenen HTML-Dateien, Formular, php-script, email.txt und zusätzlich eine Statusliste)

Liebe Grüße
(ich sehe der Lösung hier endlich entgegen! :) )
 
OK hier der erste Teil mit der mail()-Funktion, die sollte so aussehen, wobei du die variablen $name und $url die variablen aus dem Formular sind, du kannst noch beliebig viele anhängen oder aber auch formatierungen reinbringen.
PHP:
$message= "Name: ".$name." Homepage: ".$url;

mail("empfaenger@mailadresse.de", "Der Betreff", $message, "From: deine@mailadresse.de");

Der zweite Teil folgt noch, habe so was mal geschrieben mit einer Textdatei suche die mal eben, für 20 Einträge sollte das reichen, kannst natürlich auch ne Datenbank nehmen.
 
OK jetzt nicht erschrecken ist nen bischen viel, beinhaltet das löschen, ändern und neu eintragen.
Das ist die Datei die die Einträge löscht, erstellt oder ändert
PHP:
<?php
if ($type == "new")
{
                 $i = count($eintrag);
                 $filename="eintrag.php";
                 $fd=fopen($filename,"w");
                 if ($fd)//<-- überprüfung ob datei einlesen geklappt hat
                 {
                     fwrite($fd,"<?php ");
                     for ($j=0;$j<$i;$j++)
                     {
                      fwrite($fd,"\$eintrag[".$j."][0]=\"".$eintrag[$j][0]."\";");
                      fwrite($fd,"\$eintrag[".$j."][1]=\"".$eintrag[$j][1]."\";");
                     }
                     // fügt neuen Eintrag an 
                     fwrite($fd,"\$eintrag[".$i."][0]=\"".$name."\";");
                     fwrite($fd,"\$eintrag[".$i."][1]=\"".$url."\";");
                     fwrite($fd," ?>");
                     fclose($fd);
                     echo "Eintrag wurde vorgenommen.";
                  }
                    
}

if ($type == "change")
{
        $i = count($eintrag);
        $filename="eintrag.php";
        $fs=fopen($filename,"w");

                 if ($fs)//überprüfen ob datei eingelsen
                    {
                    fwrite($fs,"<?php ");
                    for ($j=0;$j<$i;$j++)
                    {
                        if ($j != $number)
                        {
                         fwrite($fs,"\$eintrag[".$j."][0]=\"".$eintrag[$j][0]."\";");
                         fwrite($fs,"\$eintrag[".$j."][1]=\"".$eintrag[$j][1]."\";");
                        }
                        else
                        {
                            fwrite($fs,"\$eintrag[".$j."][0]=\"".$name."\";");
                            fwrite($fs,"\$eintrag[".$j."][1]=\"".$url."\";");
                        }

                     }
                 fwrite($fs," ?>");
                 fclose($fs);
                 echo "&Auml;nderung wurde vorgenommen.";
               
            
}

if ($type == "delete")
{
        include("eintrag.php");
        $i = count($eintrag);
        $filename="zitate.php";
        $fs=fopen($filename,"w");

               if ($fs)//überprüfen ob datei eingelsen
               {
                 fwrite($fs,"<?php ");
                  for ($j=0;$j<$number;$j++)
                 {
                   fwrite($fs,"\$eintrag[".$j."][0]=\"".$eintrag[$j][0]."\";");
                   fwrite($fs,"\$eintrag[".$j."][1]=\"".$eintrag[$j][1]."\";");
                 }

                 for ($j=$number+1;$j<$i;$j++)
                 {
                   fwrite($fs,"\$eintrag[".($j-1)."][0]=\"".$eintrag[$j][0]."\";");
                   fwrite($fs,"\$eintrag[".($j-1)."][1]=\"".$eintrag[$j][1]."\";");
                 }
                 fwrite($fs," ?>");
                 fclose($fs);
                 echo "Eintrag wurde gel&ouml;scht.";

               }
        }
       }
?>
Für den Eintrag setzt Du einfach hinter deiner URL blabla.php?type=new. Beim Aufruf springt er in die Teil "new" und setzt einen neuen an. Die Variablen nimmt er aus dem Formular.


Hier der Teil für die Liste, Formatierungen mußt du noch hinzufügen, habe für den Adminbereich die Links auch hinzugefügt, musst du natürlich für die Liste auf der Page entfernen.

PHP:
<?php
include("eintrag.php");
$i = count($eintrag);
if ($i == 0)
   { 
      echo "Es sind leider keine Eintr&auml;ge vorhanden."; 
   }
else
   {
     for ($j=0;$j<$i;$j++)
     {
     echo $eintrag[$j][0];
     echo $eintrag[$j][0];
   
echo "<a href='aendern.php?type=change&number=".$j."'>&Auml;ndern<a href='eintrag.php?type=delete&number=".$j".'>L&ouml;schen";
      }
   }
?>

Bei dem Link für Änderungen erstellst du für dich ein Formular wie auf deiner Page, bei dem hängst wie im Link schon zusehen ist in der URL ?typechange&number=1 <je nach dem welcher Eintrag.
 
Zuletzt bearbeitet:
WOW, supi! Ich werde dies hier in den nächsten 2-3 Tagen ausprobieren. Heute komme ich leider nicht dazu. Sobald es funktioniert, melde ich mich. trotzdem erstmal ganz lieben herzlichen Dank!!!!:) :) :)
 
Danke schön!

Ich möchte heute die Gelegenheit nutzen, um mich für die tolle Unterstützung zu bedanken. SirNeo hat Großes geleistet und ich denke, daß gebührt Anerkennung!

Er hat mir ein vorhandenes Script so verändert, daß inzwischen sich beim Absenden des Formulares die Daten an eine andere Seite verschicken.

Dank seiner Hilfe konnte ich das Script für die deutsche Awardszene so aufbereiten, daß es inzwischen in meinem kleinen Downloadcenter zu freien Verfügung steht.

Nochmals recht herzlichen Dank, Bastian!

Und natürlich auch Danke an all die anderen, die sich einen Kopf darüber zerbrochen haben. Tutorials.de hat einen würdigen Platz auf meiner Starseite gefunden! Ich werde bei jeder Gelegenheit dieses Board empfehlen und bei erneuten Fragen erst hierher kommen, denn

hier werden Sie geholfen! :)
 

Neue Beiträge

Zurück