Was mach ich falsch...

Diskutiere Was mach ich falsch... im Web & Grafik Forum im Bereich Internet & Telekomunikation Forum; Ich brauch eure Hilfe: Hab ein eingeabeformular gamacht: Name,Postleitzahl,Wohnort,Email passt alles jedoch wird dann in der liste unter Name die...
  • Was mach ich falsch... Beitrag #1
techno_master

techno_master

Bekanntes Mitglied
Dabei seit
26.08.2004
Beiträge
1.630
Reaktionspunkte
0
Ort
Wien
Ich brauch eure Hilfe:
Hab ein eingeabeformular gamacht: Name,Postleitzahl,Wohnort,Email passt alles jedoch wird dann in der liste unter Name die postleitzahl und unter email der wohnort angezeigt

anschauen könnt ihrs hier:
www.iv-klement.at/liste.php

was mach ich falsch? wo ist der hund begraben?

der Quellcode:

<?
#Wie heißt diese Datei?
$script="liste.php";


if ($liste) { liste();}
elseif ($okay) { okay($name, $mail, $postleitzahl, $wohnort, $script);}
else { eintragen($script);}

function eintragen($script)
{
?>
<p>Tragen Sie sich in die Liste ein!</p>
<center><form method=post action=<? echo $script; ?>?okay=yes>
Name: <input type=text name=name>
E-Mail:
<input type=text name=mail />
<br>

Postleitzahl:
<input type=text name=postleitzahl>
Wohnort:
<input type=text name=wohnort />
<br>
<p><input type=submit value=Eintragen></p></form>

<form method=post action=<? echo $script; ?>?liste=yes>
<p><input type=submit value="Liste anzeigen"></p></form>
</center>
<?
}

function liste()
{
?>
<center><p>Folgende Leute haben sich eingetragen:</p>
<table align=center cellspacing=1 border=0 cellpadding=5>
<tr><td><b>Name:</b></td><td><b>E-Mail:</b></td><td><b>Postleitzahl:</b></td><td><b>Wohnort:</b></td></tr>
<?
$datei = fopen("liste.txt", "r");
while (!feof($datei)) {
$zeile = fgets($datei,100);
$data = explode("|", $zeile);
echo "<tr><td>$data[0]</td><td>$data[1]</td><td>$data[2]</td><td>$data[3]</td></tr>";
}
fclose ($datei);
?>
</table>
</p></form><p>&nbsp;</p>
</center>
<?
}

function okay($name, $mail, $script)
{
$datei = fopen("liste.txt", "a");
fwrite ($datei, $name."|".$mail."|".$postleitzahl."|".$wohnort."\n");
fclose ($datei);
?>
<center>Sie haben sich erfolgreich in die Liste eingetragen!<br>
<p><form method=post action=<? echo $script; ?>?liste=yes><input type=submit value="Liste anzeigen"></form></p>
</p></form><p>&nbsp;</p>
</center>
<?
}
?>
 
  • Was mach ich falsch... Beitrag #2
W

Wartos

Bekanntes Mitglied
Dabei seit
17.07.2001
Beiträge
767
Reaktionspunkte
0
Ort
04552
... bin noch am schauen, aber als erstes ist mir aufgefallen, dass du 4 Werte an "okay" übergibst, aber nur 3 annimmst, wobei du die Variable $script in der Funktion garnicht verwendest.

Übrigens eigenartiger Schreibstil, immer <?bla?>bla<?bla?>.... naja, solange es funktioniert ist es ok...
 
  • Was mach ich falsch... Beitrag #3
techno_master

techno_master

Bekanntes Mitglied
Dabei seit
26.08.2004
Beiträge
1.630
Reaktionspunkte
0
Ort
Wien
Wartos schrieb:
... bin noch am schauen, aber als erstes ist mir aufgefallen, dass du 4 Werte an "okay" übergibst, aber nur 3 annimmst, wobei du die Variable $script in der Funktion garnicht verwendest.

Übrigens eigenartiger Schreibstil, immer <?bla?>bla<?bla?>.... naja, solange es funktioniert ist es ok...
okay ich glaube ich sollt das pfuschen lassen uns sagen:
dass ich das script aus einem fertigen script übernommen hab weil ich mich nicht wirklich mit php auskenne und hab dann einfach das postleitzahl und wohnort übernommen und fang mit den was du mir gepostet hast leider nix an danke trotzdem für deinen versuch und hilf mir bitte weiter zum original script postleitzahl und wohnort hinzuzufügen weiteres hätt ich mir vorgestelt das ein "name(email...) bereits vorhanden" feature und ein automatischer zähler es sind ?? unterschriften vorhanden script intekriert werden....



original script:
<?
#Wie heißt diese Datei?
$script="liste.php";


if ($liste) { liste();}
elseif ($okay) { okay($name, $mail, $script);}
else { eintragen($script);}

function eintragen($script)
{
?>
<p>Tragen Sie sich in die Liste ein!</p>
<center><form method=post action=<? echo $script; ?>?okay=yes>
Name: <input type=text name=name><br>
E-Mail: <input type=text name=mail>

<p><input type=submit value=Eintragen></p></form>

<form method=post action=<? echo $script; ?>?liste=yes>
<p><input type=submit value="Liste anzeigen"></p></form><p><font size=-1>&copy; 2002 by <a href=http://www.schielkes.net target=_blank>Schielkes.net</a></font></p></center>
<?
}

function liste()
{
?>
<center><p>Folgende Leute haben sich eingetragen:</p>
<table align=center cellspacing=1 border=0 cellpadding=5>
<tr><td><b>Name:</b></td><td><b>E-Mail:</b></td></tr>
<?
$datei = fopen("liste.txt", "r");
while (!feof($datei)) {
$zeile = fgets($datei,100);
$data = explode("|", $zeile);
echo "<tr><td>$data[0]</td><td>$data[1]</td></tr>";
}
fclose ($datei);
?>
</table>
</p></form><p><font size=-1>&copy; 2002 by <a href=http://www.schielkes.net target=_blank>Schielkes.net</a></font></p></center>
<?
}

function okay($name, $mail, $script)
{
$datei = fopen("liste.txt", "a");
fwrite ($datei, $name."|".$mail."\n");
fclose ($datei);
?>
<center>Sie haben sich erfolgreich in die Liste eingetragen!<br>
<p><form method=post action=<? echo $script; ?>?liste=yes><input type=submit value="Liste anzeigen"></form></p>
</p></form><p><font size=-1>&copy; 2002 by <a href=http://www.schielkes.net target=_blank>Schielkes.net</a></font></p></center>
<?
}
?>
 
  • Was mach ich falsch... Beitrag #4
W

Wartos

Bekanntes Mitglied
Dabei seit
17.07.2001
Beiträge
767
Reaktionspunkte
0
Ort
04552
Hm, heute wird das nix mehr, muß jetzt erstmal los und bin nicht vor 22:00 @ home. Ich versuche morgen nochmal drüber zu schauen wenn ich Zeit habe. Erinnere mich notfalls nochmal dran ;-)

Scheint ja nix kompliziertes zu sein.
 
  • Was mach ich falsch... Beitrag #5
futtlui

futtlui

Bekanntes Mitglied
Dabei seit
21.01.2003
Beiträge
10.439
Reaktionspunkte
2
jedenfalls ist das was Du gepostet hast nicht das was Du verlinkt hast, denn dort gibt's das Eingabefeld Vorname und in der Ausgabetabelle auch. Vielleicht liegt's daran...
 
  • Was mach ich falsch... Beitrag #6
techno_master

techno_master

Bekanntes Mitglied
Dabei seit
26.08.2004
Beiträge
1.630
Reaktionspunkte
0
Ort
Wien
futtlui schrieb:
jedenfalls ist das was Du gepostet hast nicht das was Du verlinkt hast, denn dort gibt's das Eingabefeld Vorname und in der Ausgabetabelle auch. Vielleicht liegt's daran...
nein das ist gar nicht das problem aber vorname und so werden unter der falschen kategorie angezeigt (unter email oder so) und wohnort wird gar nicht angezeigt in der tabelle..
futtlui schrieb:
jedenfalls ist das was Du gepostet hast nicht das was Du verlinkt hast, denn dort gibt's das Eingabefeld Vorname und in der Ausgabetabelle auch. Vielleicht liegt's daran...
 
  • Was mach ich falsch... Beitrag #7
futtlui

futtlui

Bekanntes Mitglied
Dabei seit
21.01.2003
Beiträge
10.439
Reaktionspunkte
2
techno_master schrieb:
aber vorname und so werden unter der falschen kategorie angezeigt (unter email oder so) und wohnort wird gar nicht angezeigt
Na das ist doch das eingangs beschriebene Problem oder kapier ich's nicht?
 
  • Was mach ich falsch... Beitrag #8
W

Wartos

Bekanntes Mitglied
Dabei seit
17.07.2001
Beiträge
767
Reaktionspunkte
0
Ort
04552
Ich bin gerade am werkeln, stehe aber noch vor einem eigenartigen Problem.
 
  • Was mach ich falsch... Beitrag #9
W

Wartos

Bekanntes Mitglied
Dabei seit
17.07.2001
Beiträge
767
Reaktionspunkte
0
Ort
04552
So, das schein erstmal brauchbar zu sein:
PHP:
<?
//Wie heisst diese Datei?
$script="liste.php";
$liste="liste.txt";

// Ich fasse alle Uebergebenen Werte zu einem Array zusammen. 
// Ist zwar nicht unbedingt noetig, aber das erleichtert mir spaeter sie Arbeit.
$array=array  (    "NAME"         => $_POST[name],
                "VORNAME"    => $_POST[vorname],
                "MAIL"        => $_POST[mail],
                "PLZ"        => $_POST[plz],
                "WOHNORT"    => $_POST[wohnort]
                );


if ($_POST[aktion]=="Eintragen") 
    {
    // ich uebergebe den Array und den Namen der Scriptdatei
    schreiben ($array,$script,$liste);
    }
elseif ($_POST[aktion]=="Liste anzeigen")
    {
    liste ($script,$liste);
    }
else { formular($script);}







function formular($script)
  {
  echo 'Tragen Sie sich in die Liste ein!
    <form method="post" action='.$script.'>
      <table>
        <tr>
          <td>Name:</td>

          <td><input type="text" name="name"></td>
        </tr>

        <tr>
          <td>Vorname:</td>

          <td><input type="text" name="vorname"></td>
        </tr>

        <tr>
          <td>E-Mail:</td>

          <td><input type="text" name="mail"></td>
        </tr>

        <tr>
          <td>Postleitzahl:</td>

          <td><input type="text" name="plz"></td>
        </tr>

        <tr>
          <td>Wohnort:</td>

          <td><input type="text" name="wohnort"></td>
        </tr>

        <tr>
          <td colspan="2"><input type="submit" name="aktion" value="Eintragen"><br>
          <input type=submit name="aktion" value="Liste anzeigen"></td>
        </tr>
      </table>
    </form>';    
}





function liste($script,$liste)
{
echo '
    <p style="text-align:center">Folgende Leute haben sich eingetragen:</p>
    <table cellspacing=1 border=0 cellpadding=5>
    <tr><td><b>Name</b></td><td><b>Vorname</b></td><td><b>E-Mail</b></td><td><b>PLZ</b></td><td><b>Wohnort</b></td></tr>';
if (file_exists($liste))
    {
    $datei = fopen($liste, "r");
    while (!feof($datei)) 
        {
        $zeile = fgets($datei,1000);
        $data = explode("|", $zeile);
        
        $laenge = count ($data);
        echo '<tr>';
        for ($x=0;$x<$laenge;$x++)
                    {
                    echo '<td>'.$data[$x].'</td>';
                    }
            echo '</tr>';
        
        }
    fclose ($datei);
        }
else 
    {
    echo '</table>'.$liste.' konnte nicht gefunden werden';
    }
echo '</table>
<form method=post action='.$script.'>
<input type=submit name="aktion" name="aktion" value="Zur&uuml;ck">
</form>';

}





function schreiben($array, $script, $liste)
{
//zaehlt wieviele Elemente der Array hat
$laenge = count ($array);

//Es werden mit htmlentities alle HTML-Zeichen "entschaerft", so dass sie nur noch ausgegeben, nicht aber interpretiert werden koennen.
//Zudem werden Leerzeichen am Anfang und Ende der Eingabe entfernt
//Das steht in einer Schleife, weil ich den Code sonst zig mal schreiben mte
//Die Anzahl der Durchlaeue steht in $laenge
for ($x=0;$x<$lange;$x++)
    {
    $array[$x]=trim(htmlentities($array[$x]));
    }
    
// a+ weil die datei dann erstellt wird, falls sie nicht existiert
$datei = fopen($liste, "a+");

// baue Zeile zum eintragen zusammen
$zeile=$array[NAME].'|'.$array[VORNAME].'|'.$array[MAIL].'|'.$array[PLZ].'|'.$array[WOHNORT]."\r\n";
fwrite ($datei, $zeile);
fclose ($datei);

echo '
<p style="text-align:center">Sie haben sich erfolgreich in die Liste eingetragen!<br>
<form method=post action='.$script.'>
<input type=submit name="aktion" value="Liste anzeigen">
</form></p>';
}



echo '<center><p><font size=-1>&copy; 2002 by <a href=http://www.schielkes.net target=_blank>Schielkes.net</a></font></p></center>';
?>

Mit der Mailaddi-schon-vorhanden-Funktion wird es schwierig, das wäre mit einer Datenbankanbindung einfacher zu realisieren.

Der Zähler, hm, entweder ich lasse die Zeilen fortlaufend nummerieren, oder ich könnte die Nummer auch unten hin schreiben.
 
Zuletzt bearbeitet:
  • Was mach ich falsch... Beitrag #10
techno_master

techno_master

Bekanntes Mitglied
Dabei seit
26.08.2004
Beiträge
1.630
Reaktionspunkte
0
Ort
Wien
boah du bist echt toll :res: die zeilen fortlaufend in absteigender reihenfolge nummerieren wär das ultiamtion... danke echt voll :res:
 
  • Was mach ich falsch... Beitrag #11
techno_master

techno_master

Bekanntes Mitglied
Dabei seit
26.08.2004
Beiträge
1.630
Reaktionspunkte
0
Ort
Wien
das funktioniert sogar verdammt geil ;) echt :res:
www.iv-klement.at/vote bin ich das mit inframe ein :victory:
 
  • Was mach ich falsch... Beitrag #12
techno_master

techno_master

Bekanntes Mitglied
Dabei seit
26.08.2004
Beiträge
1.630
Reaktionspunkte
0
Ort
Wien
und was jetzt schon wieder los?
beim enbetten in die vote.html seite wird die liste.php nicht angezeigt: ihr browser kann keine inframes anzeigen....
obowohl opera und internet explorer (mit den beiden getestet) dies normal doch können:


HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- DW6 -->
<head>
<!-- Copyright 2005 Macromedia, Inc. All rights reserved. -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Initiative Klement</title>
<meta name="robots" content="index">
<meta name="keywords" content="IVK, Biondek, Biondekgasse, Professor, Lehrer, Schüler, kämpfen, Gymnasium, Baden, Initiative, Kampagne, Prof, Loot, loot!, schule, unterricht, methoden, landesschulrat, nö, niederösterreich, gefeuert, unrecht, gekündigt, entlassen, iv, klement, stefan, magister, mag, österreich">
<meta name="description" content="Schüler kämpfen um einen entlassenen Lehrer">
<meta NAME="Copyright" CONTENT="www.iv-klement.at">
<meta NAME="Author" CONTENT="www.iv-klement.at">
<meta NAME="Subject" CONTENT="IVK">
<meta NAME="Language" CONTENT="DE">
    <script type="text/javascript" src="/Script/Main.js">
    </script>
<link rel="stylesheet" href="http://www.iv-klement.at/3col_leftNav.css" type="text/css" />
</head>
<body>
<div id="masthead">
  <h1 id="siteName">Initiative Klement </h1>
  <div id="globalNav"> <a href="#">Shortnews:</a><a href="#">Neue HP Online </a> | <a href="#">600 Unterschriften </a> | <a href="http://www.iv-klement.at/downloads">Downloadsection online </a>| <a href="http://www.iv-klement.at/archiv">Archiv</a> </div>
  <h2 id="pageName">Gib uns deine Stimme! </h2>
  <div id="breadCrumb"></div>
</div>
<div id="navBar">
  <div id="search"></div>
  <div id="sectionLinks">
    <h3>Men&uuml;</h3>
    <ul>
      <li><a href="http://www.iv-klement.at/vote">Unterst&uuml;tze uns </a></li>
      <li><a href="http://www.iv-klement.at/ziele">Ziele</a></li>
      <li><a href="http://www.iv-klement.at/downloads">Downloads</a></li>
      <li><a href="http://www.iv-klement.at/kommentare">Kommentare</a></li>
      <li><a href="http://www.iv-klement.at/gewalt">Gewalt an Schulen </a></li>
    </ul>
    <ul>
      <li><a href="http://www.iv-klement.at/links">Links </a></li>
      <li><a href="http://www.iv-klement.at/impressum">Impressum</a></li>
    </ul>
  </div>
  <div class="relatedLinks">
    <h3>Shortlinks</h3>
    <ul>
      <li><a href="http://www.iv-klement.at/shortgruende">Offiziele Gr&uuml;nde</a></li>
      <li><a href="http://www.iv-klement.at/shortziele">Ziele der IVK </a></li>
      <li><a href="http://www.iv-klement.at/shortwarum">IVK - Warum? </a></li>
      <li><a href="http://www.iv-klement.at/shortakionen">Aktionen</a></li>
      <li><a href="http://www.iv-klement.at/mitglieder">Mitgliederbereich</a></li>
    </ul>
  </div>
  <div class="relatedLinks">
    <h3>Medien</h3>
    <ul>
      <li><a href="http://www.iv-klement.at/medienberichte">Berichte</a></li>
      <li><a href="http://www.iv-klement.at/medieninformationen">Informationen</a></li>
    </ul>
  </div>
</div>
<!--end navBar div -->
<div id="headlines">
  <h3> Partner</h3>
  <h3>&nbsp;</h3>
  <h3><a href="http://www.schule-ohne-rassismus.org/"><img src=http://www.gewalt-an-schulen.de/images/other_sites/courage.gif width="143" height="64" border="0" /></a>&nbsp;</h3>
  <p>F&uuml;r Toleranz und Menschenachtung</p>
  <p> <a href="http://www.aspelin.com/lichtermeer/"><img src=http://www.iv-klement.at/candle.gif border="0" /></a></p>
  <h3><a href="#"></a><a href="http://www.heise.de/ct/Netz_gegen_Kinderporno/default.shtml"><img src="http://www.iv-klement.at/netz.gif" alt="Netz gegen Kinderpornographie" border="0"/></a><a href="http://www.web-gegen-rechts.de/" target=_blank>
  <img src="http://www.web-gegen-rechts.de/images/wgr50.gif"
width=50 height=50 alt="Web-gegen-Rechts.de" border=0>
  </a>  </h3>
  <script type="text/javascript"><!--
google_ad_client = "pub-7254699961383183";
google_ad_width = 125;
google_ad_height = 125;
google_ad_format = "125x125_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "CCCCCC";
google_color_bg = "FFFFFF";
google_color_link = "000000";
google_color_url = "666666";
google_color_text = "333333";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
  

</div>
<!--end headlines -->
<div id="content">
  <div class="feature"><img src="http://www.iv-klement.at/iv.jpg" alt="underconstruction" width="152" height="85" longdesc="http://www.iv-klement.at/under-construction.gif" />
    <h3>Unterst&uuml;tze uns - JETZT! </h3>
    <p>Es gibt 2 einfache Wege uns zu unterst&uuml;tzen: Gebe deine <strong>Unterst&uuml;tzungserkl&auml;rung ONLINE RUND UM DIE UHR AB</strong> oder <strong>BEITEILIGE DICH AN UNSERER UNTERSCHRIFTENSAMMELAKTION</strong>, in der Biondekgasse Baden </p>
  </div>
  <div class="story">
 [COLOR="Red"]   <h3>Online Unterstützungserklärungen abgeben:</h3>
    <p>&nbsp;</p>
    <iframe src="http://www.iv-klement.at/liste.php" name="Vote for Klement" width="90%" height="400">
  <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:
  Sie k&ouml;nnen die eingebettete Seite &uuml;ber den folgenden Verweis
  aufrufen: <a href="http://www.iv-klement.at/liste.php">SELFHTML</a></p>
</iframe>[/COLOR]

    <h3>&nbsp;</h3>
    </p>
  </div>
  <div class="story">
    <h3>Unterschriftenaktion in der Biondekgasse Baden: </h3>
    <p>Ab jetzt: Besser geplanter ablauf unserer Sammelaktion!</p>
    <p>N&auml;here Infos folgen... 
    <h3>&nbsp;</h3>
    <p align="center">&nbsp;</p>
  </div>
</div>
<!--end content -->
<div id="siteInfo"><a href="#"></a>| <a href="mailto:[email protected]">Kontakt</a> | &copy;2006 Initiative Klement </div>
<br />
</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
  • Was mach ich falsch... Beitrag #13
futtlui

futtlui

Bekanntes Mitglied
Dabei seit
21.01.2003
Beiträge
10.439
Reaktionspunkte
2
ich hoffe es war in deinem Sinne, dass ich aus dem Spoiler-Tag HTML gemacht hab - dann braucht man nicht klicken, um es zu lesen.
Bitte nimm zukünftig
code.gif
oder
html.gif
, und nicht
spoiler.gif

;)

[EDIT]
Bei mir (Firefox + IE6) wird übrigens alles korrekt angezeigt (mal davon abgesehen, dass iframes nicht unbedingt die beste Lösung sind)
 
  • Was mach ich falsch... Beitrag #14
techno_master

techno_master

Bekanntes Mitglied
Dabei seit
26.08.2004
Beiträge
1.630
Reaktionspunkte
0
Ort
Wien
ja das frame wird jetzt angezeigt k.A. warum ja das mit den html tags und den spoiler hab ich verwechselt...
 
  • Was mach ich falsch... Beitrag #15
techno_master

techno_master

Bekanntes Mitglied
Dabei seit
26.08.2004
Beiträge
1.630
Reaktionspunkte
0
Ort
Wien
  • Was mach ich falsch... Beitrag #16
futtlui

futtlui

Bekanntes Mitglied
Dabei seit
21.01.2003
Beiträge
10.439
Reaktionspunkte
2
klar, das array, das beim eintragen verwendet wird ist ja ein anderes als beim auslesen - kannst Du problemlos erweitern.
 
  • Was mach ich falsch... Beitrag #17
techno_master

techno_master

Bekanntes Mitglied
Dabei seit
26.08.2004
Beiträge
1.630
Reaktionspunkte
0
Ort
Wien
und welchen code muss ich da einsetzen?
 
Thema:

Was mach ich falsch...

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben