Hilfe

E

elgo

hallo ich habe mir so einen newsletterscript runtergeladen .. der funzt auch ganz gut .. jetzt wollte ich aber noch was modifizieren , aber das klappt nicht .. hoffe auch hilfe

Code:
 goes online again,<br>
        </font> </p>
      <form method="POST" action="<?php echo $PHP_SELF; ?>">
<input type="radio" value="anmelden" checked name="art" size="0"> 
<input type="text" name="email" size="20" maxlength="100" value="eMail" class="textfeld">
<input type="submit" value="send" name="B1" class="button"> 

</form>
</td>
</tr>
</table>
</body>
</html>
<?php
}; // Ende von if: Formular anzeigen
     
     /* Wenn eine E-Mail Adresse übergeben wurde, wird diese in den Verteiler aufgenommen ODER gelöscht */
     if($email){

         /* E-Mail wird aufgenommen, wenn "anmelden" angekreuzt wurde */
         if($art == "anmelden"){
             /* Kontrolle, ob E-Mail schon im Verteiler steht */
             $result = mysql_query("SELECT EMail
                                      FROM Newsletter
                                     WHERE EMail = '$email'
                       ") or error(__LINE__, __FILE__, "Konnte nicht nach E-Mail Adresse suchen", mysql_error());
             if(mysql_num_rows($result) != 0){ die("Die Adresse steht bereits im Verteiler.");}; // Wenn ein Ergebnis zurückgeliefert wird, steht die Adresse bereits in der Datenbank -> die Ausführung des Scripts wird abgebrochen

             $verfall = time() + $tage * 24 * 60 * 60; /* Setzt die Gültigkeit auf x (s. Konfigurationsdatei) Tage  */

             /* Berechne eindeutige Kennung */
	     srand((double)microtime()*1000000);
	     $kennung = md5(uniqid(rand()));
      
             /* Kontrolle, ob $kennung wirklich noch nicht existiert */
             do{
             $result = mysql_query("SELECT *
                                      FROM Newsletter
                                     WHERE Kennung = '$kennung'
                       ") or error(__LINE__, __FILE__, "Konnte nicht nach Kennung suchen", mysql_error());
             if(mysql_num_rows($result) == 0){ $j = 1;} else { $j = 0; srand((double)microtime()*1000000); $kennung = md5(uniqid(rand())); };
             } while ($j == 0); // Wird so lange durchlaufen, bis eine noch nicht vorhandene Kennung erstellt wurde.
             
             /* Adresse wird in den Verteiler aufgenommen */
             mysql_query("INSERT INTO Newsletter (EMail, Kennung, Verfall)
                                      VALUES ('$email', '$kennung', '$verfall')
             ") or error(__LINE__, __FILE__, "Konnte Adresse nicht einfügen", mysql_error());

             /* Damit nicht jemand eine fremde E-Mailadresse in den Verteiler einträgt,
             um ihn zu ärgern, muss nun die E-Mailadresse auf ihre Korrektheit geprüft werden.
             Dazu schreiben wir eine E-Mail an die eingegebene Adresse. Er muss dann
             über einen Link in der E-Mail bestätigen, dass er sich auch wirklich in
             den Verteiler eingetragen hat. Wenn nicht, wird er auch keine E-Mail erhalten
             und dadurch belästigt werden */

und zwar will ich das man sich nur anmelden kann (nicht abmelden) .. wenn ich den radiobutton aber einfach lösche läft die if schleife ja unendlich (oder so) und es funzt net .. wenn ich aber die if schleife lösche das geht das ganze script nicht mehr .. kann mir jemand sagen was genau ich löschen muss um das anmelden (und abmelden) raus zu bekommen.
 
Boah *zurücktaumel*, is ja noch fast dunkel draussen :), kannste den Fehler mal bissl eingrenzen? Son Codehammer am frühen Mittag schmerzt meinem *Brain* :)
 
so ist eigentlich kein fehler drin .. nur will ich den radiobutton (1. fettmakierte) und die dazugehörige aktion (2. fettgedriuckte) löschen wenn ich nur den button lösche funktioniert die if schleife (2. fettgedruckte) nicht mehr .. wenn ich die aber auch lösche .. funzt die ganze php datei nicht mehr ..

kann mir jemand sagen wie ich den radiobutton herausbekomme .. entweder durch löschen .. oder durch umschreiben des scripts
 
Zuletzt bearbeitet von einem Moderator:
quick & dirty würd ich sagen:

schreib den anmelden button um, so dass er nicht mehr sichtbar ist, aber die Variable trotzdem existiert:
<input type="hidden" value="anmelden" name="art" >

Das sollte funzen. :)

Oder hab ich immer noch nicht gepeilt was du machen willst? %)
 
Sauber würde bedeutem, dass du dafür sorgst, dass der Anweisungsblock der if-Abfrage immer ausgeführt wird und nicht mehr von der Checkbox abhängt. Entweder die Beingung so ändern, dass sie immer wahr ist (genauso quick&dirty) oder eben das if(...) und die {} löschen. Dann wird das was im {} Block steht immer ausgeführt, und du kannst die Checkbox löschen.

Hope that helpz

DH
 
Zurück