Formularaktion wird nicht durchgeführt. Gelöst

Gesperrt
Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Formularaktion wird nicht durchgeführt. Gelöst

Beitrag von Freddy »

Hallo,
ich habe ein Registrierungsscript was ausserhalb von Contenido läuft. Jetzt versuche ich es als Modul in Contenido zu integrieren. Mittlerweile habe ich es mit Hilfe von Stony geändert und es funktioniert.
Meine Frage an die Experten, ob sie kurz über das Script schauen können und eventuell sagen könnten was man eleganter und besser machen könnte.

Code: Alles auswählen

<?php

ob_start();

// DB-Verbindung konfigurieren
$cfg["tab"]["teilnehmer"] = $cfg['sql']['sqlprefix']."_event_teilnehmer";

$db = new DB_Contenido;

session_start();


foreach ($_POST as $key => $value) {
    $$key = $value;
}

$formular_anzeigen='ja';

if($registrieren){

    $sql = 'SELECT * FROM '.$cfg["tab"]["teilnehmer"].' WHERE nickname = \''.$nickname.'\'';
    $frage = mysql_query($sql);
    $ergebnis = mysql_fetch_array($frage);


    if($nickname == '' || $usernachname == '' || $uservorname == '' || $email == '' || $passwort == '' || $passwort2 == ''){
        echo '<center>Es wurden nicht alle Felder ausgefüllt.</center><br>';
    }elseif ($ergebnis[user_id]!=''){
        echo '<center>Der Nickname ist schon vergeben. Bitte nehmen Sie einen anderen.</center><br>';
    }elseif ($passwort!=$passwort2){
        echo '<center>Die Passwörter stimmen nich überein.</center><br>';
    }else{

        $sql = 'SELECT * FROM '.$cfg["tab"]["teilnehmer"].' WHERE email = \''.$email.'\'';
        $frage = mysql_query($sql);
        $ergebnis = mysql_fetch_array($frage);

        if ($ergebnis[user_id]!=''){
            echo '<center>Die EMail-Adresse ist schon vergeben. Sie können ein neues <a href="passwort_vergessen.php">Passwort anfordern</a>, wenn Sie Ihres vergessen haben.</center><br>';
        }else{
            $passwort = md5($passwort);
            $sql = 'INSERT INTO '.$cfg["tab"]["teilnehmer"].' VALUES (\'\', \''.$nickname.'\', \''.$usernachname.'\', \''.$uservorname.'\', \''.$email.'\', \''.$passwort.'\', \'nein\')';
            $frage = mysql_query($sql);
            echo '<center>Sie wurden registriert und können sich jetzt einloggen.</center>';
            $formular_anzeigen='nein';
        }
    }
}

if($formular_anzeigen=='ja'){

?>

<form method="post" action="<?php echo $_SERVER[PHP_SELF].'?'.$_SERVER[QUERY_STRING]; ?>">
<table border="0" align="center">
  <tr>
    <td>
      Nickname
    </td>
    <td>
      <input type="text" name="nickname" value="<?php echo $nickname; ?>">
    </td>
  </tr>
  <tr>
    <td>
      Name
    </td>
    <td>
      <input type="text" name="usernachname" value="<?php echo $usernachname; ?>">
    </td>
  </tr>
  <tr>
    <td>
      Vorname
    </td>
    <td>
      <input type="text" name="uservorname" value="<?php echo $uservorname; ?>">
    </td>
  </tr>
  <tr>
    <td>
      EMail
    </td>
    <td>
      <input type="text" name="email" value="<?php echo $email; ?>">
    </td>
  </tr>
  <tr>
    <td>
      Passwort
    </td>
    <td>
      <input type="password" name="passwort">
    </td>
  </tr>
  <tr>
    <td>
      Passwort wiederholen &nbsp;
    </td>
    <td>
      <input type="password" name="passwort2">
    </td>
  </tr>
  <tr>
    <td align="center" colspan="2">
      <input type="submit" name="registrieren" value=" Registrieren ">
    </td>
  </tr>
</table>
</form>

<?php

}

?>
Zuletzt geändert von Freddy am Di 7. Nov 2006, 12:09, insgesamt 4-mal geändert.
MichFress
Beiträge: 750
Registriert: Mo 5. Jan 2004, 22:32
Wohnort: Bochum
Kontaktdaten:

Beitrag von MichFress »

versuch mal $_SERVER['PHP_SELF'] statt $PHP_SELF
"Es wird keine Handlung geben, keine Geschichte mit ihrer Versprechung auf einen Anfang und ihrer Hoffnung auf ein Ende." (Andrzej Stasiuk)
Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy »

Danke für den Tipp. Geht leider trotzdem noch nicht.
Zuletzt geändert von Freddy am Di 7. Nov 2006, 12:02, insgesamt 1-mal geändert.
Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy »

Ich bin am verzweifeln. Bin für jeden Tipp sehr dankbar. Weiß nicht wie ich den PHP-Code anpassen muß das er im Modul läuft. Ausserhalb funktioniert es.
stony
Beiträge: 360
Registriert: Di 10. Jun 2003, 09:02
Wohnort: Berlin
Kontaktdaten:

Beitrag von stony »

schreib doch einfach direkt in die action die idart des artikels z.b. front_content.php?idart=idartdesartikels

greez stony
Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy »

Habe ich gemacht, funktioniert aber leider nicht.
Zuletzt geändert von Freddy am Di 7. Nov 2006, 12:02, insgesamt 1-mal geändert.
stony
Beiträge: 360
Registriert: Di 10. Jun 2003, 09:02
Wohnort: Berlin
Kontaktdaten:

Beitrag von stony »

ist der artikel auch online?
Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy »

stony hat geschrieben:ist der artikel auch online?
Ja klar. Ich fülle ja die Daten aus und möchte dann mit dem Button die Daten in Datenbank speichern. Ich glaube mittlerweile das es auch nicht unbedingt was mit action zu tun haben muss.
stony
Beiträge: 360
Registriert: Di 10. Jun 2003, 09:02
Wohnort: Berlin
Kontaktdaten:

Beitrag von stony »

kann man sich die seite ansehen?
Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy »

stony hat geschrieben:kann man sich die seite ansehen?
Gerne, die Seite mit diesem Modul befindet sich unter http://www.h2oski.de/cms/front_content.php?idart=177
Benutze eigentlich Mod Rewrite habe es aber sicherheitshalber ausgeschaltet um Fehlerquellen auszuschließen.
stony
Beiträge: 360
Registriert: Di 10. Jun 2003, 09:02
Wohnort: Berlin
Kontaktdaten:

Beitrag von stony »

ok habe es gefunden.

Contenido scheint sich dazwischen zu hängen wenn du einem input feld den namen="username" zuweißt.

also einfach in usersname umbennen und es sollte funktionieren!
Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy »

stony hat geschrieben:ok habe es gefunden.

Contenido scheint sich dazwischen zu hängen wenn du einem input feld den namen="username" zuweißt.

also einfach in usersname umbennen und es sollte funktionieren!
Danke es funktioniert. Weiß garnicht wie ich Dir danken soll. :D
Habe den korrigierten Code am Anfang wieder gepostet.
Zuletzt geändert von Freddy am Di 7. Nov 2006, 12:05, insgesamt 2-mal geändert.
stony
Beiträge: 360
Registriert: Di 10. Jun 2003, 09:02
Wohnort: Berlin
Kontaktdaten:

Beitrag von stony »

ach naja mir fällt da schon einiges ein :D
Gesperrt